Thread: [Vice-emu-commit] SF.net SVN: vice-emu:[19697] trunk/vice/src/monitor
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
From: <no...@us...> - 2008-11-23 16:50:04
|
Revision: 19697 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=19697&view=rev Author: nojoopa Date: 2008-11-23 16:49:59 +0000 (Sun, 23 Nov 2008) Log Message: ----------- Added support for recursion in monitor playback/load_labels Modified Paths: -------------- trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.y trunk/vice/src/monitor/monitor.c trunk/vice/src/monitor/montypes.h Modified: trunk/vice/src/monitor/mon_parse.c =================================================================== --- trunk/vice/src/monitor/mon_parse.c 2008-11-23 14:46:15 UTC (rev 19696) +++ trunk/vice/src/monitor/mon_parse.c 2008-11-23 16:49:59 UTC (rev 19697) @@ -934,29 +934,29 @@ 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, - 238, 240, 242, 244, 246, 249, 251, 253, 256, 262, - 268, 270, 272, 274, 276, 278, 280, 282, 286, 293, - 292, 295, 297, 299, 303, 305, 307, 309, 311, 313, - 315, 317, 319, 321, 323, 325, 327, 329, 331, 333, - 335, 337, 339, 341, 345, 350, 355, 361, 367, 372, - 374, 376, 378, 383, 385, 387, 389, 391, 393, 395, - 397, 399, 403, 405, 410, 412, 430, 432, 434, 438, - 440, 442, 444, 446, 448, 450, 452, 454, 456, 458, - 460, 462, 464, 466, 468, 470, 472, 474, 479, 481, - 483, 485, 487, 489, 491, 493, 495, 497, 499, 501, - 503, 507, 509, 511, 515, 517, 521, 525, 528, 529, - 532, 533, 536, 537, 540, 541, 544, 545, 548, 549, - 552, 556, 557, 560, 561, 564, 565, 567, 571, 572, - 575, 580, 585, 595, 596, 599, 600, 601, 602, 603, - 606, 608, 610, 611, 612, 613, 614, 615, 616, 619, - 624, 626, 628, 630, 634, 640, 648, 649, 652, 653, - 656, 657, 660, 661, 662, 665, 666, 669, 670, 671, - 672, 675, 676, 677, 680, 681, 682, 683, 684, 687, - 688, 689, 692, 702, 703, 706, 710, 715, 720, 725, - 727, 729, 731, 732, 733, 734, 735, 736, 737, 739, - 741, 743, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 763 + 238, 240, 242, 244, 246, 249, 251, 253, 256, 261, + 266, 268, 270, 272, 274, 276, 278, 280, 284, 291, + 290, 293, 295, 297, 301, 303, 305, 307, 309, 311, + 313, 315, 317, 319, 321, 323, 325, 327, 329, 331, + 333, 335, 337, 339, 343, 348, 353, 359, 365, 370, + 372, 374, 376, 381, 383, 385, 387, 389, 391, 393, + 395, 397, 401, 403, 408, 410, 428, 430, 432, 436, + 438, 440, 442, 444, 446, 448, 450, 452, 454, 456, + 458, 460, 462, 464, 466, 468, 470, 472, 477, 479, + 481, 483, 485, 487, 489, 491, 493, 495, 497, 499, + 501, 505, 507, 509, 513, 515, 519, 523, 526, 527, + 530, 531, 534, 535, 538, 539, 542, 543, 546, 547, + 550, 554, 555, 558, 559, 562, 563, 565, 569, 570, + 573, 578, 583, 593, 594, 597, 598, 599, 600, 601, + 604, 606, 608, 609, 610, 611, 612, 613, 614, 617, + 622, 624, 626, 628, 632, 638, 646, 647, 650, 651, + 654, 655, 658, 659, 660, 663, 664, 667, 668, 669, + 670, 673, 674, 675, 678, 679, 680, 681, 682, 685, + 686, 687, 690, 700, 701, 704, 708, 713, 718, 723, + 725, 727, 729, 730, 731, 732, 733, 734, 735, 737, + 739, 741, 743, 744, 745, 746, 747, 748, 749, 750, + 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, + 761 }; #endif @@ -2577,196 +2577,194 @@ #line 257 "mon_parse.y" { /* What about the memspace? */ - playback = TRUE; playback_name = (yyvsp[(4) - (5)].str); - /*mon_load_symbols($2, $3);*/ + mon_playback_init((yyvsp[(4) - (5)].str)); } break; case 49: -#line 263 "mon_parse.y" +#line 262 "mon_parse.y" { /* What about the memspace? */ - playback = TRUE; playback_name = (yyvsp[(2) - (3)].str); - /*mon_load_symbols($2, $3);*/ + mon_playback_init((yyvsp[(2) - (3)].str)); } break; case 50: -#line 269 "mon_parse.y" +#line 267 "mon_parse.y" { mon_save_symbols((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 51: -#line 271 "mon_parse.y" +#line 269 "mon_parse.y" { mon_save_symbols(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 52: -#line 273 "mon_parse.y" +#line 271 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(2) - (5)].a), (yyvsp[(4) - (5)].str)); } break; case 53: -#line 275 "mon_parse.y" +#line 273 "mon_parse.y" { mon_remove_name_from_symbol_table(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 54: -#line 277 "mon_parse.y" +#line 275 "mon_parse.y" { mon_remove_name_from_symbol_table((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 55: -#line 279 "mon_parse.y" +#line 277 "mon_parse.y" { mon_print_symbol_table((yyvsp[(2) - (3)].i)); } break; case 56: -#line 281 "mon_parse.y" +#line 279 "mon_parse.y" { mon_print_symbol_table(e_default_space); } break; case 57: -#line 283 "mon_parse.y" +#line 281 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(3) - (4)].a), mon_prepend_dot_to_name((yyvsp[(1) - (4)].str))); } break; case 58: -#line 287 "mon_parse.y" +#line 285 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(3) - (5)].a), mon_prepend_dot_to_name((yyvsp[(1) - (5)].str))); } break; case 59: -#line 293 "mon_parse.y" +#line 291 "mon_parse.y" { mon_start_assemble_mode((yyvsp[(2) - (2)].a), NULL); } break; case 60: -#line 294 "mon_parse.y" +#line 292 "mon_parse.y" { } break; case 61: -#line 296 "mon_parse.y" +#line 294 "mon_parse.y" { mon_start_assemble_mode((yyvsp[(2) - (3)].a), NULL); } break; case 62: -#line 298 "mon_parse.y" +#line 296 "mon_parse.y" { mon_disassemble_lines((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1]); } break; case 63: -#line 300 "mon_parse.y" +#line 298 "mon_parse.y" { mon_disassemble_lines(BAD_ADDR, BAD_ADDR); } break; case 64: -#line 304 "mon_parse.y" +#line 302 "mon_parse.y" { mon_memory_move((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1], (yyvsp[(4) - (5)].a)); } break; case 65: -#line 306 "mon_parse.y" +#line 304 "mon_parse.y" { mon_memory_compare((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[0], (yyvsp[(4) - (5)].a)); } break; case 66: -#line 308 "mon_parse.y" +#line 306 "mon_parse.y" { mon_memory_fill((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1],(unsigned char *)(yyvsp[(4) - (5)].str)); } break; case 67: -#line 310 "mon_parse.y" +#line 308 "mon_parse.y" { mon_memory_hunt((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1],(unsigned char *)(yyvsp[(4) - (5)].str)); } break; case 68: -#line 312 "mon_parse.y" +#line 310 "mon_parse.y" { mon_memory_display((yyvsp[(2) - (5)].rt), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], DF_PETSCII); } break; case 69: -#line 314 "mon_parse.y" +#line 312 "mon_parse.y" { mon_memory_display(default_radix, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_PETSCII); } break; case 70: -#line 316 "mon_parse.y" +#line 314 "mon_parse.y" { mon_memory_display(default_radix, BAD_ADDR, BAD_ADDR, DF_PETSCII); } break; case 71: -#line 318 "mon_parse.y" +#line 316 "mon_parse.y" { mon_memory_display_data((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], 8, 8); } break; case 72: -#line 320 "mon_parse.y" +#line 318 "mon_parse.y" { mon_memory_display_data(BAD_ADDR, BAD_ADDR, 8, 8); } break; case 73: -#line 322 "mon_parse.y" +#line 320 "mon_parse.y" { mon_memory_display_data((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], 24, 21); } break; case 74: -#line 324 "mon_parse.y" +#line 322 "mon_parse.y" { mon_memory_display_data(BAD_ADDR, BAD_ADDR, 24, 21); } break; case 75: -#line 326 "mon_parse.y" +#line 324 "mon_parse.y" { mon_memory_display(0, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_PETSCII); } break; case 76: -#line 328 "mon_parse.y" +#line 326 "mon_parse.y" { mon_memory_display(0, BAD_ADDR, BAD_ADDR, DF_PETSCII); } break; case 77: -#line 330 "mon_parse.y" +#line 328 "mon_parse.y" { mon_memory_display(0, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_SCREEN_CODE); } break; case 78: -#line 332 "mon_parse.y" +#line 330 "mon_parse.y" { mon_memory_display(0, BAD_ADDR, BAD_ADDR, DF_SCREEN_CODE); } break; case 79: -#line 334 "mon_parse.y" +#line 332 "mon_parse.y" { mon_memmap_zap(); } break; case 80: -#line 336 "mon_parse.y" +#line 334 "mon_parse.y" { mon_memmap_show(-1,BAD_ADDR,BAD_ADDR); } break; case 81: -#line 338 "mon_parse.y" +#line 336 "mon_parse.y" { mon_memmap_show((yyvsp[(3) - (4)].i),BAD_ADDR,BAD_ADDR); } break; case 82: -#line 340 "mon_parse.y" +#line 338 "mon_parse.y" { mon_memmap_show((yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].range)[0],(yyvsp[(4) - (5)].range)[1]); } break; case 83: -#line 342 "mon_parse.y" +#line 340 "mon_parse.y" { mon_memmap_save((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].i)); } break; case 84: -#line 346 "mon_parse.y" +#line 344 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], FALSE, FALSE, FALSE, FALSE); @@ -2774,7 +2772,7 @@ break; case 85: -#line 351 "mon_parse.y" +#line 349 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], FALSE, FALSE, FALSE, TRUE); @@ -2782,7 +2780,7 @@ break; case 86: -#line 356 "mon_parse.y" +#line 354 "mon_parse.y" { temp = mon_breakpoint_add_checkpoint((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1], FALSE, FALSE, FALSE, FALSE); @@ -2791,7 +2789,7 @@ break; case 87: -#line 362 "mon_parse.y" +#line 360 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], FALSE, ((yyvsp[(2) - (5)].i) == e_load || (yyvsp[(2) - (5)].i) == e_load_store), @@ -2800,7 +2798,7 @@ break; case 88: -#line 368 "mon_parse.y" +#line 366 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], TRUE, FALSE, FALSE, FALSE); @@ -2808,77 +2806,77 @@ break; case 89: -#line 373 "mon_parse.y" +#line 371 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 90: -#line 375 "mon_parse.y" +#line 373 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 91: -#line 377 "mon_parse.y" +#line 375 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 92: -#line 379 "mon_parse.y" +#line 377 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 93: -#line 384 "mon_parse.y" +#line 382 "mon_parse.y" { mon_breakpoint_switch_checkpoint(e_ON, (yyvsp[(2) - (3)].i)); } break; case 94: -#line 386 "mon_parse.y" +#line 384 "mon_parse.y" { mon_breakpoint_switch_checkpoint(e_OFF, (yyvsp[(2) - (3)].i)); } break; case 95: -#line 388 "mon_parse.y" +#line 386 "mon_parse.y" { mon_breakpoint_set_ignore_count((yyvsp[(2) - (3)].i), -1); } break; case 96: -#line 390 "mon_parse.y" +#line 388 "mon_parse.y" { mon_breakpoint_set_ignore_count((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].i)); } break; case 97: -#line 392 "mon_parse.y" +#line 390 "mon_parse.y" { mon_breakpoint_delete_checkpoint((yyvsp[(2) - (3)].i)); } break; case 98: -#line 394 "mon_parse.y" +#line 392 "mon_parse.y" { mon_breakpoint_delete_checkpoint(-1); } break; case 99: -#line 396 "mon_parse.y" +#line 394 "mon_parse.y" { mon_breakpoint_set_checkpoint_condition((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].cond_node)); } break; case 100: -#line 398 "mon_parse.y" +#line 396 "mon_parse.y" { mon_breakpoint_set_checkpoint_command((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 101: -#line 400 "mon_parse.y" +#line 398 "mon_parse.y" { return ERR_EXPECT_STRING; } break; case 102: -#line 404 "mon_parse.y" +#line 402 "mon_parse.y" { sidefx = (((yyvsp[(2) - (3)].action) == e_TOGGLE) ? (sidefx ^ 1) : (yyvsp[(2) - (3)].action)); } break; case 103: -#line 406 "mon_parse.y" +#line 404 "mon_parse.y" { mon_out("I/O side effects are %s\n", sidefx ? "enabled" : "disabled"); @@ -2886,12 +2884,12 @@ break; case 104: -#line 411 "mon_parse.y" +#line 409 "mon_parse.y" { default_radix = (yyvsp[(2) - (3)].rt); } break; case 105: -#line 413 "mon_parse.y" +#line 411 "mon_parse.y" { const char *p; @@ -2911,302 +2909,302 @@ break; case 106: -#line 431 "mon_parse.y" +#line 429 "mon_parse.y" { monitor_change_device((yyvsp[(2) - (3)].i)); } break; case 107: -#line 433 "mon_parse.y" +#line 431 "mon_parse.y" { mon_quit(); YYACCEPT; } break; case 108: -#line 435 "mon_parse.y" +#line 433 "mon_parse.y" { exit_mon = 1; YYACCEPT; } break; case 109: -#line 439 "mon_parse.y" +#line 437 "mon_parse.y" { mon_drive_execute_disk_cmd((yyvsp[(2) - (3)].str)); } break; case 110: -#line 441 "mon_parse.y" +#line 439 "mon_parse.y" { mon_out("\t%d\n",(yyvsp[(2) - (3)].i)); } break; case 111: -#line 443 "mon_parse.y" +#line 441 "mon_parse.y" { mon_command_print_help(NULL); } break; case 112: -#line 445 "mon_parse.y" +#line 443 "mon_parse.y" { mon_command_print_help((yyvsp[(2) - (3)].str)); } break; case 113: -#line 447 "mon_parse.y" +#line 445 "mon_parse.y" { printf("SYSTEM COMMAND: %s\n",(yyvsp[(2) - (3)].str)); } break; case 114: -#line 449 "mon_parse.y" +#line 447 "mon_parse.y" { mon_print_convert((yyvsp[(2) - (3)].i)); } break; case 115: -#line 451 "mon_parse.y" +#line 449 "mon_parse.y" { mon_change_dir((yyvsp[(2) - (3)].str)); } break; case 116: -#line 453 "mon_parse.y" +#line 451 "mon_parse.y" { mon_keyboard_feed((yyvsp[(2) - (3)].str)); } break; case 117: -#line 455 "mon_parse.y" +#line 453 "mon_parse.y" { mon_backtrace(); } break; case 118: -#line 457 "mon_parse.y" +#line 455 "mon_parse.y" { mon_show_dir((yyvsp[(2) - (3)].str)); } break; case 119: -#line 459 "mon_parse.y" +#line 457 "mon_parse.y" { mon_show_pwd(); } break; case 120: -#line 461 "mon_parse.y" +#line 459 "mon_parse.y" { mon_screenshot_save((yyvsp[(2) - (3)].str),-1); } break; case 121: -#line 463 "mon_parse.y" +#line 461 "mon_parse.y" { mon_screenshot_save((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].i)); } break; case 122: -#line 465 "mon_parse.y" +#line 463 "mon_parse.y" { mon_resource_get((yyvsp[(2) - (3)].str)); } break; case 123: -#line 467 "mon_parse.y" +#line 465 "mon_parse.y" { mon_resource_set((yyvsp[(2) - (4)].str),(yyvsp[(3) - (4)].str)); } break; case 124: -#line 469 "mon_parse.y" +#line 467 "mon_parse.y" { mon_reset_machine(-1); } break; case 125: -#line 471 "mon_parse.y" +#line 469 "mon_parse.y" { mon_reset_machine((yyvsp[(3) - (4)].i)); } break; case 126: -#line 473 "mon_parse.y" +#line 471 "mon_parse.y" { mon_tape_ctrl((yyvsp[(3) - (4)].i)); } break; case 127: -#line 475 "mon_parse.y" +#line 473 "mon_parse.y" { mon_cart_freeze(); } break; case 128: -#line 480 "mon_parse.y" +#line 478 "mon_parse.y" { mon_file_load((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].a), FALSE); } break; case 129: -#line 482 "mon_parse.y" +#line 480 "mon_parse.y" { mon_file_load((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].a), TRUE); } break; case 130: -#line 484 "mon_parse.y" +#line 482 "mon_parse.y" { mon_file_save((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], FALSE); } break; case 131: -#line 486 "mon_parse.y" +#line 484 "mon_parse.y" { return ERR_EXPECT_DEVICE_NUM; } break; case 132: -#line 488 "mon_parse.y" +#line 486 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 133: -#line 490 "mon_parse.y" +#line 488 "mon_parse.y" { mon_file_save((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], TRUE); } break; case 134: -#line 492 "mon_parse.y" +#line 490 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 135: -#line 494 "mon_parse.y" +#line 492 "mon_parse.y" { mon_file_verify((yyvsp[(2) - (5)].str),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 136: -#line 496 "mon_parse.y" +#line 494 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 137: -#line 498 "mon_parse.y" +#line 496 "mon_parse.y" { mon_drive_block_cmd(0,(yyvsp[(2) - (5)].i),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 138: -#line 500 "mon_parse.y" +#line 498 "mon_parse.y" { mon_drive_block_cmd(1,(yyvsp[(2) - (5)].i),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 139: -#line 502 "mon_parse.y" +#line 500 "mon_parse.y" { mon_attach((yyvsp[(2) - (4)].str),(yyvsp[(3) - (4)].i)); } break; case 140: -#line 504 "mon_parse.y" +#line 502 "mon_parse.y" { mon_detach((yyvsp[(2) - (3)].i)); } break; case 141: -#line 508 "mon_parse.y" +#line 506 "mon_parse.y" { mon_record_commands((yyvsp[(2) - (3)].str)); } break; case 142: -#line 510 "mon_parse.y" +#line 508 "mon_parse.y" { mon_end_recording(); } break; case 143: -#line 512 "mon_parse.y" - { playback=TRUE; playback_name = (yyvsp[(2) - (3)].str); } +#line 510 "mon_parse.y" + { mon_playback_init((yyvsp[(2) - (3)].str)); } break; case 144: -#line 516 "mon_parse.y" +#line 514 "mon_parse.y" { mon_memory_fill((yyvsp[(2) - (4)].a), BAD_ADDR, (unsigned char *)(yyvsp[(3) - (4)].str)); } break; case 145: -#line 518 "mon_parse.y" +#line 516 "mon_parse.y" { printf("Not yet.\n"); } break; case 146: -#line 522 "mon_parse.y" +#line 520 "mon_parse.y" { yydebug = 1; } break; case 147: -#line 525 "mon_parse.y" +#line 523 "mon_parse.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 148: -#line 528 "mon_parse.y" +#line 526 "mon_parse.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 149: -#line 529 "mon_parse.y" +#line 527 "mon_parse.y" { (yyval.str) = NULL; } break; case 151: -#line 533 "mon_parse.y" +#line 531 "mon_parse.y" { return ERR_EXPECT_FILENAME; } break; case 153: -#line 537 "mon_parse.y" +#line 535 "mon_parse.y" { return ERR_EXPECT_DEVICE_NUM; } break; case 154: -#line 540 "mon_parse.y" +#line 538 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 155: -#line 541 "mon_parse.y" +#line 539 "mon_parse.y" { (yyval.i) = e_load_store; } break; case 156: -#line 544 "mon_parse.y" +#line 542 "mon_parse.y" { (yyval.i) = new_reg(default_memspace, (yyvsp[(1) - (1)].reg)); } break; case 157: -#line 545 "mon_parse.y" +#line 543 "mon_parse.y" { (yyval.i) = new_reg((yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].reg)); } break; case 160: -#line 553 "mon_parse.y" +#line 551 "mon_parse.y" { (monitor_cpu_type.mon_register_set_val)(reg_memspace((yyvsp[(1) - (3)].i)), reg_regid((yyvsp[(1) - (3)].i)), (WORD) (yyvsp[(3) - (3)].i)); } break; case 161: -#line 556 "mon_parse.y" +#line 554 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 162: -#line 557 "mon_parse.y" +#line 555 "mon_parse.y" { return ERR_EXPECT_BRKNUM; } break; case 164: -#line 561 "mon_parse.y" +#line 559 "mon_parse.y" { (yyval.range)[0] = (yyvsp[(1) - (1)].a); (yyval.range)[1] = BAD_ADDR; } break; case 165: -#line 564 "mon_parse.y" +#line 562 "mon_parse.y" { (yyval.range)[0] = (yyvsp[(1) - (3)].a); (yyval.range)[1] = (yyvsp[(3) - (3)].a); } break; case 166: -#line 566 "mon_parse.y" +#line 564 "mon_parse.y" { if (resolve_range(e_default_space, (yyval.range), (yyvsp[(1) - (1)].str))) return ERR_ADDR_TOO_BIG; } break; case 167: -#line 568 "mon_parse.y" +#line 566 "mon_parse.y" { if (resolve_range((yyvsp[(1) - (3)].i), (yyval.range), (yyvsp[(3) - (3)].str))) return ERR_ADDR_TOO_BIG; } break; case 168: -#line 571 "mon_parse.y" +#line 569 "mon_parse.y" { (yyval.a) = (yyvsp[(2) - (2)].a); } break; case 169: -#line 572 "mon_parse.y" +#line 570 "mon_parse.y" { (yyval.a) = BAD_ADDR; } break; case 170: -#line 576 "mon_parse.y" +#line 574 "mon_parse.y" { (yyval.a) = new_addr(e_default_space,(yyvsp[(1) - (1)].i)); if (opt_asm) new_cmd = asm_mode = 1; @@ -3214,7 +3212,7 @@ break; case 171: -#line 581 "mon_parse.y" +#line 579 "mon_parse.y" { (yyval.a) = new_addr((yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].i)); if (opt_asm) new_cmd = asm_mode = 1; @@ -3222,7 +3220,7 @@ break; case 172: -#line 586 "mon_parse.y" +#line 584 "mon_parse.y" { temp = mon_symbol_table_lookup_addr(e_default_space, (yyvsp[(1) - (1)].str)); if (temp >= 0) @@ -3233,77 +3231,77 @@ break; case 175: -#line 599 "mon_parse.y" +#line 597 "mon_parse.y" { (yyval.i) = e_comp_space; } break; case 176: -#line 600 "mon_parse.y" +#line 598 "mon_parse.y" { (yyval.i) = e_disk8_space; } break; case 177: -#line 601 "mon_parse.y" +#line 599 "mon_parse.y" { (yyval.i) = e_disk9_space; } break; case 178: -#line 602 "mon_parse.y" +#line 600 "mon_parse.y" { (yyval.i) = e_disk10_space; } break; case 179: -#line 603 "mon_parse.y" +#line 601 "mon_parse.y" { (yyval.i) = e_disk11_space; } break; case 180: -#line 606 "mon_parse.y" +#line 604 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); if (!CHECK_ADDR((yyvsp[(1) - (1)].i))) return ERR_ADDR_TOO_BIG; } break; case 181: -#line 608 "mon_parse.y" +#line 606 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 182: -#line 610 "mon_parse.y" +#line 608 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) + (yyvsp[(3) - (3)].i); } break; case 183: -#line 611 "mon_parse.y" +#line 609 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) - (yyvsp[(3) - (3)].i); } break; case 184: -#line 612 "mon_parse.y" +#line 610 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) * (yyvsp[(3) - (3)].i); } break; case 185: -#line 613 "mon_parse.y" +#line 611 "mon_parse.y" { (yyval.i) = ((yyvsp[(3) - (3)].i)) ? ((yyvsp[(1) - (3)].i) / (yyvsp[(3) - (3)].i)) : 1; } break; case 186: -#line 614 "mon_parse.y" +#line 612 "mon_parse.y" { (yyval.i) = (yyvsp[(2) - (3)].i); } break; case 187: -#line 615 "mon_parse.y" +#line 613 "mon_parse.y" { return ERR_MISSING_CLOSE_PAREN; } break; case 188: -#line 616 "mon_parse.y" +#line 614 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 189: -#line 620 "mon_parse.y" +#line 618 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->is_parenthized = FALSE; (yyval.cond_node)->child1 = (yyvsp[(1) - (3)].cond_node); (yyval.cond_node)->child2 = (yyvsp[(3) - (3)].cond_node); (yyval.cond_node)->operation = (yyvsp[(2) - (3)].cond_op); @@ -3311,27 +3309,27 @@ break; case 190: -#line 625 "mon_parse.y" +#line 623 "mon_parse.y" { return ERR_INCOMPLETE_COMPARE_OP; } break; case 191: -#line 627 "mon_parse.y" +#line 625 "mon_parse.y" { (yyval.cond_node) = (yyvsp[(2) - (3)].cond_node); (yyval.cond_node)->is_parenthized = TRUE; } break; case 192: -#line 629 "mon_parse.y" +#line 627 "mon_parse.y" { return ERR_MISSING_CLOSE_PAREN; } break; case 193: -#line 631 "mon_parse.y" +#line 629 "mon_parse.y" { (yyval.cond_node) = (yyvsp[(1) - (1)].cond_node); } break; case 194: -#line 634 "mon_parse.y" +#line 632 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->operation = e_INV; (yyval.cond_node)->is_parenthized = FALSE; @@ -3341,7 +3339,7 @@ break; case 195: -#line 640 "mon_parse.y" +#line 638 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->operation = e_INV; (yyval.cond_node)->is_parenthized = FALSE; @@ -3351,102 +3349,102 @@ break; case 198: -#line 652 "mon_parse.y" +#line 650 "mon_parse.y" { mon_add_number_to_buffer((yyvsp[(1) - (1)].i)); } break; case 199: -#line 653 "mon_parse.y" +#line 651 "mon_parse.y" { mon_add_string_to_buffer((yyvsp[(1) - (1)].str)); } break; case 202: -#line 660 "mon_parse.y" +#line 658 "mon_parse.y" { mon_add_number_to_buffer((yyvsp[(1) - (1)].i)); } break; case 203: -#line 661 "mon_parse.y" +#line 659 "mon_parse.y" { mon_add_number_masked_to_buffer((yyvsp[(1) - (1)].i), 0x00); } break; case 204: -#line 662 "mon_parse.y" +#line 660 "mon_parse.y" { mon_add_string_to_buffer((yyvsp[(1) - (1)].str)); } break; case 205: -#line 665 "mon_parse.y" +#line 663 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 206: -#line 666 "mon_parse.y" +#line 664 "mon_parse.y" { (yyval.i) = (monitor_cpu_type.mon_register_get_val)(reg_memspace((yyvsp[(1) - (1)].i)), reg_regid((yyvsp[(1) - (1)].i))); } break; case 207: -#line 669 "mon_parse.y" +#line 667 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 208: -#line 670 "mon_parse.y" +#line 668 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 209: -#line 671 "mon_parse.y" +#line 669 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 210: -#line 672 "mon_parse.y" +#line 670 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 211: -#line 675 "mon_parse.y" +#line 673 "mon_parse.y" { (yyval.i) = resolve_datatype(B_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 212: -#line 676 "mon_parse.y" +#line 674 "mon_parse.y" { (yyval.i) = resolve_datatype(O_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 213: -#line 677 "mon_parse.y" +#line 675 "mon_parse.y" { (yyval.i) = resolve_datatype(D_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 214: -#line 680 "mon_parse.y" +#line 678 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 215: -#line 681 "mon_parse.y" +#line 679 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 216: -#line 682 "mon_parse.y" +#line 680 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 217: -#line 683 "mon_parse.y" +#line 681 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 218: -#line 684 "mon_parse.y" +#line 682 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 222: -#line 692 "mon_parse.y" +#line 690 "mon_parse.y" { (yyval.i) = 0; if ((yyvsp[(1) - (2)].str)) { (monitor_cpu_type.mon_assemble_instr)((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].i)); @@ -3459,12 +3457,12 @@ break; case 224: -#line 703 "mon_parse.y" +#line 701 "mon_parse.y" { asm_mode = 0; } break; case 225: -#line 706 "mon_parse.y" +#line 704 "mon_parse.y" { if ((yyvsp[(2) - (2)].i) > 0xff) (yyval.i) = join_ints(ASM_ADDR_MODE_IMMEDIATE_16,(yyvsp[(2) - (2)].i)); else @@ -3472,7 +3470,7 @@ break; case 226: -#line 710 "mon_parse.y" +#line 708 "mon_parse.y" { if ((yyvsp[(1) - (1)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE,(yyvsp[(1) - (1)].i)); else @@ -3481,7 +3479,7 @@ break; case 227: -#line 715 "mon_parse.y" +#line 713 "mon_parse.y" { if ((yyvsp[(1) - (3)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE_X,(yyvsp[(1) - (3)].i)); else @@ -3490,7 +3488,7 @@ break; case 228: -#line 720 "mon_parse.y" +#line 718 "mon_parse.y" { if ((yyvsp[(1) - (3)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE_Y,(yyvsp[(1) - (3)].i)); else @@ -3499,168 +3497,168 @@ break; case 229: -#line 726 "mon_parse.y" +#line 724 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABS_INDIRECT,(yyvsp[(2) - (3)].i)); } break; case 230: -#line 728 "mon_parse.y" +#line 726 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_INDIRECT_X,(yyvsp[(2) - (5)].i)); } break; case 231: -#line 730 "mon_parse.y" +#line 728 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_INDIRECT_Y,(yyvsp[(2) - (5)].i)); } break; case 232: -#line 731 "mon_parse.y" +#line 729 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_BC,0); } break; case 233: -#line 732 "mon_parse.y" +#line 730 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_DE,0); } break; case 234: -#line 733 "mon_parse.y" +#line 731 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_HL,0); } break; case 235: -#line 734 "mon_parse.y" +#line 732 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_IX,0); } break; case 236: -#line 735 "mon_parse.y" +#line 733 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_IY,0); } break; case 237: -#line 736 "mon_parse.y" +#line 734 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_SP,0); } break; case 238: -#line 738 "mon_parse.y" +#line 736 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_A,(yyvsp[(2) - (5)].i)); } break; case 239: -#line 740 "mon_parse.y" +#line 738 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_HL,(yyvsp[(2) - (5)].i)); } break; case 240: -#line 742 "mon_parse.y" +#line 740 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_IX,(yyvsp[(2) - (5)].i)); } break; case 241: -#line 744 "mon_parse.y" +#line 742 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_IY,(yyvsp[(2) - (5)].i)); } break; case 242: -#line 745 "mon_parse.y" +#line 743 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_IMPLIED,0); } break; case 243: -#line 746 "mon_parse.y" +#line 744 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ACCUMULATOR,0); } break; case 244: -#line 747 "mon_parse.y" +#line 745 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_B,0); } break; case 245: -#line 748 "mon_parse.y" +#line 746 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_C,0); } break; case 246: -#line 749 "mon_parse.y" +#line 747 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_D,0); } break; case 247: -#line 750 "mon_parse.y" +#line 748 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_E,0); } break; case 248: -#line 751 "mon_parse.y" +#line 749 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_H,0); } break; case 249: -#line 752 "mon_parse.y" +#line 750 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IXH,0); } break; case 250: -#line 753 "mon_parse.y" +#line 751 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IYH,0); } break; case 251: -#line 754 "mon_parse.y" +#line 752 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_L,0); } break; case 252: -#line 755 "mon_parse.y" +#line 753 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IXL,0); } break; case 253: -#line 756 "mon_parse.y" +#line 754 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IYL,0); } break; case 254: -#line 757 "mon_parse.y" +#line 755 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_AF,0); } break; case 255: -#line 758 "mon_parse.y" +#line 756 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_BC,0); } break; case 256: -#line 759 "mon_parse.y" +#line 757 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_DE,0); } break; case 257: -#line 760 "mon_parse.y" +#line 758 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_HL,0); } break; case 258: -#line 761 "mon_parse.y" +#line 759 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IX,0); } break; case 259: -#line 762 "mon_parse.y" +#line 760 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IY,0); } break; case 260: -#line 763 "mon_parse.y" +#line 761 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_SP,0); } break; /* Line 1267 of yacc.c. */ -#line 3664 "mon_parse.c" +#line 3662 "mon_parse.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -3874,7 +3872,7 @@ } -#line 767 "mon_parse.y" +#line 765 "mon_parse.y" void parse_and_execute_line(char *input) Modified: trunk/vice/src/monitor/mon_parse.y =================================================================== --- trunk/vice/src/monitor/mon_parse.y 2008-11-23 14:46:15 UTC (rev 19696) +++ trunk/vice/src/monitor/mon_parse.y 2008-11-23 16:49:59 UTC (rev 19697) @@ -256,14 +256,12 @@ symbol_table_rules: CMD_LOAD_LABELS memspace opt_sep filename end_cmd { /* What about the memspace? */ - playback = TRUE; playback_name = $4; - /*mon_load_symbols($2, $3);*/ + mon_playback_init($4); } | CMD_LOAD_LABELS filename end_cmd { /* What about the memspace? */ - playback = TRUE; playback_name = $2; - /*mon_load_symbols($2, $3);*/ + mon_playback_init($2); } | CMD_SAVE_LABELS memspace opt_sep filename end_cmd { mon_save_symbols($2, $4); } @@ -509,7 +507,7 @@ | CMD_STOP end_cmd { mon_end_recording(); } | CMD_PLAYBACK filename end_cmd - { playback=TRUE; playback_name = $2; } + { mon_playback_init($2); } ; data_entry_rules: CMD_ENTER_DATA address data_list end_cmd Modified: trunk/vice/src/monitor/monitor.c =================================================================== --- trunk/vice/src/monitor/monitor.c 2008-11-23 14:46:15 UTC (rev 19696) +++ trunk/vice/src/monitor/monitor.c 2008-11-23 16:49:59 UTC (rev 19697) @@ -180,9 +180,10 @@ static bool recording; static FILE *recording_fp; static char *recording_name; -bool playback; -char *playback_name; -static void playback_commands(const char *filename); +#define MAX_PLAYBACK 4 +int playback = 0; +char *playback_name[MAX_PLAYBACK]; +static void playback_commands(int current_playback); static int set_playback_name(const char *param, void *extra_param); /* Disassemble the current opcode on entry. Used for single step. */ @@ -931,7 +932,6 @@ int i, j; unsigned int dnr; monitor_cpu_type_list_t *monitor_cpu_type_list_ptr; - char* freeme; yydebug = 0; sidefx = e_OFF; @@ -996,10 +996,8 @@ if (mon_init_break != -1) mon_breakpoint_add_checkpoint((WORD)mon_init_break, BAD_ADDR, FALSE, FALSE,FALSE, FALSE); - if (playback) { - freeme = playback_name; - playback_commands(playback_name); - free(freeme); + if (playback > 0) { + playback_commands(playback); } } @@ -1163,16 +1161,6 @@ mon_out("Changing to directory: `%s'\n", path); } -void mon_load_symbols(MEMSPACE mem, const char *filename) -{ - /* Switched to a command-line format for the symbol file - * so loading just involves "playing back" the commands. - * It is no longer possible to just load symbols from a - * single memory space. - */ - playback_commands(filename); -} - void mon_save_symbols(MEMSPACE mem, const char *filename) { FILE *fp; @@ -1237,17 +1225,18 @@ static int set_playback_name(const char *param, void *extra_param) { - if (!playback_name) { - playback_name = strdup(param); - playback = TRUE; + if (!playback_name[0]) { + playback_name[0] = strdup(param); + playback = 1; } return 0; } -static void playback_commands(const char *filename) +static void playback_commands(int current_playback) { FILE *fp; char string[256]; + char *filename = playback_name[current_playback-1]; fp = fopen(filename, MODE_READ_TEXT); @@ -1256,6 +1245,9 @@ if (fp == NULL) { mon_out("Playback for `%s' failed.\n", filename); + free(playback_name[current_playback-1]); + playback_name[current_playback-1] = NULL; + --playback; return; } @@ -1265,13 +1257,28 @@ string[strlen(string) - 1] = '\0'; parse_and_execute_line(string); + + if (playback > current_playback) { + playback_commands(playback); + } } fclose(fp); - playback = FALSE; + free(playback_name[current_playback-1]); + playback_name[current_playback-1] = NULL; + --playback; } +void mon_playback_init(const char *filename) +{ + if (playback < MAX_PLAYBACK) { + playback_name[playback++] = strdup(filename); + } else { + mon_out("Playback for `%s' failed (recursion > %i).\n", filename, MAX_PLAYBACK); + } +} + /* *** SYMBOL TABLE *** */ @@ -1969,8 +1976,9 @@ parse_and_execute_line(cmd); - if (playback) - playback_commands(playback_name); + if (playback > 0) { + playback_commands(playback); + } } } if (last_cmd) Modified: trunk/vice/src/monitor/montypes.h =================================================================== --- trunk/vice/src/monitor/montypes.h 2008-11-23 14:46:15 UTC (rev 19696) +++ trunk/vice/src/monitor/montypes.h 2008-11-23 16:49:59 UTC (rev 19697) @@ -217,8 +217,6 @@ extern RADIXTYPE default_radix; extern MEMSPACE default_memspace; extern bool asm_mode; -extern char *playback_name; -extern bool playback; extern MON_ADDR asm_mode_addr; extern struct monitor_cpu_type_s monitor_cpu_type; extern MON_ADDR dot_addr[NUM_MEMSPACES]; @@ -293,6 +291,7 @@ extern void mon_record_commands(char *filename); extern void mon_end_recording(void); +extern void mon_playback_init(const char* filename); extern void monitor_change_device(MEMSPACE mem); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <st...@us...> - 2009-03-16 17:28:25
|
Revision: 20415 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=20415&view=rev Author: strik Date: 2009-03-16 17:28:18 +0000 (Mon, 16 Mar 2009) Log Message: ----------- Fixed a monitor memory leak. Modified Paths: -------------- trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.y Modified: trunk/vice/src/monitor/mon_parse.c =================================================================== --- trunk/vice/src/monitor/mon_parse.c 2009-03-16 17:27:51 UTC (rev 20414) +++ trunk/vice/src/monitor/mon_parse.c 2009-03-16 17:28:18 UTC (rev 20415) @@ -3944,6 +3944,7 @@ asm_mode = 0; new_cmd = 1; } + lib_free(temp_buf); free_buffer(); } Modified: trunk/vice/src/monitor/mon_parse.y =================================================================== --- trunk/vice/src/monitor/mon_parse.y 2009-03-16 17:27:51 UTC (rev 20414) +++ trunk/vice/src/monitor/mon_parse.y 2009-03-16 17:28:18 UTC (rev 20415) @@ -833,6 +833,7 @@ asm_mode = 0; new_cmd = 1; } + lib_free(temp_buf); free_buffer(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <st...@us...> - 2009-04-21 17:17:49
|
Revision: 20739 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=20739&view=rev Author: strik Date: 2009-04-21 17:17:47 +0000 (Tue, 21 Apr 2009) Log Message: ----------- Rework determing the 'remoteness' of a monitor connection. Modified Paths: -------------- trunk/vice/src/monitor/mon_util.c trunk/vice/src/monitor/monitor.c trunk/vice/src/monitor/monitor_network.c trunk/vice/src/monitor/monitor_network.h Modified: trunk/vice/src/monitor/mon_util.c =================================================================== --- trunk/vice/src/monitor/mon_util.c 2009-04-21 16:32:04 UTC (rev 20738) +++ trunk/vice/src/monitor/mon_util.c 2009-04-21 17:17:47 UTC (rev 20739) @@ -120,7 +120,7 @@ buffer = lib_mvsprintf(format, ap); #ifdef HAVE_NETWORK - if (monitor_is_remote) { + if (monitor_is_remote()) { rc = monitor_network_transmit(buffer, strlen(buffer)); } else { @@ -193,7 +193,7 @@ /* as long as we don't have any return value... */ #ifdef HAVE_NETWORK - if (monitor_is_remote) { + if (monitor_is_remote()) { monitor_network_transmit(prompt, strlen(prompt)); p = monitor_network_get_command_line(); Modified: trunk/vice/src/monitor/monitor.c =================================================================== --- trunk/vice/src/monitor/monitor.c 2009-04-21 16:32:04 UTC (rev 20738) +++ trunk/vice/src/monitor/monitor.c 2009-04-21 17:17:47 UTC (rev 20739) @@ -1996,20 +1996,16 @@ mon_stop_output = 1; } -static void monitor_open(int is_remote) +static void monitor_open() { unsigned int dnr; -#ifdef HAVE_NETWORK - monitor_is_remote = is_remote; - - if (monitor_is_remote) { + if (monitor_is_remote()) { static console_t console_log_remote = { 80, 25, 1, 0 }; console_log = & console_log_remote; } else { -#endif if (mon_console_close_on_leaving) { console_log = uimon_window_open(); uimon_set_interface(mon_interfaces, NUM_MEMSPACES); @@ -2017,9 +2013,7 @@ console_log = uimon_window_resume(); mon_console_close_on_leaving = 1; } -#ifdef HAVE_NETWORK } -#endif signals_abort_set(); @@ -2113,7 +2107,7 @@ return exit_mon; } -static void monitor_close(int check, int is_remote) +static void monitor_close(int check) { inside_monitor = FALSE; vsync_suspend_speed_eval(); @@ -2130,7 +2124,7 @@ if (console_log->console_can_stay_open == 0) mon_console_close_on_leaving = 1; - if ( ! is_remote ) { + if ( ! monitor_is_remote() ) { if (mon_console_close_on_leaving) { uimon_window_close(); } else { @@ -2140,34 +2134,28 @@ } -static void monitor_startup_internal(int is_remote) +void monitor_startup(void) { char prompt[40]; - monitor_open(is_remote); + monitor_open(); while (!exit_mon) { make_prompt(prompt); monitor_process(uimon_in(prompt)); } - monitor_close(1, is_remote); + monitor_close(1); } -void monitor_startup(void) -{ - monitor_startup_internal(monitor_is_remote); -} - static void monitor_trap(WORD addr, void *unused_data) { - int is_remote = unused_data ? 1 : 0; - monitor_startup_internal(is_remote); + monitor_startup(); } void monitor_startup_trap(void) { if ( ! monitor_trap_triggered && ! inside_monitor ) { monitor_trap_triggered = TRUE; - interrupt_maincpu_trigger_trap(monitor_trap, (void *)0); + interrupt_maincpu_trigger_trap(monitor_trap, 0); } } Modified: trunk/vice/src/monitor/monitor_network.c =================================================================== --- trunk/vice/src/monitor/monitor_network.c 2009-04-21 16:32:04 UTC (rev 20738) +++ trunk/vice/src/monitor/monitor_network.c 2009-04-21 17:17:47 UTC (rev 20739) @@ -44,8 +44,6 @@ #include "uiapi.h" #include "util.h" -int monitor_is_remote = 0; - #ifdef HAVE_NETWORK static vice_network_socket_t * listen_socket = NULL; @@ -352,6 +350,11 @@ return cmdline_register_options(cmdline_options); } +int monitor_is_remote(void) +{ + return connected_socket != NULL; +} + #else int monitor_network_resources_init(void) @@ -382,4 +385,9 @@ return 0; } +int monitor_is_remote(void) +{ + return 0; +} + #endif Modified: trunk/vice/src/monitor/monitor_network.h =================================================================== --- trunk/vice/src/monitor/monitor_network.h 2009-04-21 16:32:04 UTC (rev 20738) +++ trunk/vice/src/monitor/monitor_network.h 2009-04-21 17:17:47 UTC (rev 20739) @@ -42,6 +42,6 @@ extern int monitor_network_transmit(const char * buffer, size_t buffer_length); extern char * monitor_network_get_command_line(void); -extern int monitor_is_remote; +extern int monitor_is_remote(void); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <no...@us...> - 2009-05-13 23:56:36
|
Revision: 20836 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=20836&view=rev Author: nojoopa Date: 2009-05-13 23:56:26 +0000 (Wed, 13 May 2009) Log Message: ----------- Use ; as a monitor comment command Modified Paths: -------------- trunk/vice/src/monitor/mon_lex.l trunk/vice/src/monitor/mon_parse.y Modified: trunk/vice/src/monitor/mon_lex.l =================================================================== --- trunk/vice/src/monitor/mon_lex.l 2009-05-13 23:24:58 UTC (rev 20835) +++ trunk/vice/src/monitor/mon_lex.l 2009-05-13 23:56:26 UTC (rev 20836) @@ -81,6 +81,7 @@ %} <CMD>{ + ";" { BEGIN(ROL); return CMD_COMMENT; } ~ { BEGIN(INITIAL); return CONVERT_OP; } > { BEGIN(INITIAL); return CMD_ENTER_DATA; } @ { BEGIN(ROL); return CMD_DISK; } Modified: trunk/vice/src/monitor/mon_parse.y =================================================================== --- trunk/vice/src/monitor/mon_parse.y 2009-05-13 23:24:58 UTC (rev 20835) +++ trunk/vice/src/monitor/mon_parse.y 2009-05-13 23:56:26 UTC (rev 20836) @@ -146,6 +146,7 @@ %token CMD_RESOURCE_GET CMD_RESOURCE_SET %token CMD_ATTACH CMD_DETACH CMD_MON_RESET CMD_TAPECTRL CMD_CARTFREEZE %token CMD_CPUHISTORY CMD_MEMMAPZAP CMD_MEMMAPSHOW CMD_MEMMAPSAVE +%token CMD_COMMENT %token<str> CMD_LABEL_ASGN %token<i> L_PAREN R_PAREN ARG_IMMEDIATE REG_A REG_X REG_Y COMMA INST_SEP %token<i> REG_B REG_C REG_D REG_E REG_H REG_L @@ -473,7 +474,8 @@ { mon_tape_ctrl($3); } | CMD_CARTFREEZE end_cmd { mon_cart_freeze(); } - + | CMD_COMMENT opt_rest_of_line end_cmd + { } ; disk_rules: CMD_LOAD filename device_num opt_address end_cmd This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <no...@us...> - 2010-05-07 04:55:20
|
Revision: 22504 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=22504&view=rev Author: nojoopa Date: 2010-05-07 04:55:13 +0000 (Fri, 07 May 2010) Log Message: ----------- monitor: scan all valid memspaces in find_checkpoint Modified Paths: -------------- trunk/vice/src/monitor/mon_breakpoint.c trunk/vice/src/monitor/montypes.h Modified: trunk/vice/src/monitor/mon_breakpoint.c =================================================================== --- trunk/vice/src/monitor/mon_breakpoint.c 2010-05-05 19:24:51 UTC (rev 22503) +++ trunk/vice/src/monitor/mon_breakpoint.c 2010-05-07 04:55:13 UTC (rev 22504) @@ -107,7 +107,7 @@ break_list_t *ptr; int i; - for (i = e_comp_space; i < LAST_SPACE; i++) { + for (i = FIRST_SPACE; i <= LAST_SPACE; i++) { ptr = breakpoints[i]; while (ptr) { if (ptr->brkpt->brknum == brknum) Modified: trunk/vice/src/monitor/montypes.h =================================================================== --- trunk/vice/src/monitor/montypes.h 2010-05-05 19:24:51 UTC (rev 22503) +++ trunk/vice/src/monitor/montypes.h 2010-05-07 04:55:13 UTC (rev 22504) @@ -173,7 +173,7 @@ #define STATE_CTYPE 5 #define FIRST_SPACE e_comp_space -#define LAST_SPACE e_disk9_space +#define LAST_SPACE e_disk11_space #define DEFAULT_DISASSEMBLY_SIZE 40 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tl...@us...> - 2010-09-06 19:07:53
|
Revision: 22827 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=22827&view=rev Author: tlr Date: 2010-09-06 19:07:46 +0000 (Mon, 06 Sep 2010) Log Message: ----------- Implemented an experimental fallback parser for the monitor. Accepts 'd', 'm', 'i', 'h' with even less error checking than PETMON. Modified Paths: -------------- trunk/vice/src/monitor/Makefile.am trunk/vice/src/monitor/mon_parse.y Added Paths: ----------- trunk/vice/src/monitor/mon_fallback.c trunk/vice/src/monitor/mon_fallback.h Modified: trunk/vice/src/monitor/Makefile.am =================================================================== --- trunk/vice/src/monitor/Makefile.am 2010-09-05 13:46:17 UTC (rev 22826) +++ trunk/vice/src/monitor/Makefile.am 2010-09-06 19:07:46 UTC (rev 22827) @@ -30,6 +30,8 @@ mon_disassemble.h \ mon_drive.c \ mon_drive.h \ + mon_fallback.c \ + mon_fallback.h \ mon_file.c \ mon_file.h \ mon_memory.c \ Added: trunk/vice/src/monitor/mon_fallback.c =================================================================== --- trunk/vice/src/monitor/mon_fallback.c (rev 0) +++ trunk/vice/src/monitor/mon_fallback.c 2010-09-06 19:07:46 UTC (rev 22827) @@ -0,0 +1,139 @@ +/* + * mon_fallback.c - The VICE built-in monitor. + * + * Written by + * Daniel Kahlin <da...@ka...> + * + * This file is part of VICE, the Versatile Commodore Emulator. + * See README for copyright notice. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA. + * + */ + +#include "vice.h" + +#include <ctype.h> + +#include "mon_disassemble.h" +#include "mon_memory.h" +#include "monitor.h" + + +/* undefine to remove the experimental fallback parser. */ +#define HAVE_FALLBACK_PARSER 1 + + +static char *skip_ws(char *str) +{ + /* skip white space */ + while( isspace(*str) ) { + *str++; + } + return str; +} + + +static char *get_hex(char *str, int n, int *val) +{ + int i; + int v = 0; + + for (i = 0; i < n; i++) { + char c; + int t = 0; + str = skip_ws(str); + c = tolower(*str); + if (c >= '0' && c <= '9') { + t = c - '0'; + } else if (c >= 'a' && c <= 'f') { + t = c - 'a' + 10; + } + v <<= 4; + v |= t; + str++; + } + *val = v; + return str; +} + +static char *may_get_addr(char *str, MON_ADDR *a) +{ + int v; + str = get_hex(str, 4, &v); + *a = new_addr(e_default_space, v); + return str; +} + +static char *may_get_range(char *str, MON_ADDR *a1, MON_ADDR *a2) +{ + int v; + + *a1 = new_addr(e_invalid_space, 0); + *a2 = new_addr(e_invalid_space, 0); + + str = get_hex(str, 4, &v); + *a1 = new_addr(e_default_space, v); + str = skip_ws(str); + if (*str != 0) { + str = get_hex(str, 4, &v); + *a2 = new_addr(e_default_space, v); + } + return str; +} + + +#ifndef HAVE_FALLBACK_PARSER +int_fallback_parse(char *str) +{ + return 1; +} +#endif + +#ifdef HAVE_FALLBACK_PARSER +int fallback_parse(char *str) +{ + MON_ADDR a1,a2; + str = skip_ws(str); + if (*str == 0) { + return 1; + } + + switch ( tolower(*str++) ) { + case 'd': + str = may_get_range(str, &a1, &a2); + mon_disassemble_lines(a1, a2); + return 0; + case 'g': + str = may_get_addr(str, &a1); + mon_jump(a1); + return 0; + case 'i': + str = may_get_range(str, &a1, &a2); + mon_memory_display(0, a1, a2, DF_PETSCII); + return 0; + case 'm': + str = may_get_range(str, &a1, &a2); + mon_memory_display(default_radix, a1, a2, DF_PETSCII); + return 0; + default: + break; + } + + return 1; +} +#endif + Added: trunk/vice/src/monitor/mon_fallback.h =================================================================== --- trunk/vice/src/monitor/mon_fallback.h (rev 0) +++ trunk/vice/src/monitor/mon_fallback.h 2010-09-06 19:07:46 UTC (rev 22827) @@ -0,0 +1,31 @@ +/* + * mon_fallback.h - The VICE built-in monitor. + * + * Written by + * Daniel Kahlin <da...@ka...> + * + * This file is part of VICE, the Versatile Commodore Emulator. + * See README for copyright notice. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + * 02111-1307 USA. + * + */ +#ifndef MON_FALLBACK_H +#define MON_FALLBACK_H + +int fallback_parse(char *str); + +#endif Modified: trunk/vice/src/monitor/mon_parse.y =================================================================== --- trunk/vice/src/monitor/mon_parse.y 2010-09-05 13:46:17 UTC (rev 22826) +++ trunk/vice/src/monitor/mon_parse.y 2010-09-06 19:07:46 UTC (rev 22827) @@ -71,6 +71,7 @@ #include "mon_command.h" #include "mon_disassemble.h" #include "mon_drive.h" +#include "mon_fallback.h" #include "mon_file.h" #include "mon_memory.h" #include "mon_util.h" @@ -799,7 +800,8 @@ temp_buf[i++] = '\0'; make_buffer(temp_buf); - if ( (rc =yyparse()) != 0) { + rc = yyparse(); + if (rc && fallback_parse(input)) { mon_out("ERROR -- "); switch(rc) { case ERR_BAD_CMD: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tl...@us...> - 2010-09-07 18:17:16
|
Revision: 22831 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=22831&view=rev Author: tlr Date: 2010-09-07 18:17:08 +0000 (Tue, 07 Sep 2010) Log Message: ----------- Updated mon_parse.[c|h] to reflect the current mon_parse.y. Modified Paths: -------------- trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.h Modified: trunk/vice/src/monitor/mon_parse.c =================================================================== --- trunk/vice/src/monitor/mon_parse.c 2010-09-07 18:02:15 UTC (rev 22830) +++ trunk/vice/src/monitor/mon_parse.c 2010-09-07 18:17:08 UTC (rev 22831) @@ -142,6 +142,7 @@ #include "mon_command.h" #include "mon_disassemble.h" #include "mon_drive.h" +#include "mon_fallback.h" #include "mon_file.h" #include "mon_memory.h" #include "mon_util.h" @@ -196,7 +197,7 @@ /* Line 189 of yacc.c */ -#line 200 "mon_parse.c" +#line 201 "mon_parse.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -525,7 +526,7 @@ { /* Line 214 of yacc.c */ -#line 127 "mon_parse.y" +#line 128 "mon_parse.y" MON_ADDR a; MON_ADDR range[2]; @@ -540,7 +541,7 @@ /* Line 214 of yacc.c */ -#line 544 "mon_parse.c" +#line 545 "mon_parse.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -552,7 +553,7 @@ /* Line 264 of yacc.c */ -#line 556 "mon_parse.c" +#line 557 "mon_parse.c" #ifdef short # undef short @@ -963,33 +964,33 @@ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 186, 186, 187, 188, 191, 192, 195, 196, 197, - 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, - 210, 211, 212, 215, 217, 219, 221, 223, 225, 227, - 229, 231, 233, 235, 237, 239, 241, 243, 245, 247, - 249, 251, 253, 255, 257, 259, 261, 264, 266, 268, - 271, 276, 281, 283, 285, 287, 289, 291, 293, 295, - 299, 306, 305, 308, 310, 312, 316, 318, 320, 322, - 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, - 344, 346, 348, 350, 352, 354, 358, 363, 368, 374, - 380, 385, 387, 389, 391, 396, 398, 400, 402, 404, - 406, 408, 410, 412, 416, 418, 423, 425, 443, 445, - 447, 449, 453, 455, 457, 459, 461, 463, 465, 467, - 469, 471, 473, 475, 477, 479, 481, 483, 485, 487, - 489, 491, 495, 497, 499, 501, 503, 505, 507, 509, - 511, 513, 515, 517, 519, 521, 523, 527, 529, 531, - 535, 537, 541, 545, 548, 549, 552, 553, 556, 557, - 560, 561, 564, 565, 568, 569, 572, 576, 577, 580, - 581, 584, 585, 587, 591, 592, 595, 600, 605, 615, - 616, 619, 620, 621, 622, 623, 626, 628, 630, 631, - 632, 633, 634, 635, 636, 639, 644, 646, 648, 650, - 654, 660, 668, 669, 672, 673, 676, 677, 680, 681, - 682, 685, 686, 689, 690, 691, 692, 695, 696, 697, - 700, 701, 702, 703, 704, 707, 708, 709, 712, 722, - 723, 726, 730, 735, 740, 745, 747, 749, 751, 752, - 753, 754, 755, 756, 757, 759, 761, 763, 765, 766, - 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, - 777, 778, 779, 780, 781, 782, 783 + 0, 187, 187, 188, 189, 192, 193, 196, 197, 198, + 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, + 211, 212, 213, 216, 218, 220, 222, 224, 226, 228, + 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, + 250, 252, 254, 256, 258, 260, 262, 265, 267, 269, + 272, 277, 282, 284, 286, 288, 290, 292, 294, 296, + 300, 307, 306, 309, 311, 313, 317, 319, 321, 323, + 325, 327, 329, 331, 333, 335, 337, 339, 341, 343, + 345, 347, 349, 351, 353, 355, 359, 364, 369, 375, + 381, 386, 388, 390, 392, 397, 399, 401, 403, 405, + 407, 409, 411, 413, 417, 419, 424, 426, 444, 446, + 448, 450, 454, 456, 458, 460, 462, 464, 466, 468, + 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, + 490, 492, 496, 498, 500, 502, 504, 506, 508, 510, + 512, 514, 516, 518, 520, 522, 524, 528, 530, 532, + 536, 538, 542, 546, 549, 550, 553, 554, 557, 558, + 561, 562, 565, 566, 569, 570, 573, 577, 578, 581, + 582, 585, 586, 588, 592, 593, 596, 601, 606, 616, + 617, 620, 621, 622, 623, 624, 627, 629, 631, 632, + 633, 634, 635, 636, 637, 640, 645, 647, 649, 651, + 655, 661, 669, 670, 673, 674, 677, 678, 681, 682, + 683, 686, 687, 690, 691, 692, 693, 696, 697, 698, + 701, 702, 703, 704, 705, 708, 709, 710, 713, 723, + 724, 727, 731, 736, 741, 746, 748, 750, 752, 753, + 754, 755, 756, 757, 758, 760, 762, 764, 766, 767, + 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, + 778, 779, 780, 781, 782, 783, 784 }; #endif @@ -2497,217 +2498,217 @@ case 2: /* Line 1455 of yacc.c */ -#line 186 "mon_parse.y" +#line 187 "mon_parse.y" { (yyval.i) = 0; } break; case 3: /* Line 1455 of yacc.c */ -#line 187 "mon_parse.y" +#line 188 "mon_parse.y" { (yyval.i) = 0; } break; case 4: /* Line 1455 of yacc.c */ -#line 188 "mon_parse.y" +#line 189 "mon_parse.y" { new_cmd = 1; asm_mode = 0; (yyval.i) = 0; } break; case 9: /* Line 1455 of yacc.c */ -#line 197 "mon_parse.y" +#line 198 "mon_parse.y" { return ERR_EXPECT_END_CMD; } break; case 22: /* Line 1455 of yacc.c */ -#line 212 "mon_parse.y" +#line 213 "mon_parse.y" { return ERR_BAD_CMD; } break; case 23: /* Line 1455 of yacc.c */ -#line 216 "mon_parse.y" +#line 217 "mon_parse.y" { mon_bank(e_default_space, NULL); } break; case 24: /* Line 1455 of yacc.c */ -#line 218 "mon_parse.y" +#line 219 "mon_parse.y" { mon_bank((yyvsp[(2) - (3)].i), NULL); } break; case 25: /* Line 1455 of yacc.c */ -#line 220 "mon_parse.y" +#line 221 "mon_parse.y" { mon_bank(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 26: /* Line 1455 of yacc.c */ -#line 222 "mon_parse.y" +#line 223 "mon_parse.y" { mon_bank((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 27: /* Line 1455 of yacc.c */ -#line 224 "mon_parse.y" +#line 225 "mon_parse.y" { mon_jump((yyvsp[(2) - (3)].a)); } break; case 28: /* Line 1455 of yacc.c */ -#line 226 "mon_parse.y" +#line 227 "mon_parse.y" { mon_display_io_regs(0); } break; case 29: /* Line 1455 of yacc.c */ -#line 228 "mon_parse.y" +#line 229 "mon_parse.y" { mon_display_io_regs((yyvsp[(2) - (3)].a)); } break; case 30: /* Line 1455 of yacc.c */ -#line 230 "mon_parse.y" +#line 231 "mon_parse.y" { monitor_cpu_type_set(""); } break; case 31: /* Line 1455 of yacc.c */ -#line 232 "mon_parse.y" +#line 233 "mon_parse.y" { monitor_cpu_type_set((yyvsp[(2) - (3)].str)); } break; case 32: /* Line 1455 of yacc.c */ -#line 234 "mon_parse.y" +#line 235 "mon_parse.y" { mon_cpuhistory(-1); } break; case 33: /* Line 1455 of yacc.c */ -#line 236 "mon_parse.y" +#line 237 "mon_parse.y" { mon_cpuhistory((yyvsp[(3) - (4)].i)); } break; case 34: /* Line 1455 of yacc.c */ -#line 238 "mon_parse.y" +#line 239 "mon_parse.y" { mon_instruction_return(); } break; case 35: /* Line 1455 of yacc.c */ -#line 240 "mon_parse.y" +#line 241 "mon_parse.y" { machine_write_snapshot((yyvsp[(2) - (3)].str),0,0,0); /* FIXME */ } break; case 36: /* Line 1455 of yacc.c */ -#line 242 "mon_parse.y" +#line 243 "mon_parse.y" { machine_read_snapshot((yyvsp[(2) - (3)].str), 0); } break; case 37: /* Line 1455 of yacc.c */ -#line 244 "mon_parse.y" +#line 245 "mon_parse.y" { mon_instructions_step(-1); } break; case 38: /* Line 1455 of yacc.c */ -#line 246 "mon_parse.y" +#line 247 "mon_parse.y" { mon_instructions_step((yyvsp[(3) - (4)].i)); } break; case 39: /* Line 1455 of yacc.c */ -#line 248 "mon_parse.y" +#line 249 "mon_parse.y" { mon_instructions_next(-1); } break; case 40: /* Line 1455 of yacc.c */ -#line 250 "mon_parse.y" +#line 251 "mon_parse.y" { mon_instructions_next((yyvsp[(3) - (4)].i)); } break; case 41: /* Line 1455 of yacc.c */ -#line 252 "mon_parse.y" +#line 253 "mon_parse.y" { mon_stack_up(-1); } break; case 42: /* Line 1455 of yacc.c */ -#line 254 "mon_parse.y" +#line 255 "mon_parse.y" { mon_stack_up((yyvsp[(3) - (4)].i)); } break; case 43: /* Line 1455 of yacc.c */ -#line 256 "mon_parse.y" +#line 257 "mon_parse.y" { mon_stack_down(-1); } break; case 44: /* Line 1455 of yacc.c */ -#line 258 "mon_parse.y" +#line 259 "mon_parse.y" { mon_stack_down((yyvsp[(3) - (4)].i)); } break; case 45: /* Line 1455 of yacc.c */ -#line 260 "mon_parse.y" +#line 261 "mon_parse.y" { mon_display_screen(); } break; case 47: /* Line 1455 of yacc.c */ -#line 265 "mon_parse.y" +#line 266 "mon_parse.y" { (monitor_cpu_for_memspace[default_memspace]->mon_register_print)(default_memspace); } break; case 48: /* Line 1455 of yacc.c */ -#line 267 "mon_parse.y" +#line 268 "mon_parse.y" { (monitor_cpu_for_memspace[(yyvsp[(2) - (3)].i)]->mon_register_print)((yyvsp[(2) - (3)].i)); } break; case 50: /* Line 1455 of yacc.c */ -#line 272 "mon_parse.y" +#line 273 "mon_parse.y" { /* What about the memspace? */ mon_playback_init((yyvsp[(4) - (5)].str)); @@ -2717,7 +2718,7 @@ case 51: /* Line 1455 of yacc.c */ -#line 277 "mon_parse.y" +#line 278 "mon_parse.y" { /* What about the memspace? */ mon_playback_init((yyvsp[(2) - (3)].str)); @@ -2727,56 +2728,56 @@ case 52: /* Line 1455 of yacc.c */ -#line 282 "mon_parse.y" +#line 283 "mon_parse.y" { mon_save_symbols((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 53: /* Line 1455 of yacc.c */ -#line 284 "mon_parse.y" +#line 285 "mon_parse.y" { mon_save_symbols(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 54: /* Line 1455 of yacc.c */ -#line 286 "mon_parse.y" +#line 287 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(2) - (5)].a), (yyvsp[(4) - (5)].str)); } break; case 55: /* Line 1455 of yacc.c */ -#line 288 "mon_parse.y" +#line 289 "mon_parse.y" { mon_remove_name_from_symbol_table(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 56: /* Line 1455 of yacc.c */ -#line 290 "mon_parse.y" +#line 291 "mon_parse.y" { mon_remove_name_from_symbol_table((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 57: /* Line 1455 of yacc.c */ -#line 292 "mon_parse.y" +#line 293 "mon_parse.y" { mon_print_symbol_table((yyvsp[(2) - (3)].i)); } break; case 58: /* Line 1455 of yacc.c */ -#line 294 "mon_parse.y" +#line 295 "mon_parse.y" { mon_print_symbol_table(e_default_space); } break; case 59: /* Line 1455 of yacc.c */ -#line 296 "mon_parse.y" +#line 297 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(3) - (4)].a), mon_prepend_dot_to_name((yyvsp[(1) - (4)].str))); } @@ -2785,7 +2786,7 @@ case 60: /* Line 1455 of yacc.c */ -#line 300 "mon_parse.y" +#line 301 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(3) - (5)].a), mon_prepend_dot_to_name((yyvsp[(1) - (5)].str))); } @@ -2794,182 +2795,182 @@ case 61: /* Line 1455 of yacc.c */ -#line 306 "mon_parse.y" +#line 307 "mon_parse.y" { mon_start_assemble_mode((yyvsp[(2) - (2)].a), NULL); } break; case 62: /* Line 1455 of yacc.c */ -#line 307 "mon_parse.y" +#line 308 "mon_parse.y" { } break; case 63: /* Line 1455 of yacc.c */ -#line 309 "mon_parse.y" +#line 310 "mon_parse.y" { mon_start_assemble_mode((yyvsp[(2) - (3)].a), NULL); } break; case 64: /* Line 1455 of yacc.c */ -#line 311 "mon_parse.y" +#line 312 "mon_parse.y" { mon_disassemble_lines((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1]); } break; case 65: /* Line 1455 of yacc.c */ -#line 313 "mon_parse.y" +#line 314 "mon_parse.y" { mon_disassemble_lines(BAD_ADDR, BAD_ADDR); } break; case 66: /* Line 1455 of yacc.c */ -#line 317 "mon_parse.y" +#line 318 "mon_parse.y" { mon_memory_move((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1], (yyvsp[(4) - (5)].a)); } break; case 67: /* Line 1455 of yacc.c */ -#line 319 "mon_parse.y" +#line 320 "mon_parse.y" { mon_memory_compare((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[0], (yyvsp[(4) - (5)].a)); } break; case 68: /* Line 1455 of yacc.c */ -#line 321 "mon_parse.y" +#line 322 "mon_parse.y" { mon_memory_fill((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1],(unsigned char *)(yyvsp[(4) - (5)].str)); } break; case 69: /* Line 1455 of yacc.c */ -#line 323 "mon_parse.y" +#line 324 "mon_parse.y" { mon_memory_hunt((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1],(unsigned char *)(yyvsp[(4) - (5)].str)); } break; case 70: /* Line 1455 of yacc.c */ -#line 325 "mon_parse.y" +#line 326 "mon_parse.y" { mon_memory_display((yyvsp[(2) - (5)].rt), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], DF_PETSCII); } break; case 71: /* Line 1455 of yacc.c */ -#line 327 "mon_parse.y" +#line 328 "mon_parse.y" { mon_memory_display(default_radix, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_PETSCII); } break; case 72: /* Line 1455 of yacc.c */ -#line 329 "mon_parse.y" +#line 330 "mon_parse.y" { mon_memory_display(default_radix, BAD_ADDR, BAD_ADDR, DF_PETSCII); } break; case 73: /* Line 1455 of yacc.c */ -#line 331 "mon_parse.y" +#line 332 "mon_parse.y" { mon_memory_display_data((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], 8, 8); } break; case 74: /* Line 1455 of yacc.c */ -#line 333 "mon_parse.y" +#line 334 "mon_parse.y" { mon_memory_display_data(BAD_ADDR, BAD_ADDR, 8, 8); } break; case 75: /* Line 1455 of yacc.c */ -#line 335 "mon_parse.y" +#line 336 "mon_parse.y" { mon_memory_display_data((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], 24, 21); } break; case 76: /* Line 1455 of yacc.c */ -#line 337 "mon_parse.y" +#line 338 "mon_parse.y" { mon_memory_display_data(BAD_ADDR, BAD_ADDR, 24, 21); } break; case 77: /* Line 1455 of yacc.c */ -#line 339 "mon_parse.y" +#line 340 "mon_parse.y" { mon_memory_display(0, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_PETSCII); } break; case 78: /* Line 1455 of yacc.c */ -#line 341 "mon_parse.y" +#line 342 "mon_parse.y" { mon_memory_display(0, BAD_ADDR, BAD_ADDR, DF_PETSCII); } break; case 79: /* Line 1455 of yacc.c */ -#line 343 "mon_parse.y" +#line 344 "mon_parse.y" { mon_memory_display(0, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_SCREEN_CODE); } break; case 80: /* Line 1455 of yacc.c */ -#line 345 "mon_parse.y" +#line 346 "mon_parse.y" { mon_memory_display(0, BAD_ADDR, BAD_ADDR, DF_SCREEN_CODE); } break; case 81: /* Line 1455 of yacc.c */ -#line 347 "mon_parse.y" +#line 348 "mon_parse.y" { mon_memmap_zap(); } break; case 82: /* Line 1455 of yacc.c */ -#line 349 "mon_parse.y" +#line 350 "mon_parse.y" { mon_memmap_show(-1,BAD_ADDR,BAD_ADDR); } break; case 83: /* Line 1455 of yacc.c */ -#line 351 "mon_parse.y" +#line 352 "mon_parse.y" { mon_memmap_show((yyvsp[(3) - (4)].i),BAD_ADDR,BAD_ADDR); } break; case 84: /* Line 1455 of yacc.c */ -#line 353 "mon_parse.y" +#line 354 "mon_parse.y" { mon_memmap_show((yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].range)[0],(yyvsp[(4) - (5)].range)[1]); } break; case 85: /* Line 1455 of yacc.c */ -#line 355 "mon_parse.y" +#line 356 "mon_parse.y" { mon_memmap_save((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].i)); } break; case 86: /* Line 1455 of yacc.c */ -#line 359 "mon_parse.y" +#line 360 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], FALSE, FALSE, FALSE, FALSE); @@ -2979,7 +2980,7 @@ case 87: /* Line 1455 of yacc.c */ -#line 364 "mon_parse.y" +#line 365 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], FALSE, FALSE, FALSE, TRUE); @@ -2989,7 +2990,7 @@ case 88: /* Line 1455 of yacc.c */ -#line 369 "mon_parse.y" +#line 370 "mon_parse.y" { temp = mon_breakpoint_add_checkpoint((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1], FALSE, FALSE, FALSE, FALSE); @@ -3000,7 +3001,7 @@ case 89: /* Line 1455 of yacc.c */ -#line 375 "mon_parse.y" +#line 376 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], FALSE, ((yyvsp[(2) - (5)].i) == e_load || (yyvsp[(2) - (5)].i) == e_load_store), @@ -3011,7 +3012,7 @@ case 90: /* Line 1455 of yacc.c */ -#line 381 "mon_parse.y" +#line 382 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], TRUE, FALSE, FALSE, FALSE); @@ -3021,105 +3022,105 @@ case 91: /* Line 1455 of yacc.c */ -#line 386 "mon_parse.y" +#line 387 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 92: /* Line 1455 of yacc.c */ -#line 388 "mon_parse.y" +#line 389 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 93: /* Line 1455 of yacc.c */ -#line 390 "mon_parse.y" +#line 391 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 94: /* Line 1455 of yacc.c */ -#line 392 "mon_parse.y" +#line 393 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 95: /* Line 1455 of yacc.c */ -#line 397 "mon_parse.y" +#line 398 "mon_parse.y" { mon_breakpoint_switch_checkpoint(e_ON, (yyvsp[(2) - (3)].i)); } break; case 96: /* Line 1455 of yacc.c */ -#line 399 "mon_parse.y" +#line 400 "mon_parse.y" { mon_breakpoint_switch_checkpoint(e_OFF, (yyvsp[(2) - (3)].i)); } break; case 97: /* Line 1455 of yacc.c */ -#line 401 "mon_parse.y" +#line 402 "mon_parse.y" { mon_breakpoint_set_ignore_count((yyvsp[(2) - (3)].i), -1); } break; case 98: /* Line 1455 of yacc.c */ -#line 403 "mon_parse.y" +#line 404 "mon_parse.y" { mon_breakpoint_set_ignore_count((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].i)); } break; case 99: /* Line 1455 of yacc.c */ -#line 405 "mon_parse.y" +#line 406 "mon_parse.y" { mon_breakpoint_delete_checkpoint((yyvsp[(2) - (3)].i)); } break; case 100: /* Line 1455 of yacc.c */ -#line 407 "mon_parse.y" +#line 408 "mon_parse.y" { mon_breakpoint_delete_checkpoint(-1); } break; case 101: /* Line 1455 of yacc.c */ -#line 409 "mon_parse.y" +#line 410 "mon_parse.y" { mon_breakpoint_set_checkpoint_condition((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].cond_node)); } break; case 102: /* Line 1455 of yacc.c */ -#line 411 "mon_parse.y" +#line 412 "mon_parse.y" { mon_breakpoint_set_checkpoint_command((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 103: /* Line 1455 of yacc.c */ -#line 413 "mon_parse.y" +#line 414 "mon_parse.y" { return ERR_EXPECT_STRING; } break; case 104: /* Line 1455 of yacc.c */ -#line 417 "mon_parse.y" +#line 418 "mon_parse.y" { sidefx = (((yyvsp[(2) - (3)].action) == e_TOGGLE) ? (sidefx ^ 1) : (yyvsp[(2) - (3)].action)); } break; case 105: /* Line 1455 of yacc.c */ -#line 419 "mon_parse.y" +#line 420 "mon_parse.y" { mon_out("I/O side effects are %s\n", sidefx ? "enabled" : "disabled"); @@ -3129,14 +3130,14 @@ case 106: /* Line 1455 of yacc.c */ -#line 424 "mon_parse.y" +#line 425 "mon_parse.y" { default_radix = (yyvsp[(2) - (3)].rt); } break; case 107: /* Line 1455 of yacc.c */ -#line 426 "mon_parse.y" +#line 427 "mon_parse.y" { const char *p; @@ -3158,448 +3159,448 @@ case 108: /* Line 1455 of yacc.c */ -#line 444 "mon_parse.y" +#line 445 "mon_parse.y" { monitor_change_device((yyvsp[(2) - (3)].i)); } break; case 109: /* Line 1455 of yacc.c */ -#line 446 "mon_parse.y" +#line 447 "mon_parse.y" { mon_export(); } break; case 110: /* Line 1455 of yacc.c */ -#line 448 "mon_parse.y" +#line 449 "mon_parse.y" { mon_quit(); YYACCEPT; } break; case 111: /* Line 1455 of yacc.c */ -#line 450 "mon_parse.y" +#line 451 "mon_parse.y" { exit_mon = 1; YYACCEPT; } break; case 112: /* Line 1455 of yacc.c */ -#line 454 "mon_parse.y" +#line 455 "mon_parse.y" { mon_drive_execute_disk_cmd((yyvsp[(2) - (3)].str)); } break; case 113: /* Line 1455 of yacc.c */ -#line 456 "mon_parse.y" +#line 457 "mon_parse.y" { mon_out("\t%d\n",(yyvsp[(2) - (3)].i)); } break; case 114: /* Line 1455 of yacc.c */ -#line 458 "mon_parse.y" +#line 459 "mon_parse.y" { mon_command_print_help(NULL); } break; case 115: /* Line 1455 of yacc.c */ -#line 460 "mon_parse.y" +#line 461 "mon_parse.y" { mon_command_print_help((yyvsp[(2) - (3)].str)); } break; case 116: /* Line 1455 of yacc.c */ -#line 462 "mon_parse.y" +#line 463 "mon_parse.y" { printf("SYSTEM COMMAND: %s\n",(yyvsp[(2) - (3)].str)); } break; case 117: /* Line 1455 of yacc.c */ -#line 464 "mon_parse.y" +#line 465 "mon_parse.y" { mon_print_convert((yyvsp[(2) - (3)].i)); } break; case 118: /* Line 1455 of yacc.c */ -#line 466 "mon_parse.y" +#line 467 "mon_parse.y" { mon_change_dir((yyvsp[(2) - (3)].str)); } break; case 119: /* Line 1455 of yacc.c */ -#line 468 "mon_parse.y" +#line 469 "mon_parse.y" { mon_keyboard_feed((yyvsp[(2) - (3)].str)); } break; case 120: /* Line 1455 of yacc.c */ -#line 470 "mon_parse.y" +#line 471 "mon_parse.y" { mon_backtrace(); } break; case 121: /* Line 1455 of yacc.c */ -#line 472 "mon_parse.y" +#line 473 "mon_parse.y" { mon_show_dir((yyvsp[(2) - (3)].str)); } break; case 122: /* Line 1455 of yacc.c */ -#line 474 "mon_parse.y" +#line 475 "mon_parse.y" { mon_show_pwd(); } break; case 123: /* Line 1455 of yacc.c */ -#line 476 "mon_parse.y" +#line 477 "mon_parse.y" { mon_screenshot_save((yyvsp[(2) - (3)].str),-1); } break; case 124: /* Line 1455 of yacc.c */ -#line 478 "mon_parse.y" +#line 479 "mon_parse.y" { mon_screenshot_save((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].i)); } break; case 125: /* Line 1455 of yacc.c */ -#line 480 "mon_parse.y" +#line 481 "mon_parse.y" { mon_resource_get((yyvsp[(2) - (3)].str)); } break; case 126: /* Line 1455 of yacc.c */ -#line 482 "mon_parse.y" +#line 483 "mon_parse.y" { mon_resource_set((yyvsp[(2) - (4)].str),(yyvsp[(3) - (4)].str)); } break; case 127: /* Line 1455 of yacc.c */ -#line 484 "mon_parse.y" +#line 485 "mon_parse.y" { mon_reset_machine(-1); } break; case 128: /* Line 1455 of yacc.c */ -#line 486 "mon_parse.y" +#line 487 "mon_parse.y" { mon_reset_machine((yyvsp[(3) - (4)].i)); } break; case 129: /* Line 1455 of yacc.c */ -#line 488 "mon_parse.y" +#line 489 "mon_parse.y" { mon_tape_ctrl((yyvsp[(3) - (4)].i)); } break; case 130: /* Line 1455 of yacc.c */ -#line 490 "mon_parse.y" +#line 491 "mon_parse.y" { mon_cart_freeze(); } break; case 131: /* Line 1455 of yacc.c */ -#line 492 "mon_parse.y" +#line 493 "mon_parse.y" { } break; case 132: /* Line 1455 of yacc.c */ -#line 496 "mon_parse.y" +#line 497 "mon_parse.y" { mon_file_load((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].a), FALSE); } break; case 133: /* Line 1455 of yacc.c */ -#line 498 "mon_parse.y" +#line 499 "mon_parse.y" { mon_file_load((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].a), TRUE); } break; case 134: /* Line 1455 of yacc.c */ -#line 500 "mon_parse.y" +#line 501 "mon_parse.y" { mon_file_save((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], FALSE); } break; case 135: /* Line 1455 of yacc.c */ -#line 502 "mon_parse.y" +#line 503 "mon_parse.y" { return ERR_EXPECT_DEVICE_NUM; } break; case 136: /* Line 1455 of yacc.c */ -#line 504 "mon_parse.y" +#line 505 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 137: /* Line 1455 of yacc.c */ -#line 506 "mon_parse.y" +#line 507 "mon_parse.y" { mon_file_save((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], TRUE); } break; case 138: /* Line 1455 of yacc.c */ -#line 508 "mon_parse.y" +#line 509 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 139: /* Line 1455 of yacc.c */ -#line 510 "mon_parse.y" +#line 511 "mon_parse.y" { mon_file_verify((yyvsp[(2) - (5)].str),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 140: /* Line 1455 of yacc.c */ -#line 512 "mon_parse.y" +#line 513 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 141: /* Line 1455 of yacc.c */ -#line 514 "mon_parse.y" +#line 515 "mon_parse.y" { mon_drive_block_cmd(0,(yyvsp[(2) - (5)].i),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 142: /* Line 1455 of yacc.c */ -#line 516 "mon_parse.y" +#line 517 "mon_parse.y" { mon_drive_block_cmd(1,(yyvsp[(2) - (5)].i),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 143: /* Line 1455 of yacc.c */ -#line 518 "mon_parse.y" +#line 519 "mon_parse.y" { mon_drive_list(-1); } break; case 144: /* Line 1455 of yacc.c */ -#line 520 "mon_parse.y" +#line 521 "mon_parse.y" { mon_drive_list((yyvsp[(2) - (3)].i)); } break; case 145: /* Line 1455 of yacc.c */ -#line 522 "mon_parse.y" +#line 523 "mon_parse.y" { mon_attach((yyvsp[(2) - (4)].str),(yyvsp[(3) - (4)].i)); } break; case 146: /* Line 1455 of yacc.c */ -#line 524 "mon_parse.y" +#line 525 "mon_parse.y" { mon_detach((yyvsp[(2) - (3)].i)); } break; case 147: /* Line 1455 of yacc.c */ -#line 528 "mon_parse.y" +#line 529 "mon_parse.y" { mon_record_commands((yyvsp[(2) - (3)].str)); } break; case 148: /* Line 1455 of yacc.c */ -#line 530 "mon_parse.y" +#line 531 "mon_parse.y" { mon_end_recording(); } break; case 149: /* Line 1455 of yacc.c */ -#line 532 "mon_parse.y" +#line 533 "mon_parse.y" { mon_playback_init((yyvsp[(2) - (3)].str)); } break; case 150: /* Line 1455 of yacc.c */ -#line 536 "mon_parse.y" +#line 537 "mon_parse.y" { mon_memory_fill((yyvsp[(2) - (4)].a), BAD_ADDR, (unsigned char *)(yyvsp[(3) - (4)].str)); } break; case 151: /* Line 1455 of yacc.c */ -#line 538 "mon_parse.y" +#line 539 "mon_parse.y" { printf("Not yet.\n"); } break; case 152: /* Line 1455 of yacc.c */ -#line 542 "mon_parse.y" +#line 543 "mon_parse.y" { yydebug = 1; } break; case 153: /* Line 1455 of yacc.c */ -#line 545 "mon_parse.y" +#line 546 "mon_parse.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 154: /* Line 1455 of yacc.c */ -#line 548 "mon_parse.y" +#line 549 "mon_parse.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 155: /* Line 1455 of yacc.c */ -#line 549 "mon_parse.y" +#line 550 "mon_parse.y" { (yyval.str) = NULL; } break; case 157: /* Line 1455 of yacc.c */ -#line 553 "mon_parse.y" +#line 554 "mon_parse.y" { return ERR_EXPECT_FILENAME; } break; case 159: /* Line 1455 of yacc.c */ -#line 557 "mon_parse.y" +#line 558 "mon_parse.y" { return ERR_EXPECT_DEVICE_NUM; } break; case 160: /* Line 1455 of yacc.c */ -#line 560 "mon_parse.y" +#line 561 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 161: /* Line 1455 of yacc.c */ -#line 561 "mon_parse.y" +#line 562 "mon_parse.y" { (yyval.i) = e_load_store; } break; case 162: /* Line 1455 of yacc.c */ -#line 564 "mon_parse.y" +#line 565 "mon_parse.y" { (yyval.i) = new_reg(default_memspace, (yyvsp[(1) - (1)].reg)); } break; case 163: /* Line 1455 of yacc.c */ -#line 565 "mon_parse.y" +#line 566 "mon_parse.y" { (yyval.i) = new_reg((yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].reg)); } break; case 166: /* Line 1455 of yacc.c */ -#line 573 "mon_parse.y" +#line 574 "mon_parse.y" { (monitor_cpu_for_memspace[reg_memspace((yyvsp[(1) - (3)].i))]->mon_register_set_val)(reg_memspace((yyvsp[(1) - (3)].i)), reg_regid((yyvsp[(1) - (3)].i)), (WORD) (yyvsp[(3) - (3)].i)); } break; case 167: /* Line 1455 of yacc.c */ -#line 576 "mon_parse.y" +#line 577 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 168: /* Line 1455 of yacc.c */ -#line 577 "mon_parse.y" +#line 578 "mon_parse.y" { return ERR_EXPECT_BRKNUM; } break; case 170: /* Line 1455 of yacc.c */ -#line 581 "mon_parse.y" +#line 582 "mon_parse.y" { (yyval.range)[0] = (yyvsp[(1) - (1)].a); (yyval.range)[1] = BAD_ADDR; } break; case 171: /* Line 1455 of yacc.c */ -#line 584 "mon_parse.y" +#line 585 "mon_parse.y" { (yyval.range)[0] = (yyvsp[(1) - (3)].a); (yyval.range)[1] = (yyvsp[(3) - (3)].a); } break; case 172: /* Line 1455 of yacc.c */ -#line 586 "mon_parse.y" +#line 587 "mon_parse.y" { if (resolve_range(e_default_space, (yyval.range), (yyvsp[(1) - (1)].str))) return ERR_ADDR_TOO_BIG; } break; case 173: /* Line 1455 of yacc.c */ -#line 588 "mon_parse.y" +#line 589 "mon_parse.y" { if (resolve_range((yyvsp[(1) - (3)].i), (yyval.range), (yyvsp[(3) - (3)].str))) return ERR_ADDR_TOO_BIG; } break; case 174: /* Line 1455 of yacc.c */ -#line 591 "mon_parse.y" +#line 592 "mon_parse.y" { (yyval.a) = (yyvsp[(2) - (2)].a); } break; case 175: /* Line 1455 of yacc.c */ -#line 592 "mon_parse.y" +#line 593 "mon_parse.y" { (yyval.a) = BAD_ADDR; } break; case 176: /* Line 1455 of yacc.c */ -#line 596 "mon_parse.y" +#line 597 "mon_parse.y" { (yyval.a) = new_addr(e_default_space,(yyvsp[(1) - (1)].i)); if (opt_asm) new_cmd = asm_mode = 1; @@ -3609,7 +3610,7 @@ case 177: /* Line 1455 of yacc.c */ -#line 601 "mon_parse.y" +#line 602 "mon_parse.y" { (yyval.a) = new_addr((yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].i)); if (opt_asm) new_cmd = asm_mode = 1; @@ -3619,7 +3620,7 @@ case 178: /* Line 1455 of yacc.c */ -#line 606 "mon_parse.y" +#line 607 "mon_parse.y" { temp = mon_symbol_table_lookup_addr(e_default_space, (yyvsp[(1) - (1)].str)); if (temp >= 0) @@ -3632,105 +3633,105 @@ case 181: /* Line 1455 of yacc.c */ -#line 619 "mon_parse.y" +#line 620 "mon_parse.y" { (yyval.i) = e_comp_space; } break; case 182: /* Line 1455 of yacc.c */ -#line 620 "mon_parse.y" +#line 621 "mon_parse.y" { (yyval.i) = e_disk8_space; } break; case 183: /* Line 1455 of yacc.c */ -#line 621 "mon_parse.y" +#line 622 "mon_parse.y" { (yyval.i) = e_disk9_space; } break; case 184: /* Line 1455 of yacc.c */ -#line 622 "mon_parse.y" +#line 623 "mon_parse.y" { (yyval.i) = e_disk10_space; } break; case 185: /* Line 1455 of yacc.c */ -#line 623 "mon_parse.y" +#line 624 "mon_parse.y" { (yyval.i) = e_disk11_space; } break; case 186: /* Line 1455 of yacc.c */ -#line 626 "mon_parse.y" +#line 627 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); if (!CHECK_ADDR((yyvsp[(1) - (1)].i))) return ERR_ADDR_TOO_BIG; } break; case 187: /* Line 1455 of yacc.c */ -#line 628 "mon_parse.y" +#line 629 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 188: /* Line 1455 of yacc.c */ -#line 630 "mon_parse.y" +#line 631 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) + (yyvsp[(3) - (3)].i); } break; case 189: /* Line 1455 of yacc.c */ -#line 631 "mon_parse.y" +#line 632 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) - (yyvsp[(3) - (3)].i); } break; case 190: /* Line 1455 of yacc.c */ -#line 632 "mon_parse.y" +#line 633 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) * (yyvsp[(3) - (3)].i); } break; case 191: /* Line 1455 of yacc.c */ -#line 633 "mon_parse.y" +#line 634 "mon_parse.y" { (yyval.i) = ((yyvsp[(3) - (3)].i)) ? ((yyvsp[(1) - (3)].i) / (yyvsp[(3) - (3)].i)) : 1; } break; case 192: /* Line 1455 of yacc.c */ -#line 634 "mon_parse.y" +#line 635 "mon_parse.y" { (yyval.i) = (yyvsp[(2) - (3)].i); } break; case 193: /* Line 1455 of yacc.c */ -#line 635 "mon_parse.y" +#line 636 "mon_parse.y" { return ERR_MISSING_CLOSE_PAREN; } break; case 194: /* Line 1455 of yacc.c */ -#line 636 "mon_parse.y" +#line 637 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 195: /* Line 1455 of yacc.c */ -#line 640 "mon_parse.y" +#line 641 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->is_parenthized = FALSE; (yyval.cond_node)->child1 = (yyvsp[(1) - (3)].cond_node); (yyval.cond_node)->child2 = (yyvsp[(3) - (3)].cond_node); (yyval.cond_node)->operation = (yyvsp[(2) - (3)].cond_op); @@ -3740,35 +3741,35 @@ case 196: /* Line 1455 of yacc.c */ -#line 645 "mon_parse.y" +#line 646 "mon_parse.y" { return ERR_INCOMPLETE_COMPARE_OP; } break; case 197: /* Line 1455 of yacc.c */ -#line 647 "mon_parse.y" +#line 648 "mon_parse.y" { (yyval.cond_node) = (yyvsp[(2) - (3)].cond_node); (yyval.cond_node)->is_parenthized = TRUE; } break; case 198: /* Line 1455 of yacc.c */ -#line 649 "mon_parse.y" +#line 650 "mon_parse.y" { return ERR_MISSING_CLOSE_PAREN; } break; case 199: /* Line 1455 of yacc.c */ -#line 651 "mon_parse.y" +#line 652 "mon_parse.y" { (yyval.cond_node) = (yyvsp[(1) - (1)].cond_node); } break; case 200: /* Line 1455 of yacc.c */ -#line 654 "mon_parse.y" +#line 655 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->operation = e_INV; (yyval.cond_node)->is_parenthized = FALSE; @@ -3780,7 +3781,7 @@ case 201: /* Line 1455 of yacc.c */ -#line 660 "mon_parse.y" +#line 661 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->operation = e_INV; (yyval.cond_node)->is_parenthized = FALSE; @@ -3792,140 +3793,140 @@ case 204: /* Line 1455 of yacc.c */ -#line 672 "mon_parse.y" +#line 673 "mon_parse.y" { mon_add_number_to_buffer((yyvsp[(1) - (1)].i)); } break; case 205: /* Line 1455 of yacc.c */ -#line 673 "mon_parse.y" +#line 674 "mon_parse.y" { mon_add_string_to_buffer((yyvsp[(1) - (1)].str)); } break; case 208: /* Line 1455 of yacc.c */ -#line 680 "mon_parse.y" +#line 681 "mon_parse.y" { mon_add_number_to_buffer((yyvsp[(1) - (1)].i)); } break; case 209: /* Line 1455 of yacc.c */ -#line 681 "mon_parse.y" +#line 682 "mon_parse.y" { mon_add_number_masked_to_buffer((yyvsp[(1) - (1)].i), 0x00); } break; case 210: /* Line 1455 of yacc.c */ -#line 682 "mon_parse.y" +#line 683 "mon_parse.y" { mon_add_string_to_buffer((yyvsp[(1) - (1)].str)); } break; case 211: /* Line 1455 of yacc.c */ -#line 685 "mon_parse.y" +#line 686 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 212: /* Line 1455 of yacc.c */ -#line 686 "mon_parse.y" +#line 687 "mon_parse.y" { (yyval.i) = (monitor_cpu_for_memspace[reg_memspace((yyvsp[(1) - (1)].i))]->mon_register_get_val)(reg_memspace((yyvsp[(1) - (1)].i)), reg_regid((yyvsp[(1) - (1)].i))); } break; case 213: /* Line 1455 of yacc.c */ -#line 689 "mon_parse.y" +#line 690 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 214: /* Line 1455 of yacc.c */ -#line 690 "mon_parse.y" +#line 691 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 215: /* Line 1455 of yacc.c */ -#line 691 "mon_parse.y" +#line 692 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 216: /* Line 1455 of yacc.c */ -#line 692 "mon_parse.y" +#line 693 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 217: /* Line 1455 of yacc.c */ -#line 695 "mon_parse.y" +#line 696 "mon_parse.y" { (yyval.i) = resolve_datatype(B_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 218: /* Line 1455 of yacc.c */ -#line 696 "mon_parse.y" +#line 697 "mon_parse.y" { (yyval.i) = resolve_datatype(O_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 219: /* Line 1455 of yacc.c */ -#line 697 "mon_parse.y" +#line 698 "mon_parse.y" { (yyval.i) = resolve_datatype(D_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 220: /* Line 1455 of yacc.c */ -#line 700 "mon_parse.y" +#line 701 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 221: /* Line 1455 of yacc.c */ -#line 701 "mon_parse.y" +#line 702 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 222: /* Line 1455 of yacc.c */ -#line 702 "mon_parse.y" +#line 703 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 223: /* Line 1455 of yacc.c */ -#line 703 "mon_parse.y" +#line 704 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 224: /* Line 1455 of yacc.c */ -#line 704 "mon_parse.y" +#line 705 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 228: /* Line 1455 of yacc.c */ -#line 712 "mon_parse.y" +#line 713 "mon_parse.y" { (yyval.i) = 0; if ((yyvsp[(1) - (2)].str)) { (monitor_cpu_for_memspace[default_memspace]->mon_assemble_instr)((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].i)); @@ -3940,14 +3941,14 @@ case 230: /* Line 1455 of yacc.c */ -#line 723 "mon_parse.y" +#line 724 "mon_parse.y" { asm_mode = 0; } break; case 231: /* Line 1455 of yacc.c */ -#line 726 "mon_parse.y" +#line 727 "mon_parse.y" { if ((yyvsp[(2) - (2)].i) > 0xff) (yyval.i) = join_ints(ASM_ADDR_MODE_IMMEDIATE_16,(yyvsp[(2) - (2)].i)); else @@ -3957,7 +3958,7 @@ case 232: /* Line 1455 of yacc.c */ -#line 730 "mon_parse.y" +#line 731 "mon_parse.y" { if ((yyvsp[(1) - (1)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE,(yyvsp[(1) - (1)].i)); else @@ -3968,7 +3969,7 @@ case 233: /* Line 1455 of yacc.c */ -#line 735 "mon_parse.y" +#line 736 "mon_parse.y" { if ((yyvsp[(1) - (3)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE_X,(yyvsp[(1) - (3)].i)); else @@ -3979,7 +3980,7 @@ case 234: /* Line 1455 of yacc.c */ -#line 740 "mon_parse.y" +#line 741 "mon_parse.y" { if ((yyvsp[(1) - (3)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE_Y,(yyvsp[(1) - (3)].i)); else @@ -3990,231 +3991,231 @@ case 235: /* Line 1455 of yacc.c */ -#line 746 "mon_parse.y" +#line 747 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABS_INDIRECT,(yyvsp[(2) - (3)].i)); } break; case 236: /* Line 1455 of yacc.c */ -#line 748 "mon_parse.y" +#line 749 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_INDIRECT_X,(yyvsp[(2) - (5)].i)); } break; case 237: /* Line 1455 of yacc.c */ -#line 750 "mon_parse.y" +#line 751 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_INDIRECT_Y,(yyvsp[(2) - (5)].i)); } break; case 238: /* Line 1455 of yacc.c */ -#line 751 "mon_parse.y" +#line 752 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_BC,0); } break; case 239: /* Line 1455 of yacc.c */ -#line 752 "mon_parse.y" +#line 753 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_DE,0); } break; case 240: /* Line 1455 of yacc.c */ -#line 753 "mon_parse.y" +#line 754 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_HL,0); } break; case 241: /* Line 1455 of yacc.c */ -#line 754 "mon_parse.y" +#line 755 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_IX,0); } break; case 242: /* Line 1455 of yacc.c */ -#line 755 "mon_parse.y" +#line 756 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_IY,0); } break; case 243: /* Line 1455 of yacc.c */ -#line 756 "mon_parse.y" +#line 757 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_SP,0); } break; case 244: /* Line 1455 of yacc.c */ -#line 758 "mon_parse.y" +#line 759 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_A,(yyvsp[(2) - (5)].i)); } break; case 245: /* Line 1455 of yacc.c */ -#line 760 "mon_parse.y" +#line 761 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_HL,(yyvsp[(2) - (5)].i)); } break; case 246: /* Line 1455 of yacc.c */ -#line 762 "mon_parse.y" +#line 763 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_IX,(yyvsp[(2) - (5)].i)); } break; case 247: /* Line 1455 of yacc.c */ -#line 764 "mon_parse.y" +#line 765 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_IY,(yyvsp[(2) - (5)].i)); } break; case 248: /* Line 1455 of yacc.c */ -#line 765 "mon_parse.y" +#line 766 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_IMPLIED,0); } break; case 249: /* Line 1455 of yacc.c */ -#line 766 "mon_parse.y" +#line 767 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ACCUMULATOR,0); } break; case 250: /* Line 1455 of yacc.c */ -#line 767 "mon_parse.y" +#line 768 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_B,0); } break; case 251: /* Line 1455 of yacc.c */ -#line 768 "mon_parse.y" +#line 769 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_C,0); } break; case 252: /* Line 1455 of yacc.c */ -#line 769 "mon_parse.y" +#line 770 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_D,0); } break; case 253: /* Line 1455 of yacc.c */ -#line 770 "mon_parse.y" +#line 771 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_E,0); } break; case 254: /* Line 1455 of yacc.c */ -#line 771 "mon_parse.y" +#line 772 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_H,0); } break; case 255: /* Line 1455 of yacc.c */ -#line 772 "mon_parse.y" +#line 773 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IXH,0); } break; case 256: /* Line 1455 of yacc.c */ -#line 773 "mon_parse.y" +#line 774 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IYH,0); } break; case 257: /* Line 1455 of yacc.c */ -#line 774 "mon_parse.y" +#line 775 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_L,0); } break; case 258: /* Line 1455 of yacc.c */ -#line 775 "mon_parse.y" +#line 776 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IXL,0); } break; case 259: /* Line 1455 of yacc.c */ -#line 776 "mon_parse.y" +#line 777 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IYL,0); } break; case 260: /* Line 1455 of yacc.c */ -#line 777 "mon_parse.y" +#line 778 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_AF,0); } break; case 261: /* Line 1455 of yacc.c */ -#line 778 "mon_parse.y" +#line 779 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_BC,0); } break; case 262: /* Line 1455 of yacc.c */ -#line 779 "mon_parse.y" +#line 780 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_DE,0); } break; case 263: /* Line 1455 of yacc.c */ -#line 780 "mon_parse.y" +#line 781 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_HL,0); } break; case 264: /* Line 1455 of yacc.c */ -#line 781 "mon_parse.y" +#line 782 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IX,0); } break; case 265: /* Line 1455 of yacc.c */ -#line 782 "mon_parse.y" +#line 783 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IY,0); } break; case 266: /* Line 1455 of yacc.c */ -#line 783 "mon_parse.y" +#line 784 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_SP,0); } break; /* Line 1455 of yacc.c */ -#line 4218 "mon_parse.c" +#line 4219 "mon_parse.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -4426,7 +4427,7 @@ /* Line 1675 of yacc.c */ -#line 787 "mon_parse.y" +#line 788 "mon_parse.y" void parse_and_execute_line(char *input) @@ -4442,7 +4443,8 @@ temp_buf[i++] = '\0'; make_buffer(temp_buf); - if ( (rc =yyparse()) != 0) { + rc = yyparse(); + if (rc && fallback_parse(input)) { mon_out("ERROR -- "); switch(rc) { case ERR_BAD_CMD: Modified: trunk/vice/src/monitor/mon_parse.h =================================================================== --- trunk/vice/src/monitor/mon_parse.h 2010-09-07 18:02:15 UTC (rev 22830) +++ trunk/vice/src/monitor/mon_parse.h 2010-09-07 18:17:08 UTC (rev 22831) @@ -341,7 +341,7 @@ { /* Line 1676 of yacc.c */ -#line 127 "mon_parse.y" +#line 128 "mon_parse.y" MON_ADDR a; MON_ADDR range[2]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tl...@us...> - 2010-09-09 19:03:06
|
Revision: 22835 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=22835&view=rev Author: tlr Date: 2010-09-09 19:02:59 +0000 (Thu, 09 Sep 2010) Log Message: ----------- Reverted commits r22827, r22830-r22832 to remove the obsoleted monitor fallback parser. Modified Paths: -------------- trunk/vice/src/monitor/Makefile.am trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.h trunk/vice/src/monitor/mon_parse.y Removed Paths: ------------- trunk/vice/src/monitor/mon_fallback.c trunk/vice/src/monitor/mon_fallback.h Modified: trunk/vice/src/monitor/Makefile.am =================================================================== --- trunk/vice/src/monitor/Makefile.am 2010-09-08 19:32:29 UTC (rev 22834) +++ trunk/vice/src/monitor/Makefile.am 2010-09-09 19:02:59 UTC (rev 22835) @@ -30,8 +30,6 @@ mon_disassemble.h \ mon_drive.c \ mon_drive.h \ - mon_fallback.c \ - mon_fallback.h \ mon_file.c \ mon_file.h \ mon_memory.c \ Deleted: trunk/vice/src/monitor/mon_fallback.c =================================================================== --- trunk/vice/src/monitor/mon_fallback.c 2010-09-08 19:32:29 UTC (rev 22834) +++ trunk/vice/src/monitor/mon_fallback.c 2010-09-09 19:02:59 UTC (rev 22835) @@ -1,144 +0,0 @@ -/* - * mon_fallback.c - The VICE built-in monitor. - * - * Written by - * Daniel Kahlin <da...@ka...> - * - * This file is part of VICE, the Versatile Commodore Emulator. - * See README for copyright notice. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - * 02111-1307 USA. - * - */ - -#include "vice.h" - -#include <ctype.h> - -#include "mon_disassemble.h" -#include "mon_memory.h" -#include "monitor.h" -#include "montypes.h" - - -/* undefine to remove the experimental fallback parser. */ -#define HAVE_FALLBACK_PARSER 1 - - -static char *skip_ws(char *str) -{ - /* skip white space */ - while( *str && isspace(*str) ) { - str++; - } - return str; -} - - -static char *get_hex(char *str, int n, int *val) -{ - int i; - int v = 0; - - for (i = 0; i < n; i++) { - char c; - int t = 0; - str = skip_ws(str); - if (*str == 0) { - break; - } - - c = tolower(*str); - if (c >= '0' && c <= '9') { - t = c - '0'; - } else if (c >= 'a' && c <= 'f') { - t = c - 'a' + 10; - } - v <<= 4; - v |= t; - str++; - } - *val = v; - return str; -} - -static char *may_get_addr(char *str, MON_ADDR *a) -{ - int v; - str = get_hex(str, 4, &v); - *a = new_addr(e_default_space, v); - return str; -} - -static char *may_get_range(char *str, MON_ADDR *a1, MON_ADDR *a2) -{ - int v; - - *a1 = new_addr(e_invalid_space, 0); - *a2 = new_addr(e_invalid_space, 0); - - str = get_hex(str, 4, &v); - *a1 = new_addr(e_default_space, v); - str = skip_ws(str); - if (*str != 0) { - str = get_hex(str, 4, &v); - *a2 = new_addr(e_default_space, v); - } - return str; -} - - -#ifndef HAVE_FALLBACK_PARSER -int fallback_parse(char *str) -{ - return 1; -} -#endif - -#ifdef HAVE_FALLBACK_PARSER -int fallback_parse(char *str) -{ - MON_ADDR a1,a2; - str = skip_ws(str); - if (*str == 0) { - return 1; - } - - switch ( tolower(*str++) ) { - case 'd': - str = may_get_range(str, &a1, &a2); - mon_disassemble_lines(a1, a2); - return 0; - case 'g': - str = may_get_addr(str, &a1); - mon_jump(a1); - return 0; - case 'i': - str = may_get_range(str, &a1, &a2); - mon_memory_display(0, a1, a2, DF_PETSCII); - return 0; - case 'm': - str = may_get_range(str, &a1, &a2); - mon_memory_display(default_radix, a1, a2, DF_PETSCII); - return 0; - default: - break; - } - - return 1; -} -#endif - Deleted: trunk/vice/src/monitor/mon_fallback.h =================================================================== --- trunk/vice/src/monitor/mon_fallback.h 2010-09-08 19:32:29 UTC (rev 22834) +++ trunk/vice/src/monitor/mon_fallback.h 2010-09-09 19:02:59 UTC (rev 22835) @@ -1,31 +0,0 @@ -/* - * mon_fallback.h - The VICE built-in monitor. - * - * Written by - * Daniel Kahlin <da...@ka...> - * - * This file is part of VICE, the Versatile Commodore Emulator. - * See README for copyright notice. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - * 02111-1307 USA. - * - */ -#ifndef MON_FALLBACK_H -#define MON_FALLBACK_H - -int fallback_parse(char *str); - -#endif Modified: trunk/vice/src/monitor/mon_parse.c =================================================================== --- trunk/vice/src/monitor/mon_parse.c 2010-09-08 19:32:29 UTC (rev 22834) +++ trunk/vice/src/monitor/mon_parse.c 2010-09-09 19:02:59 UTC (rev 22835) @@ -142,7 +142,6 @@ #include "mon_command.h" #include "mon_disassemble.h" #include "mon_drive.h" -#include "mon_fallback.h" #include "mon_file.h" #include "mon_memory.h" #include "mon_util.h" @@ -197,7 +196,7 @@ /* Line 189 of yacc.c */ -#line 201 "mon_parse.c" +#line 200 "mon_parse.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -526,7 +525,7 @@ { /* Line 214 of yacc.c */ -#line 128 "mon_parse.y" +#line 127 "mon_parse.y" MON_ADDR a; MON_ADDR range[2]; @@ -541,7 +540,7 @@ /* Line 214 of yacc.c */ -#line 545 "mon_parse.c" +#line 544 "mon_parse.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -553,7 +552,7 @@ /* Line 264 of yacc.c */ -#line 557 "mon_parse.c" +#line 556 "mon_parse.c" #ifdef short # undef short @@ -964,33 +963,33 @@ /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 187, 187, 188, 189, 192, 193, 196, 197, 198, - 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 216, 218, 220, 222, 224, 226, 228, - 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, - 250, 252, 254, 256, 258, 260, 262, 265, 267, 269, - 272, 277, 282, 284, 286, 288, 290, 292, 294, 296, - 300, 307, 306, 309, 311, 313, 317, 319, 321, 323, - 325, 327, 329, 331, 333, 335, 337, 339, 341, 343, - 345, 347, 349, 351, 353, 355, 359, 364, 369, 375, - 381, 386, 388, 390, 392, 397, 399, 401, 403, 405, - 407, 409, 411, 413, 417, 419, 424, 426, 444, 446, - 448, 450, 454, 456, 458, 460, 462, 464, 466, 468, - 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, - 490, 492, 496, 498, 500, 502, 504, 506, 508, 510, - 512, 514, 516, 518, 520, 522, 524, 528, 530, 532, - 536, 538, 542, 546, 549, 550, 553, 554, 557, 558, - 561, 562, 565, 566, 569, 570, 573, 577, 578, 581, - 582, 585, 586, 588, 592, 593, 596, 601, 606, 616, - 617, 620, 621, 622, 623, 624, 627, 629, 631, 632, - 633, 634, 635, 636, 637, 640, 645, 647, 649, 651, - 655, 661, 669, 670, 673, 674, 677, 678, 681, 682, - 683, 686, 687, 690, 691, 692, 693, 696, 697, 698, - 701, 702, 703, 704, 705, 708, 709, 710, 713, 723, - 724, 727, 731, 736, 741, 746, 748, 750, 752, 753, - 754, 755, 756, 757, 758, 760, 762, 764, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, - 778, 779, 780, 781, 782, 783, 784 + 0, 186, 186, 187, 188, 191, 192, 195, 196, 197, + 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 215, 217, 219, 221, 223, 225, 227, + 229, 231, 233, 235, 237, 239, 241, 243, 245, 247, + 249, 251, 253, 255, 257, 259, 261, 264, 266, 268, + 271, 276, 281, 283, 285, 287, 289, 291, 293, 295, + 299, 306, 305, 308, 310, 312, 316, 318, 320, 322, + 324, 326, 328, 330, 332, 334, 336, 338, 340, 342, + 344, 346, 348, 350, 352, 354, 358, 363, 368, 374, + 380, 385, 387, 389, 391, 396, 398, 400, 402, 404, + 406, 408, 410, 412, 416, 418, 423, 425, 443, 445, + 447, 449, 453, 455, 457, 459, 461, 463, 465, 467, + 469, 471, 473, 475, 477, 479, 481, 483, 485, 487, + 489, 491, 495, 497, 499, 501, 503, 505, 507, 509, + 511, 513, 515, 517, 519, 521, 523, 527, 529, 531, + 535, 537, 541, 545, 548, 549, 552, 553, 556, 557, + 560, 561, 564, 565, 568, 569, 572, 576, 577, 580, + 581, 584, 585, 587, 591, 592, 595, 600, 605, 615, + 616, 619, 620, 621, 622, 623, 626, 628, 630, 631, + 632, 633, 634, 635, 636, 639, 644, 646, 648, 650, + 654, 660, 668, 669, 672, 673, 676, 677, 680, 681, + 682, 685, 686, 689, 690, 691, 692, 695, 696, 697, + 700, 701, 702, 703, 704, 707, 708, 709, 712, 722, + 723, 726, 730, 735, 740, 745, 747, 749, 751, 752, + 753, 754, 755, 756, 757, 759, 761, 763, 765, 766, + 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, + 777, 778, 779, 780, 781, 782, 783 }; #endif @@ -2498,217 +2497,217 @@ case 2: /* Line 1455 of yacc.c */ -#line 187 "mon_parse.y" +#line 186 "mon_parse.y" { (yyval.i) = 0; } break; case 3: /* Line 1455 of yacc.c */ -#line 188 "mon_parse.y" +#line 187 "mon_parse.y" { (yyval.i) = 0; } break; case 4: /* Line 1455 of yacc.c */ -#line 189 "mon_parse.y" +#line 188 "mon_parse.y" { new_cmd = 1; asm_mode = 0; (yyval.i) = 0; } break; case 9: /* Line 1455 of yacc.c */ -#line 198 "mon_parse.y" +#line 197 "mon_parse.y" { return ERR_EXPECT_END_CMD; } break; case 22: /* Line 1455 of yacc.c */ -#line 213 "mon_parse.y" +#line 212 "mon_parse.y" { return ERR_BAD_CMD; } break; case 23: /* Line 1455 of yacc.c */ -#line 217 "mon_parse.y" +#line 216 "mon_parse.y" { mon_bank(e_default_space, NULL); } break; case 24: /* Line 1455 of yacc.c */ -#line 219 "mon_parse.y" +#line 218 "mon_parse.y" { mon_bank((yyvsp[(2) - (3)].i), NULL); } break; case 25: /* Line 1455 of yacc.c */ -#line 221 "mon_parse.y" +#line 220 "mon_parse.y" { mon_bank(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 26: /* Line 1455 of yacc.c */ -#line 223 "mon_parse.y" +#line 222 "mon_parse.y" { mon_bank((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 27: /* Line 1455 of yacc.c */ -#line 225 "mon_parse.y" +#line 224 "mon_parse.y" { mon_jump((yyvsp[(2) - (3)].a)); } break; case 28: /* Line 1455 of yacc.c */ -#line 227 "mon_parse.y" +#line 226 "mon_parse.y" { mon_display_io_regs(0); } break; case 29: /* Line 1455 of yacc.c */ -#line 229 "mon_parse.y" +#line 228 "mon_parse.y" { mon_display_io_regs((yyvsp[(2) - (3)].a)); } break; case 30: /* Line 1455 of yacc.c */ -#line 231 "mon_parse.y" +#line 230 "mon_parse.y" { monitor_cpu_type_set(""); } break; case 31: /* Line 1455 of yacc.c */ -#line 233 "mon_parse.y" +#line 232 "mon_parse.y" { monitor_cpu_type_set((yyvsp[(2) - (3)].str)); } break; case 32: /* Line 1455 of yacc.c */ -#line 235 "mon_parse.y" +#line 234 "mon_parse.y" { mon_cpuhistory(-1); } break; case 33: /* Line 1455 of yacc.c */ -#line 237 "mon_parse.y" +#line 236 "mon_parse.y" { mon_cpuhistory((yyvsp[(3) - (4)].i)); } break; case 34: /* Line 1455 of yacc.c */ -#line 239 "mon_parse.y" +#line 238 "mon_parse.y" { mon_instruction_return(); } break; case 35: /* Line 1455 of yacc.c */ -#line 241 "mon_parse.y" +#line 240 "mon_parse.y" { machine_write_snapshot((yyvsp[(2) - (3)].str),0,0,0); /* FIXME */ } break; case 36: /* Line 1455 of yacc.c */ -#line 243 "mon_parse.y" +#line 242 "mon_parse.y" { machine_read_snapshot((yyvsp[(2) - (3)].str), 0); } break; case 37: /* Line 1455 of yacc.c */ -#line 245 "mon_parse.y" +#line 244 "mon_parse.y" { mon_instructions_step(-1); } break; case 38: /* Line 1455 of yacc.c */ -#line 247 "mon_parse.y" +#line 246 "mon_parse.y" { mon_instructions_step((yyvsp[(3) - (4)].i)); } break; case 39: /* Line 1455 of yacc.c */ -#line 249 "mon_parse.y" +#line 248 "mon_parse.y" { mon_instructions_next(-1); } break; case 40: /* Line 1455 of yacc.c */ -#line 251 "mon_parse.y" +#line 250 "mon_parse.y" { mon_instructions_next((yyvsp[(3) - (4)].i)); } break; case 41: /* Line 1455 of yacc.c */ -#line 253 "mon_parse.y" +#line 252 "mon_parse.y" { mon_stack_up(-1); } break; case 42: /* Line 1455 of yacc.c */ -#line 255 "mon_parse.y" +#line 254 "mon_parse.y" { mon_stack_up((yyvsp[(3) - (4)].i)); } break; case 43: /* Line 1455 of yacc.c */ -#line 257 "mon_parse.y" +#line 256 "mon_parse.y" { mon_stack_down(-1); } break; case 44: /* Line 1455 of yacc.c */ -#line 259 "mon_parse.y" +#line 258 "mon_parse.y" { mon_stack_down((yyvsp[(3) - (4)].i)); } break; case 45: /* Line 1455 of yacc.c */ -#line 261 "mon_parse.y" +#line 260 "mon_parse.y" { mon_display_screen(); } break; case 47: /* Line 1455 of yacc.c */ -#line 266 "mon_parse.y" +#line 265 "mon_parse.y" { (monitor_cpu_for_memspace[default_memspace]->mon_register_print)(default_memspace); } break; case 48: /* Line 1455 of yacc.c */ -#line 268 "mon_parse.y" +#line 267 "mon_parse.y" { (monitor_cpu_for_memspace[(yyvsp[(2) - (3)].i)]->mon_register_print)((yyvsp[(2) - (3)].i)); } break; case 50: /* Line 1455 of yacc.c */ -#line 273 "mon_parse.y" +#line 272 "mon_parse.y" { /* What about the memspace? */ mon_playback_init((yyvsp[(4) - (5)].str)); @@ -2718,7 +2717,7 @@ case 51: /* Line 1455 of yacc.c */ -#line 278 "mon_parse.y" +#line 277 "mon_parse.y" { /* What about the memspace? */ mon_playback_init((yyvsp[(2) - (3)].str)); @@ -2728,56 +2727,56 @@ case 52: /* Line 1455 of yacc.c */ -#line 283 "mon_parse.y" +#line 282 "mon_parse.y" { mon_save_symbols((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 53: /* Line 1455 of yacc.c */ -#line 285 "mon_parse.y" +#line 284 "mon_parse.y" { mon_save_symbols(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 54: /* Line 1455 of yacc.c */ -#line 287 "mon_parse.y" +#line 286 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(2) - (5)].a), (yyvsp[(4) - (5)].str)); } break; case 55: /* Line 1455 of yacc.c */ -#line 289 "mon_parse.y" +#line 288 "mon_parse.y" { mon_remove_name_from_symbol_table(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 56: /* Line 1455 of yacc.c */ -#line 291 "mon_parse.y" +#line 290 "mon_parse.y" { mon_remove_name_from_symbol_table((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 57: /* Line 1455 of yacc.c */ -#line 293 "mon_parse.y" +#line 292 "mon_parse.y" { mon_print_symbol_table((yyvsp[(2) - (3)].i)); } break; case 58: /* Line 1455 of yacc.c */ -#line 295 "mon_parse.y" +#line 294 "mon_parse.y" { mon_print_symbol_table(e_default_space); } break; case 59: /* Line 1455 of yacc.c */ -#line 297 "mon_parse.y" +#line 296 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(3) - (4)].a), mon_prepend_dot_to_name((yyvsp[(1) - (4)].str))); } @@ -2786,7 +2785,7 @@ case 60: /* Line 1455 of yacc.c */ -#line 301 "mon_parse.y" +#line 300 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(3) - (5)].a), mon_prepend_dot_to_name((yyvsp[(1) - (5)].str))); } @@ -2795,182 +2794,182 @@ case 61: /* Line 1455 of yacc.c */ -#line 307 "mon_parse.y" +#line 306 "mon_parse.y" { mon_start_assemble_mode((yyvsp[(2) - (2)].a), NULL); } break; case 62: /* Line 1455 of yacc.c */ -#line 308 "mon_parse.y" +#line 307 "mon_parse.y" { } break; case 63: /* Line 1455 of yacc.c */ -#line 310 "mon_parse.y" +#line 309 "mon_parse.y" { mon_start_assemble_mode((yyvsp[(2) - (3)].a), NULL); } break; case 64: /* Line 1455 of yacc.c */ -#line 312 "mon_parse.y" +#line 311 "mon_parse.y" { mon_disassemble_lines((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1]); } break; case 65: /* Line 1455 of yacc.c */ -#line 314 "mon_parse.y" +#line 313 "mon_parse.y" { mon_disassemble_lines(BAD_ADDR, BAD_ADDR); } break; case 66: /* Line 1455 of yacc.c */ -#line 318 "mon_parse.y" +#line 317 "mon_parse.y" { mon_memory_move((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1], (yyvsp[(4) - (5)].a)); } break; case 67: /* Line 1455 of yacc.c */ -#line 320 "mon_parse.y" +#line 319 "mon_parse.y" { mon_memory_compare((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[0], (yyvsp[(4) - (5)].a)); } break; case 68: /* Line 1455 of yacc.c */ -#line 322 "mon_parse.y" +#line 321 "mon_parse.y" { mon_memory_fill((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1],(unsigned char *)(yyvsp[(4) - (5)].str)); } break; case 69: /* Line 1455 of yacc.c */ -#line 324 "mon_parse.y" +#line 323 "mon_parse.y" { mon_memory_hunt((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1],(unsigned char *)(yyvsp[(4) - (5)].str)); } break; case 70: /* Line 1455 of yacc.c */ -#line 326 "mon_parse.y" +#line 325 "mon_parse.y" { mon_memory_display((yyvsp[(2) - (5)].rt), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], DF_PETSCII); } break; case 71: /* Line 1455 of yacc.c */ -#line 328 "mon_parse.y" +#line 327 "mon_parse.y" { mon_memory_display(default_radix, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_PETSCII); } break; case 72: /* Line 1455 of yacc.c */ -#line 330 "mon_parse.y" +#line 329 "mon_parse.y" { mon_memory_display(default_radix, BAD_ADDR, BAD_ADDR, DF_PETSCII); } break; case 73: /* Line 1455 of yacc.c */ -#line 332 "mon_parse.y" +#line 331 "mon_parse.y" { mon_memory_display_data((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], 8, 8); } break; case 74: /* Line 1455 of yacc.c */ -#line 334 "mon_parse.y" +#line 333 "mon_parse.y" { mon_memory_display_data(BAD_ADDR, BAD_ADDR, 8, 8); } break; case 75: /* Line 1455 of yacc.c */ -#line 336 "mon_parse.y" +#line 335 "mon_parse.y" { mon_memory_display_data((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], 24, 21); } break; case 76: /* Line 1455 of yacc.c */ -#line 338 "mon_parse.y" +#line 337 "mon_parse.y" { mon_memory_display_data(BAD_ADDR, BAD_ADDR, 24, 21); } break; case 77: /* Line 1455 of yacc.c */ -#line 340 "mon_parse.y" +#line 339 "mon_parse.y" { mon_memory_display(0, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_PETSCII); } break; case 78: /* Line 1455 of yacc.c */ -#line 342 "mon_parse.y" +#line 341 "mon_parse.y" { mon_memory_display(0, BAD_ADDR, BAD_ADDR, DF_PETSCII); } break; case 79: /* Line 1455 of yacc.c */ -#line 344 "mon_parse.y" +#line 343 "mon_parse.y" { mon_memory_display(0, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_SCREEN_CODE); } break; case 80: /* Line 1455 of yacc.c */ -#line 346 "mon_parse.y" +#line 345 "mon_parse.y" { mon_memory_display(0, BAD_ADDR, BAD_ADDR, DF_SCREEN_CODE); } break; case 81: /* Line 1455 of yacc.c */ -#line 348 "mon_parse.y" +#line 347 "mon_parse.y" { mon_memmap_zap(); } break; case 82: /* Line 1455 of yacc.c */ -#line 350 "mon_parse.y" +#line 349 "mon_parse.y" { mon_memmap_show(-1,BAD_ADDR,BAD_ADDR); } break; case 83: /* Line 1455 of yacc.c */ -#line 352 "mon_parse.y" +#line 351 "mon_parse.y" { mon_memmap_show((yyvsp[(3) - (4)].i),BAD_ADDR,BAD_ADDR); } break; case 84: /* Line 1455 of yacc.c */ -#line 354 "mon_parse.y" +#line 353 "mon_parse.y" { mon_memmap_show((yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].range)[0],(yyvsp[(4) - (5)].range)[1]); } break; case 85: /* Line 1455 of yacc.c */ -#line 356 "mon_parse.y" +#line 355 "mon_parse.y" { mon_memmap_save((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].i)); } break; case 86: /* Line 1455 of yacc.c */ -#line 360 "mon_parse.y" +#line 359 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], FALSE, FALSE, FALSE, FALSE); @@ -2980,7 +2979,7 @@ case 87: /* Line 1455 of yacc.c */ -#line 365 "mon_parse.y" +#line 364 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], FALSE, FALSE, FALSE, TRUE); @@ -2990,7 +2989,7 @@ case 88: /* Line 1455 of yacc.c */ -#line 370 "mon_parse.y" +#line 369 "mon_parse.y" { temp = mon_breakpoint_add_checkpoint((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1], FALSE, FALSE, FALSE, FALSE); @@ -3001,7 +3000,7 @@ case 89: /* Line 1455 of yacc.c */ -#line 376 "mon_parse.y" +#line 375 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], FALSE, ((yyvsp[(2) - (5)].i) == e_load || (yyvsp[(2) - (5)].i) == e_load_store), @@ -3012,7 +3011,7 @@ case 90: /* Line 1455 of yacc.c */ -#line 382 "mon_parse.y" +#line 381 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], TRUE, FALSE, FALSE, FALSE); @@ -3022,105 +3021,105 @@ case 91: /* Line 1455 of yacc.c */ -#line 387 "mon_parse.y" +#line 386 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 92: /* Line 1455 of yacc.c */ -#line 389 "mon_parse.y" +#line 388 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 93: /* Line 1455 of yacc.c */ -#line 391 "mon_parse.y" +#line 390 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 94: /* Line 1455 of yacc.c */ -#line 393 "mon_parse.y" +#line 392 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 95: /* Line 1455 of yacc.c */ -#line 398 "mon_parse.y" +#line 397 "mon_parse.y" { mon_breakpoint_switch_checkpoint(e_ON, (yyvsp[(2) - (3)].i)); } break; case 96: /* Line 1455 of yacc.c */ -#line 400 "mon_parse.y" +#line 399 "mon_parse.y" { mon_breakpoint_switch_checkpoint(e_OFF, (yyvsp[(2) - (3)].i)); } break; case 97: /* Line 1455 of yacc.c */ -#line 402 "mon_parse.y" +#line 401 "mon_parse.y" { mon_breakpoint_set_ignore_count((yyvsp[(2) - (3)].i), -1); } break; case 98: /* Line 1455 of yacc.c */ -#line 404 "mon_parse.y" +#line 403 "mon_parse.y" { mon_breakpoint_set_ignore_count((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].i)); } break; case 99: /* Line 1455 of yacc.c */ -#line 406 "mon_parse.y" +#line 405 "mon_parse.y" { mon_breakpoint_delete_checkpoint((yyvsp[(2) - (3)].i)); } break; case 100: /* Line 1455 of yacc.c */ -#line 408 "mon_parse.y" +#line 407 "mon_parse.y" { mon_breakpoint_delete_checkpoint(-1); } break; case 101: /* Line 1455 of yacc.c */ -#line 410 "mon_parse.y" +#line 409 "mon_parse.y" { mon_breakpoint_set_checkpoint_condition((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].cond_node)); } break; case 102: /* Line 1455 of yacc.c */ -#line 412 "mon_parse.y" +#line 411 "mon_parse.y" { mon_breakpoint_set_checkpoint_command((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 103: /* Line 1455 of yacc.c */ -#line 414 "mon_parse.y" +#line 413 "mon_parse.y" { return ERR_EXPECT_STRING; } break; case 104: /* Line 1455 of yacc.c */ -#line 418 "mon_parse.y" +#line 417 "mon_parse.y" { sidefx = (((yyvsp[(2) - (3)].action) == e_TOGGLE) ? (sidefx ^ 1) : (yyvsp[(2) - (3)].action)); } break; case 105: /* Line 1455 of yacc.c */ -#line 420 "mon_parse.y" +#line 419 "mon_parse.y" { mon_out("I/O side effects are %s\n", sidefx ? "enabled" : "disabled"); @@ -3130,14 +3129,14 @@ case 106: /* Line 1455 of yacc.c */ -#line 425 "mon_parse.y" +#line 424 "mon_parse.y" { default_radix = (yyvsp[(2) - (3)].rt); } break; case 107: /* Line 1455 of yacc.c */ -#line 427 "mon_parse.y" +#line 426 "mon_parse.y" { const char *p; @@ -3159,448 +3158,448 @@ case 108: /* Line 1455 of yacc.c */ -#line 445 "mon_parse.y" +#line 444 "mon_parse.y" { monitor_change_device((yyvsp[(2) - (3)].i)); } break; case 109: /* Line 1455 of yacc.c */ -#line 447 "mon_parse.y" +#line 446 "mon_parse.y" { mon_export(); } break; case 110: /* Line 1455 of yacc.c */ -#line 449 "mon_parse.y" +#line 448 "mon_parse.y" { mon_quit(); YYACCEPT; } break; case 111: /* Line 1455 of yacc.c */ -#line 451 "mon_parse.y" +#line 450 "mon_parse.y" { exit_mon = 1; YYACCEPT; } break; case 112: /* Line 1455 of yacc.c */ -#line 455 "mon_parse.y" +#line 454 "mon_parse.y" { mon_drive_execute_disk_cmd((yyvsp[(2) - (3)].str)); } break; case 113: /* Line 1455 of yacc.c */ -#line 457 "mon_parse.y" +#line 456 "mon_parse.y" { mon_out("\t%d\n",(yyvsp[(2) - (3)].i)); } break; case 114: /* Line 1455 of yacc.c */ -#line 459 "mon_parse.y" +#line 458 "mon_parse.y" { mon_command_print_help(NULL); } break; case 115: /* Line 1455 of yacc.c */ -#line 461 "mon_parse.y" +#line 460 "mon_parse.y" { mon_command_print_help((yyvsp[(2) - (3)].str)); } break; case 116: /* Line 1455 of yacc.c */ -#line 463 "mon_parse.y" +#line 462 "mon_parse.y" { printf("SYSTEM COMMAND: %s\n",(yyvsp[(2) - (3)].str)); } break; case 117: /* Line 1455 of yacc.c */ -#line 465 "mon_parse.y" +#line 464 "mon_parse.y" { mon_print_convert((yyvsp[(2) - (3)].i)); } break; case 118: /* Line 1455 of yacc.c */ -#line 467 "mon_parse.y" +#line 466 "mon_parse.y" { mon_change_dir((yyvsp[(2) - (3)].str)); } break; case 119: /* Line 1455 of yacc.c */ -#line 469 "mon_parse.y" +#line 468 "mon_parse.y" { mon_keyboard_feed((yyvsp[(2) - (3)].str)); } break; case 120: /* Line 1455 of yacc.c */ -#line 471 "mon_parse.y" +#line 470 "mon_parse.y" { mon_backtrace(); } break; case 121: /* Line 1455 of yacc.c */ -#line 473 "mon_parse.y" +#line 472 "mon_parse.y" { mon_show_dir((yyvsp[(2) - (3)].str)); } break; case 122: /* Line 1455 of yacc.c */ -#line 475 "mon_parse.y" +#line 474 "mon_parse.y" { mon_show_pwd(); } break; case 123: /* Line 1455 of yacc.c */ -#line 477 "mon_parse.y" +#line 476 "mon_parse.y" { mon_screenshot_save((yyvsp[(2) - (3)].str),-1); } break; case 124: /* Line 1455 of yacc.c */ -#line 479 "mon_parse.y" +#line 478 "mon_parse.y" { mon_screenshot_save((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].i)); } break; case 125: /* Line 1455 of yacc.c */ -#line 481 "mon_parse.y" +#line 480 "mon_parse.y" { mon_resource_get((yyvsp[(2) - (3)].str)); } break; case 126: /* Line 1455 of yacc.c */ -#line 483 "mon_parse.y" +#line 482 "mon_parse.y" { mon_resource_set((yyvsp[(2) - (4)].str),(yyvsp[(3) - (4)].str)); } break; case 127: /* Line 1455 of yacc.c */ -#line 485 "mon_parse.y" +#line 484 "mon_parse.y" { mon_reset_machine(-1); } break; case 128: /* Line 1455 of yacc.c */ -#line 487 "mon_parse.y" +#line 486 "mon_parse.y" { mon_reset_machine((yyvsp[(3) - (4)].i)); } break; case 129: /* Line 1455 of yacc.c */ -#line 489 "mon_parse.y" +#line 488 "mon_parse.y" { mon_tape_ctrl((yyvsp[(3) - (4)].i)); } break; case 130: /* Line 1455 of yacc.c */ -#line 491 "mon_parse.y" +#line 490 "mon_parse.y" { mon_cart_freeze(); } break; case 131: /* Line 1455 of yacc.c */ -#line 493 "mon_parse.y" +#line 492 "mon_parse.y" { } break; case 132: /* Line 1455 of yacc.c */ -#line 497 "mon_parse.y" +#line 496 "mon_parse.y" { mon_file_load((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].a), FALSE); } break; case 133: /* Line 1455 of yacc.c */ -#line 499 "mon_parse.y" +#line 498 "mon_parse.y" { mon_file_load((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].a), TRUE); } break; case 134: /* Line 1455 of yacc.c */ -#line 501 "mon_parse.y" +#line 500 "mon_parse.y" { mon_file_save((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], FALSE); } break; case 135: /* Line 1455 of yacc.c */ -#line 503 "mon_parse.y" +#line 502 "mon_parse.y" { return ERR_EXPECT_DEVICE_NUM; } break; case 136: /* Line 1455 of yacc.c */ -#line 505 "mon_parse.y" +#line 504 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 137: /* Line 1455 of yacc.c */ -#line 507 "mon_parse.y" +#line 506 "mon_parse.y" { mon_file_save((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], TRUE); } break; case 138: /* Line 1455 of yacc.c */ -#line 509 "mon_parse.y" +#line 508 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 139: /* Line 1455 of yacc.c */ -#line 511 "mon_parse.y" +#line 510 "mon_parse.y" { mon_file_verify((yyvsp[(2) - (5)].str),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 140: /* Line 1455 of yacc.c */ -#line 513 "mon_parse.y" +#line 512 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 141: /* Line 1455 of yacc.c */ -#line 515 "mon_parse.y" +#line 514 "mon_parse.y" { mon_drive_block_cmd(0,(yyvsp[(2) - (5)].i),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 142: /* Line 1455 of yacc.c */ -#line 517 "mon_parse.y" +#line 516 "mon_parse.y" { mon_drive_block_cmd(1,(yyvsp[(2) - (5)].i),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 143: /* Line 1455 of yacc.c */ -#line 519 "mon_parse.y" +#line 518 "mon_parse.y" { mon_drive_list(-1); } break; case 144: /* Line 1455 of yacc.c */ -#line 521 "mon_parse.y" +#line 520 "mon_parse.y" { mon_drive_list((yyvsp[(2) - (3)].i)); } break; case 145: /* Line 1455 of yacc.c */ -#line 523 "mon_parse.y" +#line 522 "mon_parse.y" { mon_attach((yyvsp[(2) - (4)].str),(yyvsp[(3) - (4)].i)); } break; case 146: /* Line 1455 of yacc.c */ -#line 525 "mon_parse.y" +#line 524 "mon_parse.y" { mon_detach((yyvsp[(2) - (3)].i)); } break; case 147: /* Line 1455 of yacc.c */ -#line 529 "mon_parse.y" +#line 528 "mon_parse.y" { mon_record_commands((yyvsp[(2) - (3)].str)); } break; case 148: /* Line 1455 of yacc.c */ -#line 531 "mon_parse.y" +#line 530 "mon_parse.y" { mon_end_recording(); } break; case 149: /* Line 1455 of yacc.c */ -#line 533 "mon_parse.y" +#line 532 "mon_parse.y" { mon_playback_init((yyvsp[(2) - (3)].str)); } break; case 150: /* Line 1455 of yacc.c */ -#line 537 "mon_parse.y" +#line 536 "mon_parse.y" { mon_memory_fill((yyvsp[(2) - (4)].a), BAD_ADDR, (unsigned char *)(yyvsp[(3) - (4)].str)); } break; case 151: /* Line 1455 of yacc.c */ -#line 539 "mon_parse.y" +#line 538 "mon_parse.y" { printf("Not yet.\n"); } break; case 152: /* Line 1455 of yacc.c */ -#line 543 "mon_parse.y" +#line 542 "mon_parse.y" { yydebug = 1; } break; case 153: /* Line 1455 of yacc.c */ -#line 546 "mon_parse.y" +#line 545 "mon_parse.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 154: /* Line 1455 of yacc.c */ -#line 549 "mon_parse.y" +#line 548 "mon_parse.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 155: /* Line 1455 of yacc.c */ -#line 550 "mon_parse.y" +#line 549 "mon_parse.y" { (yyval.str) = NULL; } break; case 157: /* Line 1455 of yacc.c */ -#line 554 "mon_parse.y" +#line 553 "mon_parse.y" { return ERR_EXPECT_FILENAME; } break; case 159: /* Line 1455 of yacc.c */ -#line 558 "mon_parse.y" +#line 557 "mon_parse.y" { return ERR_EXPECT_DEVICE_NUM; } break; case 160: /* Line 1455 of yacc.c */ -#line 561 "mon_parse.y" +#line 560 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 161: /* Line 1455 of yacc.c */ -#line 562 "mon_parse.y" +#line 561 "mon_parse.y" { (yyval.i) = e_load_store; } break; case 162: /* Line 1455 of yacc.c */ -#line 565 "mon_parse.y" +#line 564 "mon_parse.y" { (yyval.i) = new_reg(default_memspace, (yyvsp[(1) - (1)].reg)); } break; case 163: /* Line 1455 of yacc.c */ -#line 566 "mon_parse.y" +#line 565 "mon_parse.y" { (yyval.i) = new_reg((yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].reg)); } break; case 166: /* Line 1455 of yacc.c */ -#line 574 "mon_parse.y" +#line 573 "mon_parse.y" { (monitor_cpu_for_memspace[reg_memspace((yyvsp[(1) - (3)].i))]->mon_register_set_val)(reg_memspace((yyvsp[(1) - (3)].i)), reg_regid((yyvsp[(1) - (3)].i)), (WORD) (yyvsp[(3) - (3)].i)); } break; case 167: /* Line 1455 of yacc.c */ -#line 577 "mon_parse.y" +#line 576 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 168: /* Line 1455 of yacc.c */ -#line 578 "mon_parse.y" +#line 577 "mon_parse.y" { return ERR_EXPECT_BRKNUM; } break; case 170: /* Line 1455 of yacc.c */ -#line 582 "mon_parse.y" +#line 581 "mon_parse.y" { (yyval.range)[0] = (yyvsp[(1) - (1)].a); (yyval.range)[1] = BAD_ADDR; } break; case 171: /* Line 1455 of yacc.c */ -#line 585 "mon_parse.y" +#line 584 "mon_parse.y" { (yyval.range)[0] = (yyvsp[(1) - (3)].a); (yyval.range)[1] = (yyvsp[(3) - (3)].a); } break; case 172: /* Line 1455 of yacc.c */ -#line 587 "mon_parse.y" +#line 586 "mon_parse.y" { if (resolve_range(e_default_space, (yyval.range), (yyvsp[(1) - (1)].str))) return ERR_ADDR_TOO_BIG; } break; case 173: /* Line 1455 of yacc.c */ -#line 589 "mon_parse.y" +#line 588 "mon_parse.y" { if (resolve_range((yyvsp[(1) - (3)].i), (yyval.range), (yyvsp[(3) - (3)].str))) return ERR_ADDR_TOO_BIG; } break; case 174: /* Line 1455 of yacc.c */ -#line 592 "mon_parse.y" +#line 591 "mon_parse.y" { (yyval.a) = (yyvsp[(2) - (2)].a); } break; case 175: /* Line 1455 of yacc.c */ -#line 593 "mon_parse.y" +#line 592 "mon_parse.y" { (yyval.a) = BAD_ADDR; } break; case 176: /* Line 1455 of yacc.c */ -#line 597 "mon_parse.y" +#line 596 "mon_parse.y" { (yyval.a) = new_addr(e_default_space,(yyvsp[(1) - (1)].i)); if (opt_asm) new_cmd = asm_mode = 1; @@ -3610,7 +3609,7 @@ case 177: /* Line 1455 of yacc.c */ -#line 602 "mon_parse.y" +#line 601 "mon_parse.y" { (yyval.a) = new_addr((yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].i)); if (opt_asm) new_cmd = asm_mode = 1; @@ -3620,7 +3619,7 @@ case 178: /* Line 1455 of yacc.c */ -#line 607 "mon_parse.y" +#line 606 "mon_parse.y" { temp = mon_symbol_table_lookup_addr(e_default_space, (yyvsp[(1) - (1)].str)); if (temp >= 0) @@ -3633,105 +3632,105 @@ case 181: /* Line 1455 of yacc.c */ -#line 620 "mon_parse.y" +#line 619 "mon_parse.y" { (yyval.i) = e_comp_space; } break; case 182: /* Line 1455 of yacc.c */ -#line 621 "mon_parse.y" +#line 620 "mon_parse.y" { (yyval.i) = e_disk8_space; } break; case 183: /* Line 1455 of yacc.c */ -#line 622 "mon_parse.y" +#line 621 "mon_parse.y" { (yyval.i) = e_disk9_space; } break; case 184: /* Line 1455 of yacc.c */ -#line 623 "mon_parse.y" +#line 622 "mon_parse.y" { (yyval.i) = e_disk10_space; } break; case 185: /* Line 1455 of yacc.c */ -#line 624 "mon_parse.y" +#line 623 "mon_parse.y" { (yyval.i) = e_disk11_space; } break; case 186: /* Line 1455 of yacc.c */ -#line 627 "mon_parse.y" +#line 626 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); if (!CHECK_ADDR((yyvsp[(1) - (1)].i))) return ERR_ADDR_TOO_BIG; } break; case 187: /* Line 1455 of yacc.c */ -#line 629 "mon_parse.y" +#line 628 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 188: /* Line 1455 of yacc.c */ -#line 631 "mon_parse.y" +#line 630 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) + (yyvsp[(3) - (3)].i); } break; case 189: /* Line 1455 of yacc.c */ -#line 632 "mon_parse.y" +#line 631 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) - (yyvsp[(3) - (3)].i); } break; case 190: /* Line 1455 of yacc.c */ -#line 633 "mon_parse.y" +#line 632 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) * (yyvsp[(3) - (3)].i); } break; case 191: /* Line 1455 of yacc.c */ -#line 634 "mon_parse.y" +#line 633 "mon_parse.y" { (yyval.i) = ((yyvsp[(3) - (3)].i)) ? ((yyvsp[(1) - (3)].i) / (yyvsp[(3) - (3)].i)) : 1; } break; case 192: /* Line 1455 of yacc.c */ -#line 635 "mon_parse.y" +#line 634 "mon_parse.y" { (yyval.i) = (yyvsp[(2) - (3)].i); } break; case 193: /* Line 1455 of yacc.c */ -#line 636 "mon_parse.y" +#line 635 "mon_parse.y" { return ERR_MISSING_CLOSE_PAREN; } break; case 194: /* Line 1455 of yacc.c */ -#line 637 "mon_parse.y" +#line 636 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 195: /* Line 1455 of yacc.c */ -#line 641 "mon_parse.y" +#line 640 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->is_parenthized = FALSE; (yyval.cond_node)->child1 = (yyvsp[(1) - (3)].cond_node); (yyval.cond_node)->child2 = (yyvsp[(3) - (3)].cond_node); (yyval.cond_node)->operation = (yyvsp[(2) - (3)].cond_op); @@ -3741,35 +3740,35 @@ case 196: /* Line 1455 of yacc.c */ -#line 646 "mon_parse.y" +#line 645 "mon_parse.y" { return ERR_INCOMPLETE_COMPARE_OP; } break; case 197: /* Line 1455 of yacc.c */ -#line 648 "mon_parse.y" +#line 647 "mon_parse.y" { (yyval.cond_node) = (yyvsp[(2) - (3)].cond_node); (yyval.cond_node)->is_parenthized = TRUE; } break; case 198: /* Line 1455 of yacc.c */ -#line 650 "mon_parse.y" +#line 649 "mon_parse.y" { return ERR_MISSING_CLOSE_PAREN; } break; case 199: /* Line 1455 of yacc.c */ -#line 652 "mon_parse.y" +#line 651 "mon_parse.y" { (yyval.cond_node) = (yyvsp[(1) - (1)].cond_node); } break; case 200: /* Line 1455 of yacc.c */ -#line 655 "mon_parse.y" +#line 654 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->operation = e_INV; (yyval.cond_node)->is_parenthized = FALSE; @@ -3781,7 +3780,7 @@ case 201: /* Line 1455 of yacc.c */ -#line 661 "mon_parse.y" +#line 660 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->operation = e_INV; (yyval.cond_node)->is_parenthized = FALSE; @@ -3793,140 +3792,140 @@ case 204: /* Line 1455 of yacc.c */ -#line 673 "mon_parse.y" +#line 672 "mon_parse.y" { mon_add_number_to_buffer((yyvsp[(1) - (1)].i)); } break; case 205: /* Line 1455 of yacc.c */ -#line 674 "mon_parse.y" +#line 673 "mon_parse.y" { mon_add_string_to_buffer((yyvsp[(1) - (1)].str)); } break; case 208: /* Line 1455 of yacc.c */ -#line 681 "mon_parse.y" +#line 680 "mon_parse.y" { mon_add_number_to_buffer((yyvsp[(1) - (1)].i)); } break; case 209: /* Line 1455 of yacc.c */ -#line 682 "mon_parse.y" +#line 681 "mon_parse.y" { mon_add_number_masked_to_buffer((yyvsp[(1) - (1)].i), 0x00); } break; case 210: /* Line 1455 of yacc.c */ -#line 683 "mon_parse.y" +#line 682 "mon_parse.y" { mon_add_string_to_buffer((yyvsp[(1) - (1)].str)); } break; case 211: /* Line 1455 of yacc.c */ -#line 686 "mon_parse.y" +#line 685 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 212: /* Line 1455 of yacc.c */ -#line 687 "mon_parse.y" +#line 686 "mon_parse.y" { (yyval.i) = (monitor_cpu_for_memspace[reg_memspace((yyvsp[(1) - (1)].i))]->mon_register_get_val)(reg_memspace((yyvsp[(1) - (1)].i)), reg_regid((yyvsp[(1) - (1)].i))); } break; case 213: /* Line 1455 of yacc.c */ -#line 690 "mon_parse.y" +#line 689 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 214: /* Line 1455 of yacc.c */ -#line 691 "mon_parse.y" +#line 690 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 215: /* Line 1455 of yacc.c */ -#line 692 "mon_parse.y" +#line 691 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 216: /* Line 1455 of yacc.c */ -#line 693 "mon_parse.y" +#line 692 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 217: /* Line 1455 of yacc.c */ -#line 696 "mon_parse.y" +#line 695 "mon_parse.y" { (yyval.i) = resolve_datatype(B_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 218: /* Line 1455 of yacc.c */ -#line 697 "mon_parse.y" +#line 696 "mon_parse.y" { (yyval.i) = resolve_datatype(O_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 219: /* Line 1455 of yacc.c */ -#line 698 "mon_parse.y" +#line 697 "mon_parse.y" { (yyval.i) = resolve_datatype(D_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 220: /* Line 1455 of yacc.c */ -#line 701 "mon_parse.y" +#line 700 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 221: /* Line 1455 of yacc.c */ -#line 702 "mon_parse.y" +#line 701 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 222: /* Line 1455 of yacc.c */ -#line 703 "mon_parse.y" +#line 702 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 223: /* Line 1455 of yacc.c */ -#line 704 "mon_parse.y" +#line 703 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 224: /* Line 1455 of yacc.c */ -#line 705 "mon_parse.y" +#line 704 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 228: /* Line 1455 of yacc.c */ -#line 713 "mon_parse.y" +#line 712 "mon_parse.y" { (yyval.i) = 0; if ((yyvsp[(1) - (2)].str)) { (monitor_cpu_for_memspace[default_memspace]->mon_assemble_instr)((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].i)); @@ -3941,14 +3940,14 @@ case 230: /* Line 1455 of yacc.c */ -#line 724 "mon_parse.y" +#line 723 "mon_parse.y" { asm_mode = 0; } break; case 231: /* Line 1455 of yacc.c */ -#line 727 "mon_parse.y" +#line 726 "mon_parse.y" { if ((yyvsp[(2) - (2)].i) > 0xff) (yyval.i) = join_ints(ASM_ADDR_MODE_IMMEDIATE_16,(yyvsp[(2) - (2)].i)); else @@ -3958,7 +3957,7 @@ case 232: /* Line 1455 of yacc.c */ -#line 731 "mon_parse.y" +#line 730 "mon_parse.y" { if ((yyvsp[(1) - (1)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE,(yyvsp[(1) - (1)].i)); else @@ -3969,7 +3968,7 @@ case 233: /* Line 1455 of yacc.c */ -#line 736 "mon_parse.y" +#line 735 "mon_parse.y" { if ((yyvsp[(1) - (3)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE_X,(yyvsp[(1) - (3)].i)); else @@ -3980,7 +3979,7 @@ case 234: /* Line 1455 of yacc.c */ -#line 741 "mon_parse.y" +#line 740 "mon_parse.y" { if ((yyvsp[(1) - (3)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE_Y,(yyvsp[(1) - (3)].i)); else @@ -3991,231 +3990,231 @@ case 235: /* Line 1455 of yacc.c */ -#line 747 "mon_parse.y" +#line 746 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABS_INDIRECT,(yyvsp[(2) - (3)].i)); } break; case 236: /* Line 1455 of yacc.c */ -#line 749 "mon_parse.y" +#line 748 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_INDIRECT_X,(yyvsp[(2) - (5)].i)); } break; case 237: /* Line 1455 of yacc.c */ -#line 751 "mon_parse.y" +#line 750 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_INDIRECT_Y,(yyvsp[(2) - (5)].i)); } break; case 238: /* Line 1455 of yacc.c */ -#line 752 "mon_parse.y" +#line 751 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_BC,0); } break; case 239: /* Line 1455 of yacc.c */ -#line 753 "mon_parse.y" +#line 752 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_DE,0); } break; case 240: /* Line 1455 of yacc.c */ -#line 754 "mon_parse.y" +#line 753 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_HL,0); } break; case 241: /* Line 1455 of yacc.c */ -#line 755 "mon_parse.y" +#line 754 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_IX,0); } break; case 242: /* Line 1455 of yacc.c */ -#line 756 "mon_parse.y" +#line 755 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_IY,0); } break; case 243: /* Line 1455 of yacc.c */ -#line 757 "mon_parse.y" +#line 756 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_SP,0); } break; case 244: /* Line 1455 of yacc.c */ -#line 759 "mon_parse.y" +#line 758 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_A,(yyvsp[(2) - (5)].i)); } break; case 245: /* Line 1455 of yacc.c */ -#line 761 "mon_parse.y" +#line 760 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_HL,(yyvsp[(2) - (5)].i)); } break; case 246: /* Line 1455 of yacc.c */ -#line 763 "mon_parse.y" +#line 762 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_IX,(yyvsp[(2) - (5)].i)); } break; case 247: /* Line 1455 of yacc.c */ -#line 765 "mon_parse.y" +#line 764 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_IY,(yyvsp[(2) - (5)].i)); } break; case 248: /* Line 1455 of yacc.c */ -#line 766 "mon_parse.y" +#line 765 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_IMPLIED,0); } break; case 249: /* Line 1455 of yacc.c */ -#line 767 "mon_parse.y" +#line 766 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ACCUMULATOR,0); } break; case 250: /* Line 1455 of yacc.c */ -#line 768 "mon_parse.y" +#line 767 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_B,0); } break; case 251: /* Line 1455 of yacc.c */ -#line 769 "mon_parse.y" +#line 768 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_C,0); } break; case 252: /* Line 1455 of yacc.c */ -#line 770 "mon_parse.y" +#line 769 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_D,0); } break; case 253: /* Line 1455 of yacc.c */ -#line 771 "mon_parse.y" +#line 770 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_E,0); } break; case 254: /* Line 1455 of yacc.c */ -#line 772 "mon_parse.y" +#line 771 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_H,0); } break; case 255: /* Line 1455 of yacc.c */ -#line 773 "mon_parse.y" +#line 772 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IXH,0); } break; case 256: /* Line 1455 of yacc.c */ -#line 774 "mon_parse.y" +#line 773 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IYH,0); } break; case 257: /* Line 1455 of yacc.c */ -#line 775 "mon_parse.y" +#line 774 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_L,0); } break; case 258: /* Line 1455 of yacc.c */ -#line 776 "mon_parse.y" +#line 775 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IXL,0); } break; case 259: /* Line 1455 of yacc.c */ -#line 777 "mon_parse.y" +#line 776 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IYL,0); } break; case 260: /* Line 1455 of yacc.c */ -#line 778 "mon_parse.y" +#line 777 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_AF,0); } break; case 261: /* Line 1455 of yacc.c */ -#line 779 "mon_parse.y" +#line 778 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_BC,0); } break; case 262: /* Line 1455 of yacc.c */ -#line 780 "mon_parse.y" +#line 779 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_DE,0); } break; case 263: /* Line 1455 of yacc.c */ -#line 781 "mon_parse.y" +#line 780 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_HL,0); } break; case 264: /* Line 1455 of yacc.c */ -#line 782 "mon_parse.y" +#line 781 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IX,0); } break; case 265: /* Line 1455 of yacc.c */ -#line 783 "mon_parse.y" +#line 782 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IY,0); } break; case 266: /* Line 1455 of yacc.c */ -#line 784 "mon_parse.y" +#line 783 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_SP,0); } break; /* Line 1455 of yacc.c */ -#line 4219 "mon_parse.c" +#line 4218 "mon_parse.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -4427,7 +4426,7 @@ /* Line 1675 of yacc.c */ -#line 788 "mon_parse.y" +#line 787 "mon_parse.y" void parse_and_execute_line(char *input) @@ -4443,8 +4442,7 @@ temp_buf[i++] = '\0'; make_buffer(temp_buf); - rc = yyparse(); - if (rc && fallback_parse(input)) { + if ( (rc =yyparse()) != 0) { mon_out("ERROR -- "); switch(rc) { case ERR_BAD_CMD: Modified: trunk/vice/src/monitor/mon_parse.h =================================================================== --- trunk/vice/src/monitor/mon_parse.h 2010-09-08 19:32:29 UTC (rev 22834) +++ trunk/vice/src/monitor/mon_parse.h 2010-09-09 19:02:59 UTC (rev 22835) @@ -341,7 +341,7 @@ { /* Line 1676 of yacc.c */ -#line 128 "mon_parse.y" +#line 127 "mon_parse.y" MON_ADDR a; MON_ADDR range[2]; Modified: trunk/vice/src/monitor/mon_parse.y =================================================================== --- trunk/vice/src/monitor/mon_parse.y 2010-09-08 19:32:29 UTC (rev 22834) +++ trunk/vice/src/monitor/mon_parse.y 2010-09-09 19:02:59 UTC (rev 22835) @@ -71,7 +71,6 @@ #include "mon_command.h" #include "mon_disassemble.h" #include "mon_drive.h" -#include "mon_fallback.h" #include "mon_file.h" #include "mon_memory.h" #include "mon_util.h" @@ -800,8 +799,7 @@ temp_buf[i++] = '\0'; make_buffer(temp_buf); - rc = yyparse(); - if (rc && fallback_parse(input)) { + if ( (rc =yyparse()) != 0) { mon_out("ERROR -- "); switch(rc) { case ERR_BAD_CMD: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cnv...@us...> - 2011-04-03 12:14:01
|
Revision: 23904 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=23904&view=rev Author: cnvogelg Date: 2011-04-03 12:13:52 +0000 (Sun, 03 Apr 2011) Log Message: ----------- Added new monitor commands "autostart <file> [prog_index]" and "autoload <file> [prog_index]" to make auto starting available in (net) monitor Modified Paths: -------------- trunk/vice/src/monitor/mon_command.c trunk/vice/src/monitor/mon_file.c trunk/vice/src/monitor/mon_file.h trunk/vice/src/monitor/mon_lex.c trunk/vice/src/monitor/mon_lex.l trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.h trunk/vice/src/monitor/mon_parse.y Modified: trunk/vice/src/monitor/mon_command.c =================================================================== --- trunk/vice/src/monitor/mon_command.c 2011-04-03 12:10:34 UTC (rev 23903) +++ trunk/vice/src/monitor/mon_command.c 2011-04-03 12:13:52 UTC (rev 23904) @@ -357,6 +357,16 @@ IDGS_P_FILENAME_P_DEVICE, IDGS_MON_ATTACH_DESCRIPTION, NULL, NULL }, + { "autostart", "", + USE_PARAM_ID, USE_DESCRIPTION_ID, + IDGS_UNUSED, IDGS_UNUSED, + "<file> [file_index]", "autostart a given disk/tape image or program" }, + + { "autoload", "", + USE_PARAM_ID, USE_DESCRIPTION_ID, + IDGS_UNUSED, IDGS_UNUSED, + "<file> [file_index]", "autoload given disk/tape image or program" }, + { "bload", "bl", USE_PARAM_ID, USE_DESCRIPTION_ID, IDGS_QP_FILENAME_P_DEVICE_P_ADDRESS, IDGS_MON_BLOAD_DESCRIPTION, Modified: trunk/vice/src/monitor/mon_file.c =================================================================== --- trunk/vice/src/monitor/mon_file.c 2011-04-03 12:10:34 UTC (rev 23903) +++ trunk/vice/src/monitor/mon_file.c 2011-04-03 12:13:52 UTC (rev 23904) @@ -33,6 +33,7 @@ #include "archdep.h" #include "attach.h" +#include "autostart.h" #include "cartridge.h" #include "machine.h" #include "mem.h" @@ -357,3 +358,15 @@ } } +void mon_autostart(const char *image_name, + int file_index, + int run) +{ + mon_out("auto%s %s #%d\n", run ? "starting" : "loading", + image_name, + file_index); + autostart_autodetect_opt_prgname(image_name, file_index, + run ? AUTOSTART_MODE_RUN : AUTOSTART_MODE_LOAD); +} + + Modified: trunk/vice/src/monitor/mon_file.h =================================================================== --- trunk/vice/src/monitor/mon_file.h 2011-04-03 12:10:34 UTC (rev 23903) +++ trunk/vice/src/monitor/mon_file.h 2011-04-03 12:13:52 UTC (rev 23904) @@ -40,5 +40,7 @@ extern void mon_attach(const char *filename, int unit); extern void mon_detach(int unit); +extern void mon_autostart(const char *image_name, int file_index, int run); + #endif Modified: trunk/vice/src/monitor/mon_lex.c =================================================================== --- trunk/vice/src/monitor/mon_lex.c 2011-04-03 12:10:34 UTC (rev 23903) +++ trunk/vice/src/monitor/mon_lex.c 2011-04-03 12:13:52 UTC (rev 23904) @@ -1,5 +1,5 @@ -#line 3 "mon_lex.c" +#line 3 "../../../vice-svn-trunk/src/monitor/mon_lex.c" #define YY_INT_ALIGNED short int @@ -359,8 +359,8 @@ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 211 -#define YY_END_OF_BUFFER 212 +#define YY_NUM_RULES 213 +#define YY_END_OF_BUFFER 214 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -368,127 +368,128 @@ flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_acclist[1057] = +static yyconst flex_int16_t yy_acclist[1071] = { 0, - 107, 201, 107, 201, 107, 107, 107, 107, 88, 107, - 88, 107, 107, 107, 107, 201, 107, 201, 107, 201, - 107, 201, 107, 201, 107, 201, 107, 201, 107, 201, - 107, 110, 107, 110, 106, 107, 106, 107, 107, 107, - 212, 210, 211, 107, 211, 108, 210, 211, 86, 210, - 211, 210, 211, 210, 211, 210, 211, 210, 211, 208, - 210, 211, 210, 211, 201, 203, 206, 210, 211, 198, - 201, 203, 206, 210, 211, 203, 206, 210, 211, 203, - 206, 210, 211, 79, 210, 211, 207, 210, 211, 206, - 210, 211, 100, 206, 210, 211, 206, 210, 211, 99, + 109, 203, 109, 203, 109, 109, 109, 109, 90, 109, + 90, 109, 109, 109, 109, 203, 109, 203, 109, 203, + 109, 203, 109, 203, 109, 203, 109, 203, 109, 203, + 109, 112, 109, 112, 108, 109, 108, 109, 109, 109, + 214, 212, 213, 109, 213, 110, 212, 213, 88, 212, + 213, 212, 213, 212, 213, 212, 213, 212, 213, 210, + 212, 213, 212, 213, 203, 205, 208, 212, 213, 200, + 203, 205, 208, 212, 213, 205, 208, 212, 213, 205, + 208, 212, 213, 81, 212, 213, 209, 212, 213, 208, + 212, 213, 102, 208, 212, 213, 208, 212, 213, 101, - 206, 210, 211, 97, 210, 211, 210, 211, 210, 211, - 98, 210, 211, 210, 211, 210, 211, 210, 211, 210, - 211, 1, 210, 211, 3, 210, 211, 35, 210, 211, - 4, 210, 211, 5, 78, 210, 211, 78, 210, 211, - 18, 78, 210, 211, 23, 78, 210, 211, 78, 210, - 211, 33, 78, 210, 211, 34, 78, 210, 211, 36, - 78, 210, 211, 37, 78, 210, 211, 78, 210, 211, - 78, 210, 211, 43, 78, 210, 211, 45, 78, 210, - 211, 52, 78, 210, 211, 54, 78, 210, 211, 78, - 210, 211, 59, 78, 210, 211, 64, 78, 210, 211, + 208, 212, 213, 99, 212, 213, 212, 213, 212, 213, + 100, 212, 213, 212, 213, 212, 213, 212, 213, 212, + 213, 1, 212, 213, 3, 212, 213, 37, 212, 213, + 4, 212, 213, 5, 80, 212, 213, 80, 212, 213, + 20, 80, 212, 213, 25, 80, 212, 213, 80, 212, + 213, 35, 80, 212, 213, 36, 80, 212, 213, 38, + 80, 212, 213, 39, 80, 212, 213, 80, 212, 213, + 80, 212, 213, 45, 80, 212, 213, 47, 80, 212, + 213, 54, 80, 212, 213, 56, 80, 212, 213, 80, + 212, 213, 61, 80, 212, 213, 66, 80, 212, 213, - 50, 78, 210, 211, 78, 210, 211, 76, 78, 210, - 211, 31, 78, 210, 211, 78, 210, 211, 70, 78, - 210, 211, 2, 210, 211, 88, 210, 211, 88, 107, - 211, 87, 210, 211, 88, 208, 210, 211, 88, 207, - 210, 211, 111, 210, 211, 111, 208, 210, 211, 111, - 207, 210, 211, 195, 210, 211, 193, 210, 211, 194, - 210, 211, 210, 211, 198, 201, 203, 206, 210, 211, - 203, 206, 210, 211, 196, 210, 211, 206, 210, 211, - 16568, 185, 206, 210, 211, 186, 206, 210, 211, 187, - 206, 210, 211, 188, 206, 210, 211, 206, 210, 211, + 52, 80, 212, 213, 80, 212, 213, 78, 80, 212, + 213, 33, 80, 212, 213, 80, 212, 213, 72, 80, + 212, 213, 2, 212, 213, 90, 212, 213, 90, 109, + 213, 89, 212, 213, 90, 210, 212, 213, 90, 209, + 212, 213, 113, 212, 213, 113, 210, 212, 213, 113, + 209, 212, 213, 197, 212, 213, 195, 212, 213, 196, + 212, 213, 212, 213, 200, 203, 205, 208, 212, 213, + 205, 208, 212, 213, 198, 212, 213, 208, 212, 213, + 16570, 187, 208, 212, 213, 188, 208, 212, 213, 189, + 208, 212, 213, 190, 208, 212, 213, 208, 212, 213, - 210, 211, 189, 210, 211, 210, 211, 190, 210, 211, - 191, 210, 211, 192, 210, 211, 210, 211, 210, 211, - 161, 210, 211, 162, 210, 211, 210, 211, 136, 210, - 211, 207, 210, 211, 137, 210, 211, 210, 211, 112, - 206, 210, 211, 206, 210, 211, 210, 211, 210, 211, - 210, 211, 113, 210, 211, 114, 210, 211, 210, 211, - 110, 210, 211, 110, 210, 211, 110, 210, 211, 110, - 210, 211, 110, 210, 211, 106, 210, 211, 95, 210, - 211, 93, 210, 211, 94, 210, 211, 96, 210, 211, - 107, 205, 199, 200, 202, 89, 91, 92, 90, 183, + 212, 213, 191, 212, 213, 212, 213, 192, 212, 213, + 193, 212, 213, 194, 212, 213, 212, 213, 212, 213, + 163, 212, 213, 164, 212, 213, 212, 213, 138, 212, + 213, 209, 212, 213, 139, 212, 213, 212, 213, 114, + 208, 212, 213, 208, 212, 213, 212, 213, 212, 213, + 212, 213, 115, 212, 213, 116, 212, 213, 212, 213, + 112, 212, 213, 112, 212, 213, 112, 212, 213, 112, + 212, 213, 112, 212, 213, 108, 212, 213, 97, 212, + 213, 95, 212, 213, 96, 212, 213, 98, 212, 213, + 109, 207, 201, 202, 204, 91, 93, 94, 92, 185, - 182, 183, 201, 203, 206, 203, 206, 206, 198, 201, - 203, 206, 198, 201, 203, 206, 102, 103, 101, 85, - 80, 204, 78, 78, 6, 78, 78, 78, 9, 78, - 10, 78, 12, 78, 13, 78, 14, 78, 78, 16, - 78, 78, 78, 78, 78, 78, 25, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 38, 78, 40, 78, - 78, 78, 44, 78, 78, 22, 78, 46, 78, 78, - 78, 78, 51, 78, 78, 53, 78, 78, 78, 78, - 78, 78, 78, 78, 66, 78, 78, 78, 78, 65, - 78, 78, 78, 73, 78, 74, 78, 78, 78, 88, + 184, 185, 203, 205, 208, 205, 208, 208, 200, 203, + 205, 208, 200, 203, 205, 208, 104, 105, 103, 87, + 82, 206, 80, 80, 6, 80, 80, 80, 80, 11, + 80, 12, 80, 14, 80, 15, 80, 16, 80, 80, + 18, 80, 80, 80, 80, 80, 80, 27, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 40, 80, 42, + 80, 80, 80, 46, 80, 80, 24, 80, 48, 80, + 80, 80, 80, 53, 80, 80, 55, 80, 80, 80, + 80, 80, 80, 80, 80, 68, 80, 80, 80, 80, + 67, 80, 80, 80, 75, 80, 76, 80, 80, 80, - 88, 107, 111, 198, 201, 203, 206, 8376, 181, 206, - 171, 181, 206, 181, 172, 181, 206, 173, 181, 206, - 174, 181, 175, 181, 178, 181, 181, 204, 134, 139, - 141, 142, 143, 135, 133, 138, 140, 206, 117, 115, - 118, 119, 120, 121, 122, 123, 124, 116, 209, 110, - 110, 110, 106, 183, 182, 183, 201, 203, 206, 203, - 206, 206, 198, 201, 203, 206, 104, 105, 81, 109, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 20, 78, 24, 78, 78, 26, 78, 22, 78, - 78, 78, 78, 78, 32, 78, 78, 78, 78, 78, + 90, 90, 109, 113, 200, 203, 205, 208, 8378, 183, + 208, 173, 183, 208, 183, 174, 183, 208, 175, 183, + 208, 176, 183, 177, 183, 180, 183, 183, 206, 136, + 141, 143, 144, 145, 137, 135, 140, 142, 208, 119, + 117, 120, 121, 122, 123, 124, 125, 126, 118, 211, + 112, 112, 112, 108, 185, 184, 185, 203, 205, 208, + 205, 208, 208, 200, 203, 205, 208, 106, 107, 83, + 111, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 22, 80, 26, 80, 80, 28, 80, + 24, 80, 80, 80, 80, 80, 34, 80, 80, 80, - 78, 78, 78, 78, 45, 78, 78, 78, 78, 78, - 78, 78, 55, 78, 78, 57, 78, 58, 78, 78, - 78, 63, 78, 78, 78, 69, 78, 68, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 181, - 206, 181, 176, 181, 177, 181, 179, 181, 180, 181, - 144, 146, 147, 148, 149, 150, 151, 152, 145, 131, - 125, 126, 127, 128, 129, 130, 132, 201, 203, 206, - 203, 206, 206, 198, 201, 203, 206, 83, 78, 78, - 78, 8, 78, 78, 78, 78, 78, 78, 21, 78, - 78, 78, 19, 78, 78, 78, 78, 78, 78, 29, + 80, 80, 80, 80, 80, 80, 47, 80, 80, 80, + 80, 80, 80, 80, 57, 80, 80, 59, 80, 60, + 80, 80, 80, 65, 80, 80, 80, 71, 80, 70, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 183, 208, 183, 178, 183, 179, 183, 181, 183, + 182, 183, 146, 148, 149, 150, 151, 152, 153, 154, + 147, 133, 127, 128, 129, 130, 131, 132, 134, 203, + 205, 208, 205, 208, 208, 200, 203, 205, 208, 85, + 80, 80, 80, 80, 10, 80, 80, 80, 80, 80, + 80, 23, 80, 80, 80, 21, 80, 80, 80, 80, - 78, 78, 31, 78, 78, 33, 78, 34, 78, 35, - 78, 36, 78, 78, 78, 42, 78, 43, 78, 78, - 78, 78, 78, 48, 78, 78, 50, 78, 52, 78, - 78, 78, 56, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 64, 78, 78, 78, 78, 78, 70, 78, - 71, 78, 78, 78, 78, 78, 78, 78, 181, 206, - 181, 159, 153, 154, 155, 156, 157, 158, 160, 201, - 203, 206, 203, 206, 206, 198, 201, 203, 206, 84, - 78, 78, 78, 9, 78, 78, 11, 78, 12, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 80, 80, 31, 80, 80, 33, 80, 80, 35, 80, + 36, 80, 37, 80, 38, 80, 80, 80, 44, 80, + 45, 80, 80, 80, 80, 80, 50, 80, 80, 52, + 80, 54, 80, 80, 80, 58, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 66, 80, 80, 80, 80, + 80, 72, 80, 73, 80, 80, 80, 80, 80, 80, + 80, 183, 208, 183, 161, 155, 156, 157, 158, 159, + 160, 162, 203, 205, 208, 205, 208, 208, 200, 203, + 205, 208, 86, 80, 80, 80, 80, 80, 11, 80, + 80, 13, 80, 14, 80, 80, 80, 80, 80, 80, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 49, - 78, 78, 54, 78, 57, 78, 78, 78, 60, 78, - 78, 78, 78, 78, 78, 78, 67, 78, 78, 78, - 78, 73, 78, 78, 74, 78, 76, 78, 78, 167, - 201, 203, 206, 203, 206, 206, 198, 201, 203, 206, - 82, 78, 7, 78, 78, 78, 78, 78, 78, 78, - 78, 24, 78, 27, 78, 26, 78, 78, 23, 78, - 30, 78, 32, 78, 39, 78, 41, 78, 78, 78, - 78, 78, 47, 78, 78, 58, 78, 78, 61, 78, - 78, 62, 78, 63, 78, 78, 66, 78, 78, 69, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 51, 80, 80, 56, 80, 59, + 80, 80, 80, 62, 80, 80, 80, 80, 80, 80, + 80, 69, 80, 80, 80, 80, 75, 80, 80, 76, + 80, 78, 80, 80, 169, 203, 205, 208, 205, 208, + 208, 200, 203, 205, 208, 84, 80, 7, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 26, 80, + 29, 80, 28, 80, 80, 25, 80, 32, 80, 34, + 80, 41, 80, 43, 80, 80, 80, 80, 80, 49, + 80, 80, 60, 80, 80, 63, 80, 80, 64, 80, - 78, 78, 75, 78, 78, 163, 170, 168, 201, 203, - 206, 203, 206, 206, 198, 201, 203, 206, 78, 78, - 78, 78, 78, 17, 78, 18, 78, 78, 78, 78, - 28, 78, 78, 46, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 77, 78, 169, 197, 201, - 203, 206, 197, 203, 206, 197, 206, 197, 198, 201, - 203, 206, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 53, 78, 78, 78, 78, - 78, 78, 72, 78, 166, 201, 203, 206, 203, 206, - 206, 198, 201, 203, 206, 6, 78, 13, 78, 78, + 65, 80, 80, 68, 80, 80, 71, 80, 80, 77, + 80, 80, 165, 172, 170, 203, 205, 208, 205, 208, + 208, 200, 203, 205, 208, 80, 80, 80, 80, 80, + 80, 80, 19, 80, 20, 80, 80, 80, 80, 30, + 80, 80, 48, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 79, 80, 171, 199, 203, 205, + 208, 199, 205, 208, 199, 208, 199, 200, 203, 205, + 208, 80, 9, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 55, 80, 80, + 80, 80, 80, 80, 74, 80, 168, 203, 205, 208, - 78, 78, 19, 78, 78, 78, 78, 78, 78, 49, - 78, 51, 78, 59, 78, 78, 78, 78, 78, 78, - 165, 164, 10, 78, 78, 15, 78, 21, 78, 78, - 78, 47, 78, 48, 78, 78, 78, 78, 67, 78, - 78, 14, 78, 78, 44, 78, 61, 78, 62, 78, - 65, 78, 68, 78, 25, 78 + 205, 208, 208, 200, 203, 205, 208, 6, 80, 8, + 80, 15, 80, 80, 80, 80, 21, 80, 80, 80, + 80, 80, 80, 51, 80, 53, 80, 61, 80, 80, + 80, 80, 80, 80, 167, 166, 12, 80, 80, 17, + 80, 23, 80, 80, 80, 49, 80, 50, 80, 80, + 80, 80, 69, 80, 80, 16, 80, 80, 46, 80, + 63, 80, 64, 80, 67, 80, 70, 80, 27, 80 } ; -static yyconst flex_int16_t yy_accept[658] = +static yyconst flex_int16_t yy_accept[670] = { 0, 1, 3, 5, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, @@ -507,61 +508,62 @@ 373, 376, 379, 382, 385, 388, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 403, 406, 408, 409, 413, 417, 418, 419, 420, 421, 421, 421, 422, - 422, 422, 423, 423, 424, 425, 427, 428, 429, 431, - 433, 435, 437, 439, 440, 442, 443, 444, 445, 446, - 447, 449, 450, 451, 452, 453, 454, 455, 456, 457, - 459, 461, 462, 463, 465, 466, 468, 470, 471, 472, + 422, 422, 423, 423, 424, 425, 427, 428, 429, 430, + 432, 434, 436, 438, 440, 441, 443, 444, 445, 446, + 447, 448, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 460, 462, 463, 464, 466, 467, 469, 471, 472, - 473, 475, 476, 478, 479, 480, 481, 482, 483, 484, - 485, 487, 488, 489, 490, 492, 493, 494, 496, 498, - 499, 500, 501, 503, 504, 508, 508, 509, 511, 514, - 515, 518, 521, 523, 525, 527, 529, 530, 531, 532, - 532, 532, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 541, 542, 543, 544, 545, 546, 547, 548, - 549, 549, 550, 551, 552, 553, 554, 555, 557, 560, - 562, 563, 567, 568, 569, 569, 570, 570, 570, 571, + 473, 474, 476, 477, 479, 480, 481, 482, 483, 484, + 485, 486, 488, 489, 490, 491, 493, 494, 495, 497, + 499, 500, 501, 502, 504, 505, 509, 509, 510, 512, + 515, 516, 519, 522, 524, 526, 528, 530, 531, 532, + 533, 533, 533, 533, 534, 535, 536, 537, 538, 539, + 540, 541, 542, 542, 543, 544, 545, 546, 547, 548, + 549, 550, 550, 551, 552, 553, 554, 555, 556, 558, + 561, 563, 564, 568, 569, 570, 570, 571, 571, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, - 582, 584, 586, 587, 589, 591, 592, 593, 594, 595, + 582, 583, 584, 586, 588, 589, 591, 593, 594, 595, - 597, 598, 599, 600, 601, 602, 603, 604, 605, 607, - 608, 609, 610, 611, 612, 613, 615, 616, 618, 620, - 621, 622, 624, 625, 626, 628, 630, 631, 632, 633, - 634, 635, 636, 637, 638, 639, 640, 640, 642, 643, - 645, 647, 649, 651, 651, 652, 652, 653, 654, 655, - 656, 657, 658, 659, 660, 660, 661, 662, 663, 664, - 665, 666, 667, 668, 671, 673, 674, 678, 679, 679, - 679, 680, 681, 682, 684, 685, 686, 687, 688, 689, - 691, 692, 693, 695, 696, 697, 698, 699, 700, 702, - 703, 705, 706, 708, 710, 712, 714, 715, 716, 718, + 596, 597, 599, 600, 601, 602, 603, 604, 605, 606, + 607, 609, 610, 611, 612, 613, 614, 615, 617, 618, + 620, 622, 623, 624, 626, 627, 628, 630, 632, 633, + 634, 635, 636, 637, 638, 639, 640, 641, 642, 642, + 644, 645, 647, 649, 651, 653, 653, 654, 654, 655, + 656, 657, 658, 659, 660, 661, 662, 662, 663, 664, + 665, 666, 667, 668, 669, 670, 673, 675, 676, 680, + 681, 681, 681, 682, 683, 684, 685, 687, 688, 689, + 690, 691, 692, 694, 695, 696, 698, 699, 700, 701, + 702, 703, 705, 706, 708, 709, 711, 713, 715, 717, - 720, 721, 722, 723, 724, 726, 727, 729, 731, 732, - 733, 735, 736, 737, 738, 739, 740, 741, 742, 743, - 745, 746, 747, 748, 749, 751, 753, 754, 755, 756, - 757, 758, 759, 759, 759, 759, 761, 762, 763, 764, - 765, 766, 767, 768, 769, 770, 773, 775, 776, 780, - 781, 781, 782, 783, 784, 786, 787, 789, 791, 792, - 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, - 803, 804, 805, 806, 807, 808, 809, 810, 812, 813, - 815, 817, 818, 819, 821, 822, 823, 824, 825, 826, - 827, 829, 830, 831, 832, 834, 835, 837, 839, 840, + 718, 719, 721, 723, 724, 725, 726, 727, 729, 730, + 732, 734, 735, 736, 738, 739, 740, 741, 742, 743, + 744, 745, 746, 748, 749, 750, 751, 752, 754, 756, + 757, 758, 759, 760, 761, 762, 762, 762, 762, 764, + 765, 766, 767, 768, 769, 770, 771, 772, 773, 776, + 778, 779, 783, 784, 784, 785, 786, 787, 788, 789, + 791, 792, 794, 796, 797, 798, 799, 800, 801, 802, + 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, + 813, 814, 815, 817, 818, 820, 822, 823, 824, 826, + 827, 828, 829, 830, 831, 832, 834, 835, 836, 837, - 840, 841, 841, 841, 841, 844, 846, 847, 851, 852, - 853, 855, 856, 857, 858, 859, 860, 861, 862, 864, - 866, 868, 869, 871, 873, 875, 877, 879, 880, 881, - 882, 883, 885, 886, 888, 889, 891, 892, 894, 896, - 897, 899, 900, 902, 903, 905, 906, 906, 906, 907, - 908, 909, 909, 912, 914, 915, 919, 920, 921, 922, - 923, 924, 926, 928, 929, 930, 931, 933, 934, 936, - 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, - 948, 948, 948, 949, 953, 956, 958, 963, 964, 965, - 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, + 839, 840, 842, 844, 845, 845, 846, 846, 846, 846, + 849, 851, 852, 856, 857, 858, 860, 861, 862, 863, + 864, 865, 866, 867, 868, 869, 871, 873, 875, 876, + 878, 880, 882, 884, 886, 887, 888, 889, 890, 892, + 893, 895, 896, 898, 899, 901, 903, 904, 906, 907, + 909, 910, 912, 913, 913, 913, 914, 915, 916, 916, + 919, 921, 922, 926, 927, 928, 929, 930, 931, 932, + 933, 935, 937, 938, 939, 940, 942, 943, 945, 946, + 947, 948, 949, 950, 951, 952, 953, 954, 955, 957, + 957, 957, 958, 962, 965, 967, 972, 973, 975, 976, - 976, 978, 979, 980, 981, 982, 983, 985, 986, 986, - 989, 991, 992, 996, 998, 1000, 1001, 1002, 1003, 1005, - 1006, 1007, 1008, 1009, 1010, 1012, 1014, 1016, 1017, 1018, - 1019, 1020, 1021, 1022, 1023, 1025, 1026, 1028, 1030, 1031, - 1032, 1034, 1036, 1037, 1038, 1039, 1041, 1042, 1044, 1045, - 1047, 1049, 1051, 1053, 1055, 1057, 1057 + 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, + 987, 988, 990, 991, 992, 993, 994, 995, 997, 998, + 998, 1001, 1003, 1004, 1008, 1010, 1012, 1014, 1015, 1016, + 1017, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1028, 1030, + 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1039, 1040, 1042, + 1044, 1045, 1046, 1048, 1050, 1051, 1052, 1053, 1055, 1056, + 1058, 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1071 } ; static yyconst flex_int32_t yy_ec[256] = @@ -609,165 +611,169 @@ 13, 13, 13, 13, 1, 1 } ; -static yyconst flex_int16_t yy_base[684] = +static yyconst flex_int16_t yy_base[696] = { 0, 0, 0, 81, 0, 163, 0, 248, 253, 109, 261, 290, 0, 372, 0, 453, 0, 512, 569, 652, 738, - 824, 910, 412, 486, 775, 2313, 91, 2313, 2313, 0, - 93, 372, 672, 2313, 121, 981, 110, 592, 710, 2313, - 2313, 682, 0, 702, 0, 2313, 97, 77, 215, 206, - 213, 323, 0, 2313, 2313, 2313, 2313, 373, 523, 738, - 453, 365, 339, 349, 377, 387, 0, 367, 425, 742, - 390, 813, 350, 447, 1014, 411, 428, 429, 0, 442, - 0, 2313, 0, 153, 2313, 0, 0, 0, 0, 0, - 2313, 2313, 2313, 700, 123, 699, 2313, 1091, 1155, 479, + 824, 910, 412, 486, 736, 2340, 91, 2340, 2340, 0, + 93, 372, 672, 2340, 121, 981, 110, 592, 704, 2340, + 2340, 682, 0, 702, 0, 2340, 97, 77, 215, 206, + 213, 323, 0, 2340, 2340, 2340, 2340, 453, 523, 738, + 738, 365, 339, 349, 372, 387, 0, 366, 425, 812, + 367, 814, 362, 447, 1014, 411, 371, 394, 0, 417, + 0, 2340, 0, 153, 2340, 0, 0, 0, 0, 0, + 2340, 2340, 2340, 700, 123, 699, 2340, 1091, 1155, 394, - 517, 481, 484, 1219, 461, 508, 0, 452, 0, 656, - 701, 2313, 2313, 810, 641, 639, 621, 563, 489, 496, - 493, 249, 496, 502, 505, 0, 0, 144, 604, 590, - 545, 0, 2313, 2313, 2313, 2313, 274, 0, 272, 619, - 879, 2313, 2313, 2313, 2313, 0, 566, 1230, 859, 910, - 605, 607, 2313, 2313, 2313, 2313, 543, 567, 2313, 533, - 605, 2313, 551, 0, 611, 0, 597, 737, 639, 690, - 696, 0, 0, 683, 0, 689, 689, 705, 738, 744, - 0, 731, 747, 902, 744, 739, 752, 799, 800, 0, - 0, 802, 811, 0, 809, 0, 0, 819, 894, 811, + 482, 432, 479, 1219, 455, 498, 0, 452, 0, 657, + 701, 2340, 2340, 739, 639, 621, 601, 531, 486, 496, + 489, 249, 510, 505, 508, 0, 0, 144, 580, 572, + 565, 0, 2340, 2340, 2340, 2340, 274, 0, 272, 619, + 880, 2340, 2340, 2340, 2340, 0, 511, 1230, 910, 927, + 605, 607, 2340, 2340, 2340, 2340, 519, 527, 2340, 524, + 537, 2340, 564, 0, 569, 0, 592, 595, 742, 601, + 648, 694, 0, 0, 599, 0, 688, 688, 682, 740, + 790, 0, 712, 743, 820, 737, 741, 800, 799, 800, + 0, 0, 803, 814, 0, 846, 0, 0, 836, 902, - 0, 890, 0, 914, 907, 917, 913, 919, 973, 897, - 907, 902, 915, 924, 0, 984, 915, 931, 975, 914, - 931, 0, 277, 0, 369, 1030, 2313, 1292, 1354, 1081, - 0, 0, 0, 1019, 1020, 0, 2313, 2313, 951, 958, - 1048, 962, 2313, 1006, 2313, 2313, 2313, 2313, 1051, 2313, - 2313, 1114, 2313, 2313, 2313, 2313, 2313, 2313, 2313, 2313, - 1073, 0, 0, 522, 516, 0, 0, 997, 1404, 1120, - 1144, 381, 2313, 2313, 1083, 2313, 1071, 1084, 531, 453, - 1137, 1139, 1140, 1151, 1152, 1144, 1147, 1149, 1156, 1151, - 1162, 1168, 1173, 1166, 0, 1198, 1208, 1223, 1207, 1213, + 828, 0, 879, 0, 921, 914, 920, 916, 922, 973, + 908, 913, 908, 921, 930, 0, 984, 939, 947, 975, + 958, 993, 0, 277, 0, 369, 1057, 2340, 1292, 1354, + 1081, 0, 0, 0, 1078, 1079, 0, 2340, 2340, 1002, + 1005, 950, 1014, 2340, 1007, 2340, 2340, 2340, 2340, 1020, + 2340, 2340, 1052, 2340, 2340, 2340, 2340, 2340, 2340, 2340, + 2340, 1076, 0, 0, 531, 502, 0, 0, 861, 1404, + 1114, 1144, 381, 2340, 2340, 1107, 2340, 1132, 1144, 506, + 437, 1151, 1139, 1144, 1155, 1166, 1167, 1149, 1152, 1154, + 1211, 1170, 1167, 1220, 1227, 1220, 0, 1229, 1184, 1236, - 1217, 1215, 1223, 1220, 1226, 1240, 1224, 1241, 1288, 1301, - 1245, 1242, 1229, 1261, 1273, 0, 1268, 1280, 1289, 1281, - 1397, 1284, 1287, 1329, 0, 0, 1283, 1303, 1295, 1312, - 1344, 1347, 1331, 1344, 1368, 1367, 485, 1471, 1494, 0, - 0, 0, 0, 1362, 2313, 1378, 2313, 2313, 2313, 2313, - 2313, 2313, 2313, 2313, 1387, 2313, 2313, 2313, 2313, 2313, - 2313, 2313, 2313, 1521, 1433, 1460, 611, 2313, 1398, 1401, - 1402, 1424, 1395, 0, 1461, 1456, 1457, 1464, 1464, 0, - 1470, 1487, 1480, 1481, 1475, 1488, 1516, 1518, 0, 1517, - 0, 1512, 0, 0, 0, 0, 1513, 1511, 0, 408, + 1220, 1226, 1230, 1228, 1228, 1225, 1231, 1245, 1229, 1269, + 1288, 1301, 1285, 1282, 1269, 1265, 1290, 0, 1285, 1283, + 1291, 1299, 1397, 1290, 1329, 1394, 0, 0, 1305, 1343, + 1334, 1335, 1347, 1350, 1351, 1364, 1371, 1398, 479, 1471, + 1494, 0, 0, 0, 0, 1401, 2340, 1378, 2340, 2340, + 2340, 2340, 2340, 2340, 2340, 2340, 1402, 2340, 2340, 2340, + 2340, 2340, 2340, 2340, 2340, 1521, 1433, 1460, 611, 2340, + 1422, 1453, 1455, 1465, 1517, 1450, 0, 1467, 1478, 1479, + 1487, 1488, 0, 1516, 1517, 1511, 1521, 1512, 1530, 1531, + 1537, 0, 1525, 0, 1520, 0, 0, 0, 0, 1523, - 1525, 1533, 1520, 1516, 0, 1523, 0, 0, 1538, 1522, - 0, 1519, 1526, 1526, 1528, 1554, 1545, 1567, 1557, 379, - 1568, 1568, 373, 1571, 0, 0, 1575, 1574, 1568, 1570, - 1575, 1582, 0, 406, 1628, 411, 406, 2313, 2313, 2313, - 2313, 2313, 2313, 2313, 2313, 1636, 1659, 1667, 656, 2313, - 1604, 1633, 1627, 1645, 0, 322, 0, 0, 1652, 1657, - 1654, 1653, 1655, 1670, 1668, 1672, 1667, 1661, 1676, 1663, - 1679, 1679, 1675, 1687, 1674, 1673, 1687, 0, 1692, 0, - 0, 1690, 1681, 0, 1687, 1692, 1694, 1704, 1710, 1709, - 0, 1712, 1701, 1706, 0, 1712, 0, 0, 1708, 0, + 1521, 0, 403, 1535, 1545, 1532, 1537, 0, 1549, 0, + 0, 1567, 1551, 0, 1548, 1557, 1557, 1557, 1573, 1559, + 1576, 1565, 379, 1579, 1578, 373, 1581, 0, 0, 1585, + 1584, 1579, 1581, 1582, 1592, 0, 406, 1638, 410, 406, + 2340, 2340, 2340, 2340, 2340, 2340, 2340, 2340, 1646, 1669, + 1677, 655, 2340, 1639, 1644, 1638, 1665, 1661, 1664, 0, + 322, 0, 0, 1665, 1670, 1667, 1666, 1668, 1683, 1681, + 1685, 1680, 1674, 1689, 1676, 1692, 1692, 1688, 1700, 1687, + 1686, 1700, 0, 1713, 0, 0, 1716, 1703, 0, 1707, + 1713, 1713, 1720, 1723, 1722, 0, 1725, 1714, 1719, 0, - 274, 269, 142, 0, 1772, 1795, 1803, 699, 2313, 1737, - 0, 1740, 1788, 1737, 1739, 1740, 1762, 1777, 77, 0, - 0, 1794, 0, 0, 0, 0, 0, 1806, 1791, 1791, - 1803, 0, 1810, 0, 1809, 0, 1812, 0, 0, 1817, - 1801, 1820, 0, 1806, 0, 1815, 108, 0, 2313, 2313, - 2313, 93, 1867, 1890, 1898, 824, 1833, 1863, 1862, 1874, - 1896, 0, 0, 1888, 1889, 1893, 0, 1904, 0, 1906, - 1907, 1890, 1900, 1894, 1908, 1913, 1908, 1915, 1907, 0, - 78, 0, 2313, 1962, 1936, 1985, 832, 1920, 1951, 1956, - 1950, 1935, 1948, 1961, 1979, 1976, 1963, 1974, 1980, 1977, + 1724, 0, 0, 1721, 0, 274, 269, 142, 0, 1785, + 1808, 1816, 699, 2340, 1750, 0, 1753, 1754, 1755, 1801, + 1753, 1780, 1805, 1803, 1800, 77, 0, 0, 1816, 0, + 0, 0, 0, 0, 1821, 1807, 1807, 1818, 0, 1825, + 0, 1824, 0, 1827, 0, 0, 1830, 1815, 1834, 0, + 1820, 0, 1829, 108, 0, 2340, 2340, 2340, 93, 1881, + 1904, 1912, 826, 1848, 1875, 1863, 1905, 1910, 1899, 1913, + 0, 0, 1905, 1906, 1910, 0, 1921, 0, 1923, 1924, + 1907, 1917, 1911, 1925, 1930, 1925, 1932, 1924, 0, 78, + 0, 2340, 1979, 2002, 2010, 861, 1937, 0, 1958, 1974, - 0, 1978, 1991, 1994, 1986, 1997, 0, 0, 76, 0, - 0, 0, 889, 0, 0, 1999, 1986, 1999, 0, 1987, - 2011, 2004, 2009, 1994, 0, 0, 0, 2013, 2014, 2009, - 2004, 2016, 2313, 2313, 0, 2028, 0, 0, 2029, 2018, - 0, 0, 2019, 2024, 2029, 0, 2030, 0, 2039, 0, - 0, 0, 0, 0, 0, 2313, 2109, 2123, 2137, 2151, - 573, 2160, 2174, 2180, 2194, 2208, 2221, 2234, 2240, 2246, - 2252, 2258, 2269, 2276, 2286, 895, 2292, 956, 2299, 1065, - 1136, 1182, 1257 + 2004, 2004, 1989, 2002, 1999, 2017, 2014, 1999, 2007, 2007, + 2019, 0, 2007, 2020, 2023, 2015, 2026, 0, 0, 76, + 0, 0, 0, 960, 0, 0, 0, 2029, 2015, 2031, + 0, 2013, 2042, 2038, 2048, 2034, 0, 0, 0, 2054, + 2057, 2054, 2047, 2056, 2340, 2340, 0, 2064, 0, 0, + 2065, 2053, 0, 0, 2053, 2054, 2056, 0, 2058, 0, + 2066, 0, 0, 0, 0, 0, 0, 2340, 2136, 2150, + 2164, 2178, 573, 2187, 2201, 2207, 2221, 2235, 2248, 2261, + 2267, 2273, 2279, 2285, 2296, 2303, 2313, 1010, 2319, 1020, + 2326, 1065, 1074, 1126, 1128 + } ; -static yyconst flex_int16_t yy_def[684] = +static yyconst flex_int16_t yy_def[696] = { 0, - 656, 1, 1, 3, 656, 5, 657, 657, 658, 658, - 656, 11, 1, 13, 13, 15, 15, 15, 659, 659, - 660, 660, 3, 3, 656, 656, 656, 656, 656, 661, - 656, 656, 656, 656, 662, 656, 36, 36, 38, 656, - 656, 36, 42, 42, 42, 656, 656, 656, 656, 656, - 656, 656, 663, 656, 656, 656, 656, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 656, 665, 665, 656, 665, 665, 666, 666, 666, - 656, 656, 656, 662, 36, 38, 656, 667, 667, 99, + 668, 1, 1, 3, 668, 5, 669, 669, 670, 670, + 668, 11, 1, 13, 13, 15, 15, 15, 671, 671, + 672, 672, 3, 3, 668, 668, 668, 668, 668, 673, + 668, 668, 668, 668, 674, 668, 36, 36, 38, 668, + 668, 36, 42, 42, 42, 668, 668, 668, 668, 668, + 668, 668, 675, 668, 668, 668, 668, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 668, 677, 677, 668, 677, 677, 678, 678, 678, + 668, 668, 668, 674, 36, 38, 668, 679, 679, 99, - 99, 99, 99, 667, 104, 104, 104, 104, 104, 656, - 656, 656, 656, 656, 656, 656, 656, 656, 42, 42, - 656, 656, 656, 656, 656, 668, 669, 669, 669, 669, - 669, 670, 656, 656, 656, 656, 656, 661, 656, 656, - 656, 656, 656, 656, 656, 671, 672, 656, 148, 148, - 148, 148, 656, 656, 656, 656, 656, 656, 656, 656, - 656, 656, 663, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 99, 99, 99, 679, 104, 104, 104, 104, 104, 668, + 668, 668, 668, 668, 668, 668, 668, 668, 42, 42, + 668, 668, 668, 668, 668, 680, 681, 681, 681, 681, + 681, 682, 668, 668, 668, 668, 668, 673, 668, 668, + 668, 668, 668, 668, 668, 683, 684, 668, 148, 148, + 148, 148, 668, 668, 668, 668, 668, 668, 668, 668, + 668, 668, 675, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 665, 665, 666, 148, 656, 656, 673, 673, 673, - 229, 229, 230, 230, 230, 230, 656, 656, 656, 656, - 656, 656, 656, 656, 656, 656, 656, 656, 150, 656, - 656, 656, 656, 656, 656, 656, 656, 656, 656, 656, - 656, 668, 669, 669, 669, 670, 671, 672, 656, 269, - 269, 269, 656, 656, 656, 656, 656, 656, 663, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 677, 677, 678, 148, 668, 668, 685, 685, + 685, 230, 230, 231, 231, 231, 231, 668, 668, 668, + 668, 668, 668, 668, 668, 668, 668, 668, 668, 150, + 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, + 668, 668, 680, 681, 681, 681, 682, 683, 684, 668, + 270, 270, 270, 668, 668, 668, 668, 668, 668, 675, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 674, 675, 675, 339, - 339, 339, 339, 656, 656, 656, 656, 656, 656, 656, - 656, 656, 656, 656, 656, 656, 656, 656, 656, 656, - 656, 656, 656, 656, 364, 364, 364, 656, 656, 656, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 686, 687, + 687, 341, 341, 341, 341, 668, 668, 668, 668, 668, + 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, + 668, 668, 668, 668, 668, 668, 366, 366, 366, 668, + 668, 668, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 676, 677, 656, 366, 656, 656, 656, 656, - 656, 656, 656, 656, 656, 656, 446, 446, 446, 656, - 656, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 678, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 688, 689, 668, 368, 668, + 668, 668, 668, 668, 668, 668, 668, 668, 668, 449, + 449, 449, 668, 668, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 679, 656, 656, 680, 656, 505, 505, 505, 656, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 656, 681, 656, 656, - 656, 656, 656, 553, 553, 553, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 656, 682, 656, 656, 584, 584, 584, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, + 676, 676, 676, 676, 690, 691, 668, 668, 692, 668, + 510, 510, 510, 668, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 668, 693, 668, 668, 668, 668, 668, + 560, 560, 560, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 668, + 694, 668, 668, 593, 593, 593, 676, 676, 676, 676, - 664, 664, 664, 664, 664, 664, 664, 683, 656, 584, - 585, 586, 584, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 656, 656, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 664, 664, 664, 664, 664, - 664, 664, 664, 664, 664, 0, 656, 656, 656, 656, - 656, 656, 656, 656, 656, 656, 656, 656, 656, 656, - 656, 656, 656, 656, 656, 656, 656, 656, 656, 656, - 656, 656, 656 + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 695, 668, + 593, 594, 595, 593, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 668, 668, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 676, 676, 676, 676, 676, 676, 676, 0, 668, 668, + 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, + 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, + 668, 668, 668, 668, 668 + } ; -static yyconst flex_int16_t yy_nxt[2400] = +static yyconst flex_int16_t yy_nxt[2427] = { 0, 26, 27, 28, 27, 26, 29, 26, 30, 31, 32, 26, 26, 33, 34, 35, 36, 37, 36, 36, 36, @@ -777,16 +783,16 @@ 50, 51, 26, 26, 26, 52, 26, 26, 26, 42, 43, 44, 45, 42, 42, 26, 46, 47, 26, 48, 26, 26, 49, 26, 26, 26, 50, 51, 26, 26, - 26, 52, 26, 26, 26, 26, 53, 634, 26, 26, - 26, 608, 137, 26, 137, 26, 26, 26, 26, 26, + 26, 52, 26, 26, 26, 26, 53, 646, 26, 26, + 26, 619, 137, 26, 137, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 583, 26, 139, 139, - 27, 28, 27, 26, 26, 26, 26, 26, 26, 581, + 26, 26, 26, 26, 26, 26, 592, 26, 139, 139, + 27, 28, 27, 26, 26, 26, 26, 26, 26, 590, 26, 26, 89, 157, 26, 151, 152, 26, 142, 143, - 144, 26, 26, 145, 156, 566, 26, 90, 225, 225, + 144, 26, 26, 145, 156, 575, 26, 90, 226, 226, 26, 26, 26, 26, 26, 26, 146, 26, 26, 157, - 26, 146, 146, 26, 223, 551, 223, 26, 26, 264, - 265, 156, 26, 26, 27, 28, 27, 26, 26, 26, + 26, 146, 146, 26, 224, 558, 224, 26, 26, 265, + 266, 156, 26, 26, 27, 28, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26, 34, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 54, 26, 41, 55, 56, 57, 58, 59, 60, 61, 62, @@ -797,9 +803,9 @@ 66, 68, 69, 70, 71, 67, 72, 73, 74, 75, 76, 77, 67, 78, 79, 80, 81, 26, 82, 84, 28, 84, 158, 85, 84, 28, 84, 160, 85, 161, - 159, 86, 27, 28, 27, 252, 86, 253, 254, 255, - 256, 257, 258, 259, 89, 137, 87, 137, 223, 158, - 223, 87, 550, 160, 548, 161, 159, 139, 139, 90, + 159, 86, 27, 28, 27, 253, 86, 254, 255, 256, + 257, 258, 259, 260, 89, 137, 87, 137, 224, 158, + 224, 87, 557, 160, 555, 161, 159, 139, 139, 90, 26, 27, 28, 27, 26, 26, 91, 30, 31, 32, 92, 93, 33, 34, 94, 36, 95, 36, 36, 36, @@ -809,233 +815,236 @@ 104, 104, 104, 104, 104, 108, 109, 104, 26, 98, 99, 100, 101, 102, 103, 104, 105, 106, 104, 107, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 104, 108, 109, 104, 26, 26, 110, 26, 162, 185, - 513, 111, 112, 113, 272, 272, 114, 140, 140, 140, - 140, 140, 140, 140, 140, 186, 367, 367, 26, 115, + 104, 108, 109, 104, 26, 26, 110, 26, 162, 186, + 520, 111, 112, 113, 273, 273, 114, 140, 140, 140, + 140, 140, 140, 140, 140, 187, 369, 369, 26, 115, - 116, 117, 207, 192, 162, 42, 185, 42, 165, 504, - 183, 26, 26, 187, 504, 26, 166, 26, 26, 501, - 184, 186, 26, 26, 167, 189, 202, 190, 207, 188, - 192, 492, 42, 191, 42, 165, 183, 489, 26, 26, - 187, 26, 166, 217, 26, 133, 184, 134, 26, 26, - 167, 135, 189, 202, 190, 188, 118, 26, 136, 191, - 218, 220, 32, 26, 26, 193, 473, 26, 194, 95, - 217, 195, 133, 219, 134, 196, 96, 96, 135, 208, - 26, 41, 26, 209, 136, 119, 218, 42, 220, 179, - 120, 26, 193, 180, 194, 433, 181, 195, 221, 219, + 116, 117, 193, 203, 162, 42, 186, 42, 188, 509, + 184, 26, 26, 509, 208, 26, 220, 26, 26, 506, + 185, 187, 26, 26, 189, 190, 221, 191, 229, 193, + 203, 497, 42, 192, 42, 188, 184, 494, 26, 26, + 208, 26, 220, 218, 26, 133, 185, 134, 26, 26, + 189, 135, 190, 221, 191, 229, 118, 26, 136, 192, + 219, 478, 32, 26, 26, 194, 229, 26, 195, 95, + 218, 196, 133, 222, 134, 197, 96, 96, 135, 209, + 26, 41, 26, 210, 136, 119, 219, 42, 165, 436, + 120, 26, 194, 229, 195, 373, 166, 196, 234, 222, - 121, 196, 122, 123, 233, 182, 208, 236, 124, 125, - 209, 371, 119, 228, 42, 228, 179, 120, 228, 133, - 180, 134, 181, 249, 221, 135, 121, 251, 122, 123, - 233, 182, 136, 236, 124, 125, 279, 26, 126, 250, - 228, 274, 228, 260, 42, 228, 133, 273, 134, 42, - 249, 228, 135, 232, 251, 168, 279, 162, 136, 26, - 261, 26, 26, 234, 235, 250, 169, 52, 26, 260, - 155, 42, 170, 171, 172, 275, 42, 173, 228, 277, - 232, 138, 168, 162, 138, 26, 261, 26, 26, 234, - 235, 267, 169, 52, 26, 126, 267, 267, 170, 171, + 121, 197, 122, 123, 167, 168, 209, 237, 124, 125, + 210, 280, 119, 229, 42, 165, 229, 120, 233, 133, + 250, 134, 166, 252, 234, 135, 121, 275, 122, 123, + 167, 168, 136, 237, 124, 125, 268, 26, 126, 251, + 229, 268, 268, 229, 42, 233, 133, 250, 134, 42, + 252, 276, 135, 235, 236, 169, 274, 261, 136, 26, + 162, 26, 26, 262, 277, 251, 170, 52, 26, 280, + 278, 42, 171, 172, 173, 279, 42, 174, 276, 235, + 236, 138, 169, 261, 138, 26, 162, 26, 26, 262, + 155, 277, 170, 52, 26, 126, 278, 154, 171, 172, - 172, 42, 275, 173, 276, 277, 42, 149, 149, 149, - 149, 149, 149, 149, 149, 154, 26, 153, 26, 26, - 272, 272, 272, 272, 52, 26, 449, 449, 42, 153, - 273, 276, 274, 42, 140, 140, 140, 140, 140, 140, - 140, 140, 26, 278, 26, 26, 280, 248, 281, 247, + 173, 42, 279, 174, 281, 153, 42, 149, 149, 149, + 149, 149, 149, 149, 149, 249, 26, 153, 26, 26, + 273, 273, 273, 273, 52, 26, 452, 452, 42, 248, + 274, 281, 275, 42, 140, 140, 140, 140, 140, 140, + 140, 140, 26, 282, 26, 26, 283, 286, 289, 247, 52, 26, 26, 27, 28, 27, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 34, 26, 246, 128, 245, - 278, 508, 508, 280, 281, 129, 130, 26, 26, 26, - 41, 26, 26, 26, 237, 284, 131, 141, 141, 141, + 26, 26, 26, 26, 26, 34, 26, 246, 128, 282, + 513, 513, 283, 286, 289, 129, 130, 26, 26, 26, + 41, 26, 26, 26, 287, 238, 131, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 150, 150, 150, - 150, 150, 150, 150, 150, 150, 150, 656, 656, 656, - 238, 284, 656, 131, 556, 556, 140, 140, 140, 140, - 140, 140, 140, 140, 656, 146, 285, 155, 286, 288, - 146, 146, 287, 289, 290, 154, 26, 26, 26, 27, + 150, 150, 150, 150, 150, 150, 150, 668, 668, 668, + 239, 287, 668, 131, 563, 563, 140, 140, 140, 140, + 140, 140, 140, 140, 668, 146, 288, 155, 290, 154, + 146, 146, 291, 292, 293, 668, 26, 26, 26, 27, 28, 27, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 34, 26, 285, 128, 286, 288, 291, 287, 289, - 290, 129, 130, 26, 26, 26, 41, 26, 26, 26, - 174, 282, 131, 175, 656, 297, 197, 176, 198, 298, - 656, 292, 283, 291, 177, 178, 199, 301, 200, 293, - 302, 294, 201, 295, 296, 303, 656, 174, 282, 131, + 26, 34, 26, 288, 128, 290, 299, 668, 291, 292, + 293, 129, 130, 26, 26, 26, 41, 26, 26, 26, + 175, 240, 131, 176, 180, 300, 284, 177, 181, 668, + 303, 182, 299, 294, 178, 179, 241, 285, 242, 243, + 183, 295, 304, 296, 244, 245, 668, 175, 240, 131, - 175, 297, 656, 197, 176, 198, 298, 292, 283, 656, - 177, 178, 199, 301, 200, 293, 302, 294, 201, 295, - 296, 303, 26, 26, 26, 27, 28, 27, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 34, 26, 587, - 587, 308, 239, 656, 304, 305, 203, 613, 613, 26, - 26, 26, 41, 26, 26, 26, 204, 240, 306, 241, - 242, 307, 205, 309, 312, 243, 244, 206, 308, 239, - 304, 305, 656, 203, 270, 270, 270, 270, 270, 270, - 270, 270, 204, 240, 306, 241, 242, 307, 205, 309, - 312, 243, 244, 206, 141, 141, 141, 141, 141, 141, + 176, 180, 300, 284, 177, 181, 303, 182, 668, 294, + 178, 179, 241, 285, 242, 243, 183, 295, 304, 296, + 244, 245, 26, 26, 26, 27, 28, 27, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 34, 26, 297, + 298, 596, 596, 305, 306, 307, 198, 204, 199, 26, + 26, 26, 41, 26, 26, 26, 200, 205, 201, 308, + 301, 668, 202, 206, 309, 297, 298, 302, 207, 305, + 306, 307, 668, 198, 204, 199, 624, 624, 310, 668, + 311, 314, 200, 205, 201, 308, 268, 301, 202, 206, + 309, 268, 268, 302, 207, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 613, 613, 500, 500, 26, 26, + 141, 141, 141, 141, 141, 310, 311, 314, 26, 26, 26, 27, 28, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26, 34, 26, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 26, 26, 26, 41, 26, - 26, 26, 299, 656, 310, 313, 314, 315, 656, 300, - 323, 311, 316, 317, 318, 656, 324, 325, 326, 328, - 656, 327, 331, 332, 656, 335, 336, 547, 547, 299, - 310, 313, 656, 314, 315, 300, 323, 311, 656, 316, - 317, 318, 324, 325, 326, 344, 328, 327, 331, 656, - 332, 335, 345, 336, 26, 26, 148, 148, 148, 148, + 271, 271, 271, 668, 315, 26, 26, 26, 41, 26, + 26, 26, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 312, 316, 317, 318, 319, 320, 668, 313, + 315, 325, 326, 327, 328, 330, 348, 329, 349, 350, + 351, 352, 353, 354, 355, 624, 624, 668, 312, 334, + 316, 317, 318, 319, 320, 313, 333, 325, 326, 327, + 328, 668, 330, 329, 26, 26, 148, 148, 148, 148, - 148, 148, 148, 148, 149, 149, 656, 319, 656, 354, - 333, 320, 344, 150, 150, 150, 150, 150, 150, 345, - 329, 656, 267, 321, 322, 656, 334, 267, 267, 656, - 330, 226, 227, 226, 319, 354, 656, 333, 320, 656, - 150, 150, 150, 150, 150, 150, 210, 329, 211, 321, - 322, 212, 334, 213, 214, 227, 330, 215, 340, 342, - 656, 355, 341, 343, 346, 216, 347, 348, 349, 350, - 351, 352, 353, 210, 656, 211, 552, 552, 212, 656, - 213, 214, 656, 215, 337, 340, 342, 355, 341, 343, - 656, 216, 226, 227, 226, 356, 656, 656, 656, 656, + 148, 148, 148, 148, 149, 149, 334, 321, 668, 337, + 335, 322, 333, 150, 150, 150, 150, 150, 150, 668, + 331, 505, 505, 323, 324, 668, 336, 668, 338, 668, + 332, 554, 554, 668, 321, 337, 346, 335, 322, 347, + 150, 150, 150, 150, 150, 150, 211, 331, 212, 323, + 324, 213, 336, 214, 215, 338, 332, 216, 227, 228, + 227, 356, 357, 346, 358, 217, 347, 359, 360, 361, + 362, 363, 364, 211, 668, 212, 559, 559, 213, 668, + 214, 215, 228, 216, 339, 591, 591, 356, 357, 668, + 358, 217, 227, 228, 227, 668, 668, 668, 668, 668, - 656, 656, 656, 656, 656, 656, 150, 150, 150, 150, - 150, 150, 150, 150, 150, 150, 227, 363, 368, 656, - 369, 356, 370, 228, 228, 228, 228, 228, 229, 357, - 358, 359, 360, 361, 362, 365, 365, 365, 365, 365, - 365, 365, 365, 363, 656, 368, 369, 582, 582, 370, - 228, 228, 228, 228, 228, 229, 656, 656, 656, 366, - 366, 366, 366, 366, 366, 366, 366, 366, 366, 372, + 668, 668, 668, 668, 668, 668, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 228, 342, 344, 668, + 365, 343, 345, 229, 229, 229, 229, 229, 230, 367, + 367, 367, 367, 367, 367, 367, 367, 620, 620, 645, + 645, 668, 370, 668, 342, 344, 365, 343, 345, 668, + 229, 229, 229, 229, 229, 230, 668, 668, 668, 368, + 368, 368, 368, 368, 368, 368, 368, 368, 368, 370, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, - 656, 373, 374, 375, 377, 376, 383, 228, 228, 231, - 228, 228, 228, 609, 609, 656, 372, 378, 379, 380, + 668, 371, 372, 374, 668, 375, 376, 229, 229, 232, + 229, 229, 229, 668, 668, 668, 668, 377, 378, 380, - 381, 384, 656, 382, 385, 386, 387, 373, 374, 656, - 375, 377, 376, 383, 228, 228, 231, 228, 228, 228, - 656, 656, 656, 378, 379, 380, 381, 656, 384, 382, - 388, 385, 386, 387, 656, 656, 656, 656, 656, 656, - 656, 656, 656, 656, 656, 269, 269, 269, 269, 269, - 269, 269, 269, 270, 270, 389, 390, 388, 391, 392, - 393, 394, 271, 271, 271, 271, 271, 271, 633, 633, - 395, 396, 397, 398, 656, 399, 400, 406, 407, 656, - 408, 389, 656, 390, 391, 392, 393, 394, 656, 271, - 271, 271, 271, 271, 271, 337, 395, 396, 397, 656, + 379, 668, 381, 382, 383, 386, 387, 371, 668, 372, + 374, 375, 376, 668, 229, 229, 232, 229, 229, 229, + 668, 668, 668, 377, 668, 378, 380, 379, 381, 382, + 383, 392, 386, 387, 668, 668, 668, 668, 668, 668, + 668, 668, 668, 668, 668, 270, 270, 270, 270, 270, + 270, 270, 270, 271, 271, 384, 388, 392, 385, 389, + 390, 391, 272, 272, 272, 272, 272, 272, 668, 393, + 668, 394, 395, 396, 397, 398, 399, 400, 401, 668, + 402, 384, 668, 388, 385, 668, 389, 390, 391, 272, + 272, 272, 272, 272, 272, 339, 393, 394, 395, 396, - 398, 399, 656, 400, 406, 407, 408, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 409, 410, 411, - 412, 414, 401, 420, 338, 338, 338, 338, 338, 338, - 656, 656, 402, 404, 656, 413, 419, 423, 403, 424, - 405, 656, 425, 409, 410, 411, 656, 412, 414, 401, - 420, 338, 338, 338, 338, 338, 338, 337, 402, 426, - 404, 413, 419, 423, 403, 421, 424, 405, 425, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 422, - 427, 428, 656, 429, 430, 426, 338, 338, 338, 338, - 338, 338, 421, 439, 440, 441, 442, 443, 444, 656, + 397, 398, 399, 400, 403, 401, 402, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 409, 410, 668, + 411, 412, 404, 415, 340, 340, 340, 340, 340, 340, + 668, 403, 405, 407, 668, 413, 414, 416, 406, 417, + 408, 668, 422, 668, 409, 410, 411, 412, 668, 404, + 415, 340, 340, 340, 340, 340, 340, 339, 405, 426, + 407, 413, 414, 416, 406, 423, 417, 408, 422, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 427, + 668, 428, 429, 430, 431, 426, 340, 340, 340, 340, + 340, 340, 423, 442, 443, 444, 445, 446, 447, 668, - 656, 656, 431, 432, 656, 422, 438, 427, 428, 429, - 656, 430, 656, 338, 338, 338, 338, 338, 338, 364, - 364, 364, 364, 364, 364, 364, 364, 365, 365, 431, - 432, 445, 438, 415, 450, 416, 366, 366, 366, 366, - 366, 366, 656, 417, 451, 452, 454, 418, 447, 447, - 447, 447, 447, 447, 447, 447, 656, 445, 453, 656, - 415, 450, 416, 366, 366, 366, 366, 366, 366, 417, - 451, 452, 454, 418, 435, 448, 448, 448, 448, 448, - 448, 448, 448, 448, 448, 453, 366, 366, 366, 366, - 366, 366, 366, 366, 366, 366, 455, 435, 456, 457, + 668, 668, 668, 432, 433, 434, 427, 428, 429, 668, + 430, 431, 668, 340, 340, 340, 340, 340, 340, 366, + 366, 366, 366, 366, 366, 366, 366, 367, 367, 432, + 424, 433, 434, 418, 435, 419, 368, 368, 368, 368, + 368, 368, 668, 420, 425, 441, 448, 421, 450, 450, + 450, 450, 450, 450, 450, 450, 668, 424, 453, 668, + 418, 435, 419, 368, 368, 368, 368, 368, 368, 420, + 425, 441, 448, 421, 438, 451, 451, 451, 451, 451, + 451, 451, 451, 451, 451, 453, 368, 368, 368, 368, + 368, 368, 368, 368, 368, 368, 454, 438, 455, 456, - 458, 459, 460, 436, 436, 436, 436, 436, 436, 656, - 656, 656, 656, 656, 656, 656, 656, 656, 656, 461, - 462, 463, 465, 455, 456, 457, 464, 458, 459, 460, - 436, 436, 436, 436, 436, 436, 446, 446, 446, 446, - ... [truncated message content] |
From: <gp...@us...> - 2011-07-07 08:10:24
|
Revision: 24264 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=24264&view=rev Author: gpz Date: 2011-07-07 08:10:15 +0000 (Thu, 07 Jul 2011) Log Message: ----------- handle some escape codes (\n \r " \xNN) in input strings. changed keybuf command to take a string. fixes bug 3184145 Modified Paths: -------------- trunk/vice/src/monitor/mon_lex.c trunk/vice/src/monitor/mon_lex.l trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.h trunk/vice/src/monitor/mon_parse.y Modified: trunk/vice/src/monitor/mon_lex.c =================================================================== --- trunk/vice/src/monitor/mon_lex.c 2011-07-06 23:52:53 UTC (rev 24263) +++ trunk/vice/src/monitor/mon_lex.c 2011-07-07 08:10:15 UTC (rev 24264) @@ -354,7 +354,8 @@ */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ - yyleng = (size_t) (yy_cp - yy_bp); \ + (yytext_ptr) -= (yy_more_len); \ + yyleng = (size_t) (yy_cp - (yytext_ptr)); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; @@ -1337,8 +1338,10 @@ goto find_rule; \ } -#define yymore() yymore_used_but_not_detected -#define YY_MORE_ADJ 0 +static int yy_more_flag = 0; +static int yy_more_len = 0; +#define yymore() ((yy_more_flag) = 1) +#define YY_MORE_ADJ (yy_more_len) #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "mon_lex.l" @@ -1401,9 +1404,54 @@ #define YY_USER_ACTION { last_len = cur_len; cur_len += yyleng; } +static int hexint(char n) { + if ((n >= '0') && (n <= '9')) { + return n - '0'; + } else if ((n >= 'a') && (n <= 'f')) { + return n - ('a' - 0x0a); + } else if ((n >= 'A') && (n <= 'F')) { + return n - ('A' - 0x0a); + } + return 0; +} -#line 1406 "mon_lex.c" +/* remove escaped codes from string and replace them by their actual character + codes. */ +static void unescape(char *s) { + char *d = s; + int n; + while (*s) { + if (*s == '\\') { + s++; + switch (*s) { + case '\\': *d = '\\'; break; /* backslash */ + case 'n': *d = '\n'; break; /* lf */ + case 'r': *d = '\r'; break; /* cr */ + case '"': *d = '"'; break; /* quote */ + case 'x': /* hex codes */ + s++; if (*s == 0) { goto send; } + n = hexint(*s) << 4; + s++; if (*s == 0) { goto send; } + *d = n | hexint(*s); + break; + default: + *d = '\\'; d++; + if (*s == 0) { goto send; } + *d = *s; + break; + } + } else { + *d = *s; + } + s++;d++; + } +send: + *d = 0; +} + +#line 1454 "mon_lex.c" + #define INITIAL 0 #define FNAME 1 #define CMD 2 @@ -1595,7 +1643,7 @@ register char *yy_cp, *yy_bp; register int yy_act; -#line 69 "mon_lex.l" +#line 114 "mon_lex.l" @@ -1612,7 +1660,7 @@ } -#line 1616 "mon_lex.c" +#line 1664 "mon_lex.c" if ( !(yy_init) ) { @@ -1648,6 +1696,12 @@ while ( 1 ) /* loops until end-of-file is reached */ { + (yy_more_len) = 0; + if ( (yy_more_flag) ) + { + (yy_more_len) = (yy_c_buf_p) - (yytext_ptr); + (yy_more_flag) = 0; + } yy_cp = (yy_c_buf_p); /* Support of yytext. */ @@ -1727,444 +1781,444 @@ case 1: YY_RULE_SETUP -#line 86 "mon_lex.l" +#line 131 "mon_lex.l" { BEGIN(ROL); return CMD_COMMENT; } YY_BREAK case 2: YY_RULE_SETUP -#line 87 "mon_lex.l" +#line 132 "mon_lex.l" { BEGIN(INITIAL); return CONVERT_OP; } YY_BREAK case 3: YY_RULE_SETUP -#line 88 "mon_lex.l" +#line 133 "mon_lex.l" { BEGIN(INITIAL); return CMD_ENTER_DATA; } YY_BREAK case 4: YY_RULE_SETUP -#line 89 "mon_lex.l" +#line 134 "mon_lex.l" { BEGIN(ROL); return CMD_DISK; } YY_BREAK case 5: YY_RULE_SETUP -#line 90 "mon_lex.l" +#line 135 "mon_lex.l" { opt_asm = 1; BEGIN(INITIAL); return CMD_ASSEMBLE; } YY_BREAK case 6: YY_RULE_SETUP -#line 91 "mon_lex.l" +#line 136 "mon_lex.l" { BEGIN(INITIAL); return CMD_ADD_LABEL; } YY_BREAK case 7: YY_RULE_SETUP -#line 92 "mon_lex.l" +#line 137 "mon_lex.l" { BEGIN(FNAME); return CMD_ATTACH; } YY_BREAK case 8: YY_RULE_SETUP -#line 93 "mon_lex.l" +#line 138 "mon_lex.l" { BEGIN(FNAME); return CMD_AUTOSTART; } YY_BREAK case 9: YY_RULE_SETUP -#line 94 "mon_lex.l" +#line 139 "mon_lex.l" { BEGIN(FNAME); return CMD_AUTOLOAD; } YY_BREAK case 10: YY_RULE_SETUP -#line 95 "mon_lex.l" +#line 140 "mon_lex.l" { BEGIN(BNAME); return CMD_BANK; } YY_BREAK case 11: YY_RULE_SETUP -#line 96 "mon_lex.l" +#line 141 "mon_lex.l" { BEGIN(FNAME); return CMD_BLOAD; } YY_BREAK case 12: YY_RULE_SETUP -#line 97 "mon_lex.l" +#line 142 "mon_lex.l" { BEGIN(INITIAL); return CMD_BLOCK_READ; } YY_BREAK case 13: YY_RULE_SETUP -#line 98 "mon_lex.l" +#line 143 "mon_lex.l" { BEGIN(INITIAL); return CMD_BREAK; } YY_BREAK case 14: YY_RULE_SETUP -#line 99 "mon_lex.l" +#line 144 "mon_lex.l" { BEGIN(FNAME); return CMD_BSAVE; } YY_BREAK case 15: YY_RULE_SETUP -#line 100 "mon_lex.l" +#line 145 "mon_lex.l" { BEGIN(INITIAL); return CMD_BACKTRACE; } YY_BREAK case 16: YY_RULE_SETUP -#line 101 "mon_lex.l" +#line 146 "mon_lex.l" { BEGIN(INITIAL); return CMD_BLOCK_WRITE; } YY_BREAK case 17: YY_RULE_SETUP -#line 102 "mon_lex.l" +#line 147 "mon_lex.l" { BEGIN(INITIAL); return CMD_CARTFREEZE; } YY_BREAK case 18: YY_RULE_SETUP -#line 103 "mon_lex.l" +#line 148 "mon_lex.l" { BEGIN(ROL); return CMD_CHDIR; } YY_BREAK case 19: YY_RULE_SETUP -#line 104 "mon_lex.l" +#line 149 "mon_lex.l" { BEGIN(INITIAL); return CMD_COMMAND; } YY_BREAK case 20: YY_RULE_SETUP -#line 105 "mon_lex.l" +#line 150 "mon_lex.l" { BEGIN(INITIAL); return CMD_COMPARE; } YY_BREAK case 21: YY_RULE_SETUP -#line 106 "mon_lex.l" +#line 151 "mon_lex.l" { BEGIN(INITIAL); return CMD_CONDITION; } YY_BREAK case 22: YY_RULE_SETUP -#line 107 "mon_lex.l" +#line 152 "mon_lex.l" { BEGIN(CTYPE); return CMD_CPU; } YY_BREAK case 23: YY_RULE_SETUP -#line 108 "mon_lex.l" +#line 153 "mon_lex.l" { BEGIN(INITIAL); return CMD_CPUHISTORY; } YY_BREAK case 24: YY_RULE_SETUP -#line 109 "mon_lex.l" +#line 154 "mon_lex.l" { BEGIN(ROL); return CMD_DIR; } YY_BREAK case 25: YY_RULE_SETUP -#line 110 "mon_lex.l" +#line 155 "mon_lex.l" { BEGIN(INITIAL); return CMD_DISASSEMBLE; } YY_BREAK case 26: YY_RULE_SETUP -#line 111 "mon_lex.l" +#line 156 "mon_lex.l" { BEGIN(INITIAL); return CMD_DELETE; } YY_BREAK case 27: YY_RULE_SETUP -#line 112 "mon_lex.l" +#line 157 "mon_lex.l" { BEGIN(INITIAL); return CMD_DEL_LABEL; } YY_BREAK case 28: YY_RULE_SETUP -#line 113 "mon_lex.l" +#line 158 "mon_lex.l" { BEGIN(INITIAL); return CMD_DEVICE; } YY_BREAK case 29: YY_RULE_SETUP -#line 114 "mon_lex.l" +#line 159 "mon_lex.l" { BEGIN(INITIAL); return CMD_DETACH; } YY_BREAK case 30: YY_RULE_SETUP -#line 115 "mon_lex.l" +#line 160 "mon_lex.l" { BEGIN(INITIAL); return CMD_CHECKPT_OFF; } YY_BREAK case 31: YY_RULE_SETUP -#line 116 "mon_lex.l" +#line 161 "mon_lex.l" { BEGIN(FNAME); return CMD_DUMP; } YY_BREAK case 32: YY_RULE_SETUP -#line 117 "mon_lex.l" +#line 162 "mon_lex.l" { BEGIN(INITIAL); return CMD_CHECKPT_ON; } YY_BREAK case 33: YY_RULE_SETUP -#line 118 "mon_lex.l" +#line 163 "mon_lex.l" { BEGIN(INITIAL); return CMD_EXIT; } YY_BREAK case 34: YY_RULE_SETUP -#line 119 "mon_lex.l" +#line 164 "mon_lex.l" { BEGIN(INITIAL); return CMD_EXPORT; } YY_BREAK case 35: YY_RULE_SETUP -#line 120 "mon_lex.l" +#line 165 "mon_lex.l" { BEGIN(INITIAL); return CMD_FILL; } YY_BREAK case 36: YY_RULE_SETUP -#line 121 "mon_lex.l" +#line 166 "mon_lex.l" { BEGIN(INITIAL); return CMD_GOTO; } YY_BREAK case 37: YY_RULE_SETUP -#line 122 "mon_lex.l" +#line 167 "mon_lex.l" { BEGIN(ROL); return CMD_HELP; } YY_BREAK case 38: YY_RULE_SETUP -#line 123 "mon_lex.l" +#line 168 "mon_lex.l" { BEGIN(INITIAL); return CMD_HUNT; } YY_BREAK case 39: YY_RULE_SETUP -#line 124 "mon_lex.l" +#line 169 "mon_lex.l" { BEGIN(INITIAL); return CMD_TEXT_DISPLAY; } YY_BREAK case 40: YY_RULE_SETUP -#line 125 "mon_lex.l" +#line 170 "mon_lex.l" { BEGIN(INITIAL); return CMD_SCREENCODE_DISPLAY; } YY_BREAK case 41: YY_RULE_SETUP -#line 126 "mon_lex.l" +#line 171 "mon_lex.l" { BEGIN(INITIAL); return CMD_IGNORE; } YY_BREAK case 42: YY_RULE_SETUP -#line 127 "mon_lex.l" +#line 172 "mon_lex.l" { BEGIN(INITIAL); return CMD_IO; } YY_BREAK case 43: YY_RULE_SETUP -#line 128 "mon_lex.l" -{ BEGIN(ROL); return CMD_KEYBUF; } +#line 173 "mon_lex.l" +{ BEGIN(INITIAL); return CMD_KEYBUF; } YY_BREAK case 44: YY_RULE_SETUP -#line 129 "mon_lex.l" +#line 174 "mon_lex.l" { BEGIN(INITIAL); return CMD_LIST; } YY_BREAK case 45: YY_RULE_SETUP -#line 130 "mon_lex.l" +#line 175 "mon_lex.l" { BEGIN(FNAME); return CMD_LOAD; } YY_BREAK case 46: YY_RULE_SETUP -#line 131 "mon_lex.l" +#line 176 "mon_lex.l" { BEGIN(FNAME); return CMD_LOAD_LABELS; } YY_BREAK case 47: YY_RULE_SETUP -#line 132 "mon_lex.l" +#line 177 "mon_lex.l" { BEGIN(INITIAL); return CMD_MEM_DISPLAY; } YY_BREAK case 48: YY_RULE_SETUP -#line 133 "mon_lex.l" +#line 178 "mon_lex.l" { BEGIN(INITIAL); return CMD_CHAR_DISPLAY; } YY_BREAK case 49: YY_RULE_SETUP -#line 134 "mon_lex.l" +#line 179 "mon_lex.l" { BEGIN(FNAME); return CMD_MEMMAPSAVE; } YY_BREAK case 50: YY_RULE_SETUP -#line 135 "mon_lex.l" +#line 180 "mon_lex.l" { BEGIN(INITIAL); return CMD_MEMMAPSHOW; } YY_BREAK case 51: YY_RULE_SETUP -#line 136 "mon_lex.l" +#line 181 "mon_lex.l" { BEGIN(INITIAL); return CMD_MEMMAPZAP; } YY_BREAK case 52: YY_RULE_SETUP -#line 137 "mon_lex.l" +#line 182 "mon_lex.l" { BEGIN(INITIAL); return CMD_MOVE; } YY_BREAK case 53: YY_RULE_SETUP -#line 138 "mon_lex.l" +#line 183 "mon_lex.l" { BEGIN(INITIAL); return CMD_SPRITE_DISPLAY; } YY_BREAK case 54: YY_RULE_SETUP -#line 139 "mon_lex.l" +#line 184 "mon_lex.l" { BEGIN(INITIAL); return CMD_NEXT; } YY_BREAK case 55: YY_RULE_SETUP -#line 140 "mon_lex.l" +#line 185 "mon_lex.l" { BEGIN(FNAME); return CMD_PLAYBACK; } YY_BREAK case 56: YY_RULE_SETUP -#line 141 "mon_lex.l" +#line 186 "mon_lex.l" { BEGIN(INITIAL); return CMD_PRINT; } YY_BREAK case 57: YY_RULE_SETUP -#line 142 "mon_lex.l" +#line 187 "mon_lex.l" { BEGIN(INITIAL); return CMD_PWD; } YY_BREAK case 58: YY_RULE_SETUP -#line 143 "mon_lex.l" +#line 188 "mon_lex.l" { BEGIN(INITIAL); return CMD_QUIT; } YY_BREAK case 59: YY_RULE_SETUP -#line 144 "mon_lex.l" +#line 189 "mon_lex.l" { BEGIN(RADIX); return CMD_RADIX; } YY_BREAK case 60: YY_RULE_SETUP -#line 145 "mon_lex.l" +#line 190 "mon_lex.l" { BEGIN(FNAME); return CMD_RECORD; } YY_BREAK case 61: YY_RULE_SETUP -#line 146 "mon_lex.l" +#line 191 "mon_lex.l" { BEGIN(REG_ASGN); return CMD_REGISTERS; } YY_BREAK case 62: YY_RULE_SETUP -#line 147 "mon_lex.l" +#line 192 "mon_lex.l" { BEGIN(INITIAL); return CMD_MON_RESET; } YY_BREAK case 63: YY_RULE_SETUP -#line 148 "mon_lex.l" +#line 193 "mon_lex.l" { BEGIN(INITIAL); return CMD_RESOURCE_GET; } YY_BREAK case 64: YY_RULE_SETUP -#line 149 "mon_lex.l" +#line 194 "mon_lex.l" { BEGIN(INITIAL); return CMD_RESOURCE_SET; } YY_BREAK case 65: YY_RULE_SETUP -#line 150 "mon_lex.l" +#line 195 "mon_lex.l" { BEGIN(INITIAL); return CMD_RETURN; } YY_BREAK case 66: YY_RULE_SETUP -#line 151 "mon_lex.l" +#line 196 "mon_lex.l" { BEGIN(FNAME); return CMD_SAVE; } YY_BREAK case 67: YY_RULE_SETUP -#line 152 "mon_lex.l" +#line 197 "mon_lex.l" { BEGIN(FNAME); return CMD_SAVE_LABELS; } YY_BREAK case 68: YY_RULE_SETUP -#line 153 "mon_lex.l" +#line 198 "mon_lex.l" { BEGIN(INITIAL); return CMD_SCREEN; } YY_BREAK case 69: YY_RULE_SETUP -#line 154 "mon_lex.l" +#line 199 "mon_lex.l" { BEGIN(FNAME); return CMD_SCREENSHOT; } YY_BREAK case 70: YY_RULE_SETUP -#line 155 "mon_lex.l" +#line 200 "mon_lex.l" { BEGIN(INITIAL); return CMD_SHOW_LABELS; } YY_BREAK case 71: YY_RULE_SETUP -#line 156 "mon_lex.l" +#line 201 "mon_lex.l" { BEGIN(INITIAL); return CMD_SIDEFX; } YY_BREAK case 72: YY_RULE_SETUP -#line 157 "mon_lex.l" +#line 202 "mon_lex.l" { BEGIN(INITIAL); return CMD_STEP; } YY_BREAK case 73: YY_RULE_SETUP -#line 158 "mon_lex.l" +#line 203 "mon_lex.l" { BEGIN(INITIAL); return CMD_MON_STOP; } YY_BREAK case 74: YY_RULE_SETUP -#line 159 "mon_lex.l" +#line 204 "mon_lex.l" { BEGIN(INITIAL); return CMD_TAPECTRL; } YY_BREAK case 75: YY_RULE_SETUP -#line 160 "mon_lex.l" +#line 205 "mon_lex.l" { BEGIN(INITIAL); return CMD_TRACE; } YY_BREAK case 76: YY_RULE_SETUP -#line 161 "mon_lex.l" +#line 206 "mon_lex.l" { BEGIN(INITIAL); return CMD_UNTIL; } YY_BREAK case 77: YY_RULE_SETUP -#line 162 "mon_lex.l" +#line 207 "mon_lex.l" { BEGIN(FNAME); return CMD_UNDUMP; } YY_BREAK case 78: YY_RULE_SETUP -#line 163 "mon_lex.l" +#line 208 "mon_lex.l" { BEGIN(INITIAL); return CMD_WATCH; } YY_BREAK case 79: YY_RULE_SETUP -#line 164 "mon_lex.l" +#line 209 "mon_lex.l" { BEGIN(INITIAL); return CMD_YYDEBUG; } YY_BREAK /* this is not a real command, but could be a label name for a label assignment */ case 80: YY_RULE_SETUP -#line 167 "mon_lex.l" +#line 212 "mon_lex.l" { BEGIN(LABEL_ASGN); yylval.str = lib_stralloc(yytext); return CMD_LABEL_ASGN; } YY_BREAK case 81: YY_RULE_SETUP -#line 169 "mon_lex.l" +#line 214 "mon_lex.l" { new_cmd = 1; return CMD_SEP; } YY_BREAK case 82: YY_RULE_SETUP -#line 171 "mon_lex.l" +#line 216 "mon_lex.l" { yylval.i = e_ON; return TOGGLE; } YY_BREAK case 83: YY_RULE_SETUP -#line 172 "mon_lex.l" +#line 217 "mon_lex.l" { yylval.i = e_OFF; return TOGGLE; } YY_BREAK case 84: YY_RULE_SETUP -#line 173 "mon_lex.l" +#line 218 "mon_lex.l" { yylval.i = e_TOGGLE; return TOGGLE; } YY_BREAK case 85: YY_RULE_SETUP -#line 175 "mon_lex.l" +#line 220 "mon_lex.l" { yylval.i = e_load; return MEM_OP; } YY_BREAK case 86: YY_RULE_SETUP -#line 176 "mon_lex.l" +#line 221 "mon_lex.l" { yylval.i = e_store; return MEM_OP; } YY_BREAK case 87: YY_RULE_SETUP -#line 178 "mon_lex.l" +#line 223 "mon_lex.l" { BEGIN (COND_MODE); return IF; } YY_BREAK case 88: YY_RULE_SETUP -#line 180 "mon_lex.l" +#line 225 "mon_lex.l" { if (!quote) { quote = 1; BEGIN (STR); @@ -2173,37 +2227,58 @@ YY_BREAK case 89: YY_RULE_SETUP -#line 185 "mon_lex.l" +#line 231 "mon_lex.l" { if (quote) { - quote = 0; - BEGIN (INITIAL); + if ((yyleng > 1) && (yytext[yyleng - 2] == '\\')) { + yymore(); /* skip escaped quote */ + } else if (((yyleng < 4) || (yytext[yyleng - 4] != '\\')) && + (yyleng > 2) && (yytext[yyleng - 3] == '\\') && + (yytext[yyleng - 2] == '"')) { + /* special case, \"" at end of string */ + yylval.str = lib_stralloc(yytext); + yylval.str[yyleng -1] = 0; + unescape(yylval.str); + quote = 0; + BEGIN (INITIAL); + return STRING; + } else { + quote = 0; + BEGIN (INITIAL); + } } } YY_BREAK case 90: YY_RULE_SETUP -#line 191 "mon_lex.l" -{ yylval.str = lib_stralloc(yytext); return STRING; } +#line 251 "mon_lex.l" +{ if (yytext[yyleng - 1] == '\\') { + yymore(); /* skip escaped quote */ + } else { + yylval.str = lib_stralloc(yytext); + unescape(yylval.str); + return STRING; + } + } YY_BREAK /* prefixes for numbers */ case 91: YY_RULE_SETUP -#line 194 "mon_lex.l" +#line 261 "mon_lex.l" { yylval.i = e_hexadecimal; return INPUT_SPEC; } YY_BREAK case 92: YY_RULE_SETUP -#line 195 "mon_lex.l" +#line 262 "mon_lex.l" { yylval.i = e_decimal; return INPUT_SPEC; } YY_BREAK case 93: YY_RULE_SETUP -#line 196 "mon_lex.l" +#line 263 "mon_lex.l" { yylval.i = e_binary; return INPUT_SPEC; } YY_BREAK case 94: YY_RULE_SETUP -#line 197 "mon_lex.l" +#line 264 "mon_lex.l" { yylval.i = e_octal; return INPUT_SPEC; } YY_BREAK /* \.TA { yylval.i = e_text_ascii; return INPUT_SPEC; } */ @@ -2214,22 +2289,22 @@ /* used by the "radix" command */ case 95: YY_RULE_SETUP -#line 205 "mon_lex.l" +#line 272 "mon_lex.l" { yylval.i = e_decimal; return RADIX_TYPE; } YY_BREAK case 96: YY_RULE_SETUP -#line 206 "mon_lex.l" +#line 273 "mon_lex.l" { yylval.i = e_hexadecimal; return RADIX_TYPE; } YY_BREAK case 97: YY_RULE_SETUP -#line 207 "mon_lex.l" +#line 274 "mon_lex.l" { yylval.i = e_binary; return RADIX_TYPE; } YY_BREAK case 98: YY_RULE_SETUP -#line 208 "mon_lex.l" +#line 275 "mon_lex.l" { yylval.i = e_octal; return RADIX_TYPE; } YY_BREAK /* <RADIX>C { yylval.i = e_character; return RADIX_TYPE; } */ @@ -2239,12 +2314,12 @@ /* used (currently) by the "memory" command */ case 99: YY_RULE_SETUP -#line 215 "mon_lex.l" +#line 282 "mon_lex.l" { yylval.i = e_hexadecimal; return RADIX_TYPE; } YY_BREAK case 100: YY_RULE_SETUP -#line 216 "mon_lex.l" +#line 283 "mon_lex.l" { yylval.i = e_octal; return RADIX_TYPE; } YY_BREAK /* 'b' and 'd' are ambiguous (could be either radix or hex value), @@ -2252,7 +2327,7 @@ (fortunately, rarely used) radix argument to the memory command */ case 101: YY_RULE_SETUP -#line 220 "mon_lex.l" +#line 287 "mon_lex.l" { if (yytext[0] == 'D') { yylval.i = e_decimal; return RADIX_TYPE; } else { @@ -2262,7 +2337,7 @@ YY_BREAK case 102: YY_RULE_SETUP -#line 226 "mon_lex.l" +#line 293 "mon_lex.l" { if (yytext[0] == 'B') { yylval.i = e_binary; return RADIX_TYPE; } else { @@ -2272,43 +2347,43 @@ YY_BREAK case 103: YY_RULE_SETUP -#line 233 "mon_lex.l" +#line 300 "mon_lex.l" { return MEM_COMP; } YY_BREAK case 104: YY_RULE_SETUP -#line 234 "mon_lex.l" +#line 301 "mon_lex.l" { return MEM_DISK8; } YY_BREAK case 105: YY_RULE_SETUP -#line 235 "mon_lex.l" +#line 302 "mon_lex.l" { return MEM_DISK9; } YY_BREAK case 106: YY_RULE_SETUP -#line 236 "mon_lex.l" +#line 303 "mon_lex.l" { return MEM_DISK10; } YY_BREAK case 107: YY_RULE_SETUP -#line 237 "mon_lex.l" +#line 304 "mon_lex.l" { return MEM_DISK11; } YY_BREAK case 108: YY_RULE_SETUP -#line 239 "mon_lex.l" +#line 306 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return CPUTYPE; } YY_BREAK case 109: YY_RULE_SETUP -#line 241 "mon_lex.l" +#line 308 "mon_lex.l" YY_BREAK case 110: /* rule 110 can match eol */ YY_RULE_SETUP -#line 242 "mon_lex.l" +#line 309 "mon_lex.l" { dont_match_reg_a = 0; new_cmd = 1; opt_asm = 0; @@ -2319,540 +2394,540 @@ YY_BREAK case 111: YY_RULE_SETUP -#line 250 "mon_lex.l" +#line 317 "mon_lex.l" { yytext[yyleng-1] = '\0'; yylval.str = lib_stralloc(yytext+1); BEGIN (INITIAL); return FILENAME; } YY_BREAK case 112: YY_RULE_SETUP -#line 254 "mon_lex.l" +#line 321 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return BANKNAME; } YY_BREAK case 113: YY_RULE_SETUP -#line 256 "mon_lex.l" +#line 323 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return R_O_L; } YY_BREAK case 114: YY_RULE_SETUP -#line 259 "mon_lex.l" +#line 326 "mon_lex.l" { yylval.i = e_A; return MON_REGISTER; } YY_BREAK case 115: YY_RULE_SETUP -#line 260 "mon_lex.l" +#line 327 "mon_lex.l" { yylval.i = e_X; return MON_REGISTER; } YY_BREAK case 116: YY_RULE_SETUP -#line 261 "mon_lex.l" +#line 328 "mon_lex.l" { yylval.i = e_Y; return MON_REGISTER; } YY_BREAK case 117: YY_RULE_SETUP -#line 262 "mon_lex.l" +#line 329 "mon_lex.l" { yylval.i = e_PC; return MON_REGISTER; } YY_BREAK case 118: YY_RULE_SETUP -#line 263 "mon_lex.l" +#line 330 "mon_lex.l" { yylval.i = e_SP; return MON_REGISTER; } YY_BREAK case 119: YY_RULE_SETUP -#line 264 "mon_lex.l" +#line 331 "mon_lex.l" { yylval.i = e_FLAGS; return MON_REGISTER; } YY_BREAK case 120: YY_RULE_SETUP -#line 265 "mon_lex.l" +#line 332 "mon_lex.l" { yylval.i = e_R3; return MON_REGISTER; } YY_BREAK case 121: YY_RULE_SETUP -#line 266 "mon_lex.l" +#line 333 "mon_lex.l" { yylval.i = e_R4; return MON_REGISTER; } YY_BREAK case 122: YY_RULE_SETUP -#line 267 "mon_lex.l" +#line 334 "mon_lex.l" { yylval.i = e_R5; return MON_REGISTER; } YY_BREAK case 123: YY_RULE_SETUP -#line 268 "mon_lex.l" +#line 335 "mon_lex.l" { yylval.i = e_R6; return MON_REGISTER; } YY_BREAK case 124: YY_RULE_SETUP -#line 269 "mon_lex.l" +#line 336 "mon_lex.l" { yylval.i = e_R7; return MON_REGISTER; } YY_BREAK case 125: YY_RULE_SETUP -#line 270 "mon_lex.l" +#line 337 "mon_lex.l" { yylval.i = e_R8; return MON_REGISTER; } YY_BREAK case 126: YY_RULE_SETUP -#line 271 "mon_lex.l" +#line 338 "mon_lex.l" { yylval.i = e_R9; return MON_REGISTER; } YY_BREAK case 127: YY_RULE_SETUP -#line 272 "mon_lex.l" +#line 339 "mon_lex.l" { yylval.i = e_R10; return MON_REGISTER; } YY_BREAK case 128: YY_RULE_SETUP -#line 273 "mon_lex.l" +#line 340 "mon_lex.l" { yylval.i = e_R11; return MON_REGISTER; } YY_BREAK case 129: YY_RULE_SETUP -#line 274 "mon_lex.l" +#line 341 "mon_lex.l" { yylval.i = e_R12; return MON_REGISTER; } YY_BREAK case 130: YY_RULE_SETUP -#line 275 "mon_lex.l" +#line 342 "mon_lex.l" { yylval.i = e_R13; return MON_REGISTER; } YY_BREAK case 131: YY_RULE_SETUP -#line 276 "mon_lex.l" +#line 343 "mon_lex.l" { yylval.i = e_R14; return MON_REGISTER; } YY_BREAK case 132: YY_RULE_SETUP -#line 277 "mon_lex.l" +#line 344 "mon_lex.l" { yylval.i = e_R15; return MON_REGISTER; } YY_BREAK case 133: YY_RULE_SETUP -#line 278 "mon_lex.l" +#line 345 "mon_lex.l" { yylval.i = e_ACM; return MON_REGISTER; } YY_BREAK case 134: YY_RULE_SETUP -#line 279 "mon_lex.l" +#line 346 "mon_lex.l" { yylval.i = e_YXM; return MON_REGISTER; } YY_BREAK case 135: YY_RULE_SETUP -#line 283 "mon_lex.l" +#line 350 "mon_lex.l" { yylval.i = e_EQU; return COMPARE_OP; } YY_BREAK case 136: YY_RULE_SETUP -#line 284 "mon_lex.l" +#line 351 "mon_lex.l" { yylval.i = e_NEQ; return COMPARE_OP; } YY_BREAK case 137: YY_RULE_SETUP -#line 285 "mon_lex.l" +#line 352 "mon_lex.l" { yylval.i = e_LTE; return COMPARE_OP; } YY_BREAK case 138: YY_RULE_SETUP -#line 286 "mon_lex.l" +#line 353 "mon_lex.l" { yylval.i = e_LT; return COMPARE_OP; } YY_BREAK case 139: YY_RULE_SETUP -#line 287 "mon_lex.l" +#line 354 "mon_lex.l" { yylval.i = e_GT; return COMPARE_OP; } YY_BREAK case 140: YY_RULE_SETUP -#line 288 "mon_lex.l" +#line 355 "mon_lex.l" { yylval.i = e_GTE; return COMPARE_OP; } YY_BREAK case 141: YY_RULE_SETUP -#line 289 "mon_lex.l" +#line 356 "mon_lex.l" { yylval.i = e_AND; return COMPARE_OP; } YY_BREAK case 142: YY_RULE_SETUP -#line 290 "mon_lex.l" +#line 357 "mon_lex.l" { yylval.i = e_OR; return COMPARE_OP; } YY_BREAK case 143: YY_RULE_SETUP -#line 292 "mon_lex.l" +#line 359 "mon_lex.l" { yylval.i = e_A; return MON_REGISTER; } YY_BREAK case 144: YY_RULE_SETUP -#line 293 "mon_lex.l" +#line 360 "mon_lex.l" { yylval.i = e_X; return MON_REGISTER; } YY_BREAK case 145: YY_RULE_SETUP -#line 294 "mon_lex.l" +#line 361 "mon_lex.l" { yylval.i = e_Y; return MON_REGISTER; } YY_BREAK case 146: YY_RULE_SETUP -#line 295 "mon_lex.l" +#line 362 "mon_lex.l" { yylval.i = e_PC; return MON_REGISTER; } YY_BREAK case 147: YY_RULE_SETUP -#line 296 "mon_lex.l" +#line 363 "mon_lex.l" { yylval.i = e_SP; return MON_REGISTER; } YY_BREAK case 148: YY_RULE_SETUP -#line 297 "mon_lex.l" +#line 364 "mon_lex.l" { yylval.i = e_R3; return MON_REGISTER; } YY_BREAK case 149: YY_RULE_SETUP -#line 298 "mon_lex.l" +#line 365 "mon_lex.l" { yylval.i = e_R4; return MON_REGISTER; } YY_BREAK case 150: YY_RULE_SETUP -#line 299 "mon_lex.l" +#line 366 "mon_lex.l" { yylval.i = e_R5; return MON_REGISTER; } YY_BREAK case 151: YY_RULE_SETUP -#line 300 "mon_lex.l" +#line 367 "mon_lex.l" { yylval.i = e_R6; return MON_REGISTER; } YY_BREAK case 152: YY_RULE_SETUP -#line 301 "mon_lex.l" +#line 368 "mon_lex.l" { yylval.i = e_R7; return MON_REGISTER; } YY_BREAK case 153: YY_RULE_SETUP -#line 302 "mon_lex.l" +#line 369 "mon_lex.l" { yylval.i = e_R8; return MON_REGISTER; } YY_BREAK case 154: YY_RULE_SETUP -#line 303 "mon_lex.l" +#line 370 "mon_lex.l" { yylval.i = e_R9; return MON_REGISTER; } YY_BREAK case 155: YY_RULE_SETUP -#line 304 "mon_lex.l" +#line 371 "mon_lex.l" { yylval.i = e_R10; return MON_REGISTER; } YY_BREAK case 156: YY_RULE_SETUP -#line 305 "mon_lex.l" +#line 372 "mon_lex.l" { yylval.i = e_R11; return MON_REGISTER; } YY_BREAK case 157: YY_RULE_SETUP -#line 306 "mon_lex.l" +#line 373 "mon_lex.l" { yylval.i = e_R12; return MON_REGISTER; } YY_BREAK case 158: YY_RULE_SETUP -#line 307 "mon_lex.l" +#line 374 "mon_lex.l" { yylval.i = e_R13; return MON_REGISTER; } YY_BREAK case 159: YY_RULE_SETUP -#line 308 "mon_lex.l" +#line 375 "mon_lex.l" { yylval.i = e_R14; return MON_REGISTER; } YY_BREAK case 160: YY_RULE_SETUP -#line 309 "mon_lex.l" +#line 376 "mon_lex.l" { yylval.i = e_R15; return MON_REGISTER; } YY_BREAK case 161: YY_RULE_SETUP -#line 310 "mon_lex.l" +#line 377 "mon_lex.l" { yylval.i = e_ACM; return MON_REGISTER; } YY_BREAK case 162: YY_RULE_SETUP -#line 311 "mon_lex.l" +#line 378 "mon_lex.l" { yylval.i = e_YXM; return MON_REGISTER; } YY_BREAK case 163: YY_RULE_SETUP -#line 313 "mon_lex.l" +#line 380 "mon_lex.l" { return L_PAREN; } YY_BREAK case 164: YY_RULE_SETUP -#line 314 "mon_lex.l" +#line 381 "mon_lex.l" { return R_PAREN; } YY_BREAK case 165: YY_RULE_SETUP -#line 317 "mon_lex.l" +#line 384 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return OPCODE; } YY_BREAK case 166: YY_RULE_SETUP -#line 319 "mon_lex.l" +#line 386 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return OPCODE; } YY_BREAK case 167: YY_RULE_SETUP -#line 321 "mon_lex.l" +#line 388 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return OPCODE; } YY_BREAK case 168: YY_RULE_SETUP -#line 323 "mon_lex.l" +#line 390 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return OPCODE; } YY_BREAK case 169: YY_RULE_SETUP -#line 325 "mon_lex.l" +#line 392 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return OPCODE; } YY_BREAK case 170: YY_RULE_SETUP -#line 327 "mon_lex.l" +#line 394 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return OPCODE; } YY_BREAK case 171: YY_RULE_SETUP -#line 329 "mon_lex.l" +#line 396 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return OPCODE; } YY_BREAK case 172: YY_RULE_SETUP -#line 331 "mon_lex.l" +#line 398 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return OPCODE; } YY_BREAK case 173: YY_RULE_SETUP -#line 333 "mon_lex.l" +#line 400 "mon_lex.l" { return REG_AF; } YY_BREAK case 174: YY_RULE_SETUP -#line 334 "mon_lex.l" +#line 401 "mon_lex.l" { return REG_BC; } YY_BREAK case 175: YY_RULE_SETUP -#line 335 "mon_lex.l" +#line 402 "mon_lex.l" { return REG_DE; } YY_BREAK case 176: YY_RULE_SETUP -#line 336 "mon_lex.l" +#line 403 "mon_lex.l" { return REG_HL; } YY_BREAK case 177: YY_RULE_SETUP -#line 337 "mon_lex.l" +#line 404 "mon_lex.l" { return REG_IX; } YY_BREAK case 178: YY_RULE_SETUP -#line 338 "mon_lex.l" +#line 405 "mon_lex.l" { return REG_IXH; } YY_BREAK case 179: YY_RULE_SETUP -#line 339 "mon_lex.l" +#line 406 "mon_lex.l" { return REG_IXL; } YY_BREAK case 180: YY_RULE_SETUP -#line 340 "mon_lex.l" +#line 407 "mon_lex.l" { return REG_IY; } YY_BREAK case 181: YY_RULE_SETUP -#line 341 "mon_lex.l" +#line 408 "mon_lex.l" { return REG_IYH; } YY_BREAK case 182: YY_RULE_SETUP -#line 342 "mon_lex.l" +#line 409 "mon_lex.l" { return REG_IYL; } YY_BREAK case 183: YY_RULE_SETUP -#line 343 "mon_lex.l" +#line 410 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return OPCODE; } YY_BREAK case 184: YY_RULE_SETUP -#line 344 "mon_lex.l" +#line 411 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return LABEL; } YY_BREAK case 185: YY_RULE_SETUP -#line 345 "mon_lex.l" +#line 412 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return LABEL; } YY_BREAK case 186: /* rule 186 can match eol */ YY_RULE_SETUP -#line 347 "mon_lex.l" +#line 414 "mon_lex.l" { if (!dont_match_reg_a) return REG_A; yylval.i = 0x0a; return H_NUMBER; } YY_BREAK case 187: YY_RULE_SETUP -#line 349 "mon_lex.l" +#line 416 "mon_lex.l" { return REG_B; } YY_BREAK case 188: YY_RULE_SETUP -#line 350 "mon_lex.l" +#line 417 "mon_lex.l" { return REG_C; } YY_BREAK case 189: YY_RULE_SETUP -#line 351 "mon_lex.l" +#line 418 "mon_lex.l" { return REG_D; } YY_BREAK case 190: YY_RULE_SETUP -#line 352 "mon_lex.l" +#line 419 "mon_lex.l" { return REG_E; } YY_BREAK case 191: YY_RULE_SETUP -#line 353 "mon_lex.l" +#line 420 "mon_lex.l" { return REG_H; } YY_BREAK case 192: YY_RULE_SETUP -#line 354 "mon_lex.l" +#line 421 "mon_lex.l" { return REG_L; } YY_BREAK case 193: YY_RULE_SETUP -#line 355 "mon_lex.l" +#line 422 "mon_lex.l" { return REG_X; } YY_BREAK case 194: YY_RULE_SETUP -#line 356 "mon_lex.l" +#line 423 "mon_lex.l" { return REG_Y; } YY_BREAK case 195: YY_RULE_SETUP -#line 358 "mon_lex.l" +#line 425 "mon_lex.l" { dont_match_reg_a = 1; return L_PAREN; } YY_BREAK case 196: YY_RULE_SETUP -#line 359 "mon_lex.l" +#line 426 "mon_lex.l" { dont_match_reg_a = 0; return R_PAREN; } YY_BREAK case 197: YY_RULE_SETUP -#line 360 "mon_lex.l" +#line 427 "mon_lex.l" { dont_match_reg_a = 1; return ARG_IMMEDIATE; } YY_BREAK case 198: YY_RULE_SETUP -#line 361 "mon_lex.l" +#line 428 "mon_lex.l" { dont_match_reg_a = 0; return INST_SEP; } YY_BREAK case 199: YY_RULE_SETUP -#line 364 "mon_lex.l" +#line 431 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return H_RANGE_GUESS; } YY_BREAK case 200: YY_RULE_SETUP -#line 365 "mon_lex.l" +#line 432 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return B_NUMBER_GUESS; } YY_BREAK case 201: YY_RULE_SETUP -#line 366 "mon_lex.l" +#line 433 "mon_lex.l" { yylval.i = strtol(yytext+1, NULL, 2); return B_NUMBER; } YY_BREAK case 202: YY_RULE_SETUP -#line 367 "mon_lex.l" +#line 434 "mon_lex.l" { yylval.i = strtol(yytext+1, NULL, 8); return O_NUMBER; } YY_BREAK case 203: YY_RULE_SETUP -#line 368 "mon_lex.l" +#line 435 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return O_NUMBER_GUESS; } YY_BREAK case 204: YY_RULE_SETUP -#line 369 "mon_lex.l" +#line 436 "mon_lex.l" { yylval.i = strtol(yytext+1, NULL, 10); return D_NUMBER; } YY_BREAK case 205: YY_RULE_SETUP -#line 370 "mon_lex.l" +#line 437 "mon_lex.l" { yylval.str = lib_stralloc(yytext); return D_NUMBER_GUESS; } YY_BREAK case 206: YY_RULE_SETUP -#line 371 "mon_lex.l" +#line 438 "mon_lex.l" { yylval.i = 0x00; return MASK; } YY_BREAK case 207: YY_RULE_SETUP -#line 372 "mon_lex.l" +#line 439 "mon_lex.l" { yylval.i = strtol(yytext+1, NULL, 16); return H_NUMBER; } YY_BREAK case 208: YY_RULE_SETUP -#line 373 "mon_lex.l" +#line 440 "mon_lex.l" { yylval.i = strtol(yytext, NULL, 16); return H_NUMBER; } YY_BREAK case 209: YY_RULE_SETUP -#line 376 "mon_lex.l" +#line 443 "mon_lex.l" { return EQUALS; } YY_BREAK case 210: YY_RULE_SETUP -#line 377 "mon_lex.l" +#line 444 "mon_lex.l" { return COMMA; } YY_BREAK /* After a label assignment there may be a ; comment to EOL */ case 211: YY_RULE_SETUP -#line 380 "mon_lex.l" +#line 447 "mon_lex.l" { return LABEL_ASGN_COMMENT; } YY_BREAK case 212: /* rule 212 can match eol */ YY_RULE_SETUP -#line 382 "mon_lex.l" +#line 449 "mon_lex.l" { return yytext[0]; } YY_BREAK case 213: YY_RULE_SETUP -#line 384 "mon_lex.l" +#line 451 "mon_lex.l" ECHO; YY_BREAK -#line 2856 "mon_lex.c" +#line 2931 "mon_lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(FNAME): case YY_STATE_EOF(CMD): @@ -3379,9 +3454,19 @@ yyfree((void *) b ); } -#ifndef __cplusplus +#ifndef _UNISTD_H /* assume unistd.h has isatty() for us */ +#ifdef __cplusplus +extern "C" { +#endif +#ifdef __THROW /* this is a gnuism */ +extern int isatty (int ) __THROW; +#else extern int isatty (int ); -#endif /* __cplusplus */ +#endif +#ifdef __cplusplus +} +#endif +#endif /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, @@ -3835,7 +3920,7 @@ #define YYTABLES_NAME "yytables" -#line 384 "mon_lex.l" +#line 451 "mon_lex.l" Modified: trunk/vice/src/monitor/mon_lex.l =================================================================== --- trunk/vice/src/monitor/mon_lex.l 2011-07-06 23:52:53 UTC (rev 24263) +++ trunk/vice/src/monitor/mon_lex.l 2011-07-07 08:10:15 UTC (rev 24264) @@ -58,6 +58,51 @@ #define YY_USER_ACTION { last_len = cur_len; cur_len += yyleng; } +static int hexint(char n) { + if ((n >= '0') && (n <= '9')) { + return n - '0'; + } else if ((n >= 'a') && (n <= 'f')) { + return n - ('a' - 0x0a); + } else if ((n >= 'A') && (n <= 'F')) { + return n - ('A' - 0x0a); + } + return 0; +} + +/* remove escaped codes from string and replace them by their actual character + codes. */ +static void unescape(char *s) { + char *d = s; + int n; + while (*s) { + if (*s == '\\') { + s++; + switch (*s) { + case '\\': *d = '\\'; break; /* backslash */ + case 'n': *d = '\n'; break; /* lf */ + case 'r': *d = '\r'; break; /* cr */ + case '"': *d = '"'; break; /* quote */ + case 'x': /* hex codes */ + s++; if (*s == 0) { goto send; } + n = hexint(*s) << 4; + s++; if (*s == 0) { goto send; } + *d = n | hexint(*s); + break; + default: + *d = '\\'; d++; + if (*s == 0) { goto send; } + *d = *s; + break; + } + } else { + *d = *s; + } + s++;d++; + } +send: + *d = 0; +} + %} %option case-insensitive @@ -125,7 +170,7 @@ ii { BEGIN(INITIAL); return CMD_SCREENCODE_DISPLAY; } ignore { BEGIN(INITIAL); return CMD_IGNORE; } io { BEGIN(INITIAL); return CMD_IO; } - keybuf { BEGIN(ROL); return CMD_KEYBUF; } + keybuf { BEGIN(INITIAL); return CMD_KEYBUF; } list { BEGIN(INITIAL); return CMD_LIST; } load|l { BEGIN(FNAME); return CMD_LOAD; } load_labels|ll { BEGIN(FNAME); return CMD_LOAD_LABELS; } @@ -182,13 +227,35 @@ BEGIN (STR); } } + <STR>\" { if (quote) { - quote = 0; - BEGIN (INITIAL); + if ((yyleng > 1) && (yytext[yyleng - 2] == '\\')) { + yymore(); /* skip escaped quote */ + } else if (((yyleng < 4) || (yytext[yyleng - 4] != '\\')) && + (yyleng > 2) && (yytext[yyleng - 3] == '\\') && + (yytext[yyleng - 2] == '"')) { + /* special case, \"" at end of string */ + yylval.str = lib_stralloc(yytext); + yylval.str[yyleng -1] = 0; + unescape(yylval.str); + quote = 0; + BEGIN (INITIAL); + return STRING; + } else { + quote = 0; + BEGIN (INITIAL); + } } } -<STR>[^\"\n]* { yylval.str = lib_stralloc(yytext); return STRING; } +<STR>[^\"\n]* { if (yytext[yyleng - 1] == '\\') { + yymore(); /* skip escaped quote */ + } else { + yylval.str = lib_stralloc(yytext); + unescape(yylval.str); + return STRING; + } + } /* prefixes for numbers */ \.\$ { yylval.i = e_hexadecimal; return INPUT_SPEC; } Modified: trunk/vice/src/monitor/mon_parse.c =================================================================== --- trunk/vice/src/monitor/mon_parse.c 2011-07-06 23:52:53 UTC (rev 24263) +++ trunk/vice/src/monitor/mon_parse.c 2011-07-07 08:10:15 UTC (rev 24264) @@ -1,9 +1,9 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ +/* A Bison parser, made by GNU Bison 2.4.3. */ /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software - Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2009, 2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,7 +45,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.2" +#define YYBISON_VERSION "2.4.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -916,7 +916,7 @@ 51, 159, -1, 63, 175, 159, -1, 59, 192, 159, -1, 61, 159, -1, 61, 175, 159, -1, 64, 175, 159, -1, 7, 192, 159, -1, 66, 175, 159, -1, - 82, 175, 159, -1, 89, 159, -1, 92, 176, 159, + 82, 135, 159, -1, 89, 159, -1, 92, 176, 159, -1, 91, 159, -1, 90, 177, 159, -1, 90, 177, 188, 192, 159, -1, 93, 135, 159, -1, 94, 135, 135, 159, -1, 97, 159, -1, 97, 188, 192, 159, @@ -1220,69 +1220,69 @@ static const yytype_int16 yypact[] = { 1196, 977, -342, -342, 2, 65, 977, 977, 210, 210, - 13, 13, 13, 538, 667, 667, 667, 1595, 263, 10, - 1058, 1481, 1481, 1504, 667, 13, 13, 65, 457, 538, - 538, 1595, 1481, 210, 210, 977, 325, 52, 1458, -125, + 13, 13, 13, 250, 667, 667, 667, 1595, 263, 10, + 1058, 1481, 1481, 1504, 667, 13, 13, 65, 457, 250, + 250, 1595, 1481, 210, 210, 977, 325, 52, 1458, -125, -125, 65, -125, 469, 249, 249, 1595, 274, 673, 13, - 65, 13, 1481, 1481, 1481, 1481, 1595, 65, -125, 13, - 13, 65, 1481, 37, 65, 65, 13, 65, -121, -116, - -104, 13, 977, 210, -81, 65, 210, 65, 210, 13, - -121, 705, 65, 13, 13, 42, 1014, 538, 538, 41, + 65, 13, 1481, 1481, 1481, 1481, 1595, 65, -119, 13, + 13, 65, 1481, 37, 65, 65, 13, 65, -118, -104, + -100, 13, 977, 210, -75, 65, 210, 65, 210, 13, + -118, 705, 65, 13, 13, 42, 1014, 250, 250, 58, 1319, -342, -342, -342, -342, -342, -342, -342, -342, -342, - -342, -342, -342, -342, -342, 36, -342, -342, -342, -342, + -342, -342, -342, -342, -342, 60, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, 977, -342, -72, 125, -342, -342, -342, -342, -342, -342, 65, -342, -342, 885, 885, -342, -342, 977, -342, 977, -342, -342, 745, 850, 745, -342, -342, -342, -342, -342, 210, - -342, -342, -342, -81, -81, -81, -342, -342, -342, -81, - -81, 65, -81, -342, 61, 287, -342, 29, 65, -342, - -81, -342, 65, -342, 306, -342, 335, -342, 65, -342, - 65, -81, 65, 65, -342, 106, -342, 65, 69, 64, + -342, -342, -342, -75, -75, -75, -342, -342, -342, -75, + -75, 65, -75, -342, 63, 287, -342, 29, 65, -342, + -75, -342, 65, -342, 306, -342, 335, -342, 65, -342, + 65, -75, 65, 65, -342, 106, -342, 65, 71, 64, 22, -342, 65, -342, 977, -342, 977, 125, 65, -342, -342, 65, -342, -342, 667, 65, 65, -342, 65, 65, - -342, 45, 65, -81, 65, -81, -81, 65, -81, -342, + -342, 45, 65, -75, 65, -75, -75, 65, -75, -342, 65, 65, -342, 65, -342, 65, -342, 65, -342, 65, -342, 65, 105, -342, 65, 745, 745, -342, -342, 65, - 65, -342, -342, -342, 210, -342, -342, 65, 65, -49, + 65, -342, -342, -342, 210, -342, -342, 65, 65, -45, 977, 125, -342, 977, 977, -342, -342, 977, -342, -342, - 977, -81, 65, 133, -342, 65, 110, -342, 501, 501, + 977, -75, 65, 133, -342, 65, 343, -342, 501, 501, 1595, 1613, 906, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, - -342, -26, -342, 65, 65, -342, -342, -342, 53, -342, + -342, -13, -342, 65, 65, -342, -342, -342, 53, -342, 977, 977, 977, 977, -342, -342, 17, 1037, 125, 125, -342, 326, 1311, 1528, 1573, -342, 977, 88, 1595, 829, 105, 1595, -342, 906, 906, 315, -342, -342, -342, 667, -342, 1426, -342, -342, -342, 1595, -342, -342, -342, 1426, - 65, -30, -342, -35, -342, 125, 125, -342, -342, -342, - 65, -342, -342, -342, -342, -342, -21, -342, 13, -342, - 13, -12, -342, -9, -342, -342, -342, -342, -342, -342, + 65, -30, -342, -19, -342, 125, 125, -342, -342, -342, + 65, -342, -342, -342, -342, -342, -10, -342, 13, -342, + 13, -12, -342, -3, -342, -342, -342, -342, -342, -342, -342, -342, 870, -342, -342, -342, 326, 1553, -342, -342, -342, 977, -342, -342, 65, 125, -342, 125, 125, 125, - 934, 977, -342, -342, -342, 906, -342, 906, 54, 25, - 40, 63, 75, 80, 83, -96, -342, -42, -342, -342, + 934, 977, -342, -342, -342, 906, -342, 906, 54, 40, + 75, 80, 83, 96, 99, -96, -342, -42, -342, -342, -342, -342, 48, 48, -342, -342, 65, 1595, 65, -342, -342, 65, -342, 65, -342, 65, 125, -342, -342, 443, -342, -342, -342, -342, -342, 870, 65, -342, -342, 65, - 1426, -342, 20, -342, -342, 65, 20, -342, 65, 59, - 90, 65, -342, -342, -342, 65, 65, 65, 65, 65, + 1426, -342, 20, -342, -342, 65, 20, -342, 65, 57, + 59, 65, -342, -342, -342, 65, 65, 65, 65, 65, -342, 105, 65, -342, 65, 125, -342, -342, -342, -342, -342, -342, 65, 125, 65, 65, 65, -342, -342, -342, - -342, -342, -342, -342, 43, 96, -342, -342, -342, -342, + -342, -342, -342, -342, 43, 98, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, - 9, 1094, -342, -342, -342, -342, -35, -35, -342, -342, + 9, 1094, -342, -342, -342, -342, -19, -19, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, - -342, -342, -342, -32, 101, -342, -342, -342, -342, -342, + -342, -342, -342, -32, 107, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342, -342 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -342, -342, -342, 354, 128, -342, -342, -342, -342, -342, - -342, -342, -342, -342, -342, -342, -342, -342, -342, 215, - 139, 113, -114, -342, -17, -342, -101, 337, 91, -7, + -342, -342, -342, 354, 129, -342, -342, -342, -342, -342, + -342, -342, -342, -342, -342, -342, -342, -342, -342, 278, + 144, 113, -114, -342, -17, -342, -89, 337, 91, -7, -307, 33, 28, 613, -297, -342, 712, -326, -342, -95, - -225, -342, -191, -342, -342, -342, -1, -342, -341, -342, + -223, -342, -187, -342, -342, -342, -1, -342, -341, -342, -342 }; @@ -1294,38 +1294,38 @@ static const yytype_int16 yytable[] = { 125, 164, 450, 126, 421, 125, 125, 153, 159, 160, - 525, 126, 199, 446, 139, 484, 246, 181, -179, 248, + 525, 126, 199, 446, 139, 484, 234, 181, -179, 246, 485, 126, 434, 126, 127, 128, 434, 311, 313, 314, - 126, 249, 127, 128, 125, 134, 136, 138, 126, -179, - -179, 295, 127, 128, 127, 128, 126, 154, 154, 154, - 161, 127, 128, 126, 410, 126, 180, 154, 297, 127, + 126, 248, 127, 128, 125, 249, 136, 138, 126, -179, + -179, 134, 127, 128, 127, 128, 126, 154, 154, 154, + 161, 127, 128, 126, 410, 126, 180, 154, 295, 127, 128, 194, 196, 270, 190, 340, 126, 127, 128, 462, 299, 125, 486, 487, 127, 128, 127, 128, 476, 216, - 125, 531, 324, 532, 339, 291, 384, 127, 128, 232, - 407, 106, 107, 108, 109, 533, 534, 535, 110, 111, - 112, 253, 254, 86, 257, 448, 260, -172, 106, 107, - 108, 109, 176, 178, 500, 110, 111, 112, 125, 455, + 125, 531, 297, 532, 324, 291, 339, 127, 128, 232, + 384, 106, 107, 108, 109, 533, 534, 535, 110, 111, + 112, 253, 254, 407, 257, 448, 260, -172, 106, 107, + 108, 109, 176, 178, 500, 110, 111, 112, 125, 86, 526, 376, 377, 192, 142, 143, 126, 458, -172, -172, - 459, 125, 125, 134, -163, 125, 478, 125, 182, 183, + 455, 125, 125, 134, -163, 125, 459, 125, 182, 183, 125, 125, 125, 225, 227, 229, 231, 127, 128, 140, - 129, 479, 501, 239, 168, -163, -163, 212, 214, 523, + 129, 478, 501, 239, 168, -163, -163, 212, 214, 523, -61, 134, 221, 501, 223, 529, 530, 300, 301, 302, - 303, 299, 235, 236, 480, 528, 506, 316, 240, 244, - 134, 317, 318, 319, 250, -184, 481, 320, 321, 199, - 323, 482, 261, 125, 483, 125, 268, 269, 329, -184, - 302, 303, 318, 300, 301, 302, 303, 507, 411, 335, - 524, 126, 536, -184, -184, -184, -184, 341, 296, 262, - -184, -184, -184, 427, 438, 435, -184, -184, -184, -184, - -184, 374, 127, 128, 125, 125, 514, 428, 496, 356, - 371, 358, 0, 360, 361, 0, 363, 0, 0, 125, - 139, 0, 125, 125, 205, 206, 125, 208, 0, 125, - 300, 301, 302, 303, 126, 113, 114, 115, 116, 117, - 405, 406, 381, 234, 0, 300, 301, 302, 303, 113, + 303, 299, 235, 236, 506, 528, 507, 316, 240, 244, + 134, 317, 318, 319, 250, -184, 479, 320, 321, 199, + 323, 480, 261, 125, 481, 125, 268, 269, 329, -184, + 302, 303, 318, 300, 301, 302, 303, 482, 411, 335, + 483, 126, 524, -184, -184, -184, -184, 341, 536, 296, + -184, -184, -184, 427, 262, 435, -184, -184, -184, -184, + -184, 374, 127, 128, 125, 125, 438, 428, 514, 356, + 371, 358, 496, 360, 361, 0, 363, 0, 0, 125, + 139, 144, 125, 125, 145, 0, 125, 0, 0, 125, + 146, 147, 148, 0, 126, 113, 114, 115, 116, 117, + 405, 406, 381, 0, 0, 300, 301, 302, 303, 113, 114, 115, 116, 117, 0, 127, 128, 0, 126, 391, 113, 114, 115, 116, 117, 350, 395, 397, 0, 125, 125, 125, 125, 398, 0, 0, 423, -174, 164, 127, - 128, 0, 0, 0, 441, 125, 431, 0, 0, 374, - 0, -174, 441, 437, 0, 0, 134, -179, -174, -174, + 128, 0, 0, 0, 441, 125, 431, 205, 206, 374, + 208, -174, 441, 437, 0, 0, 134, -179, -174, -174, 444, 113, 114, 115, 116, 117, 126, 0, 444, 0, 418, 113, 114, 115, 116, 117, 154, 425, -179, -179, 331, 432, -184, 0, 436, 0, 0, 127, 128, 131, @@ -1342,13 +1342,13 @@ 374, 145, 0, 461, 0, 127, 128, 146, 147, 148, 126, 456, 0, 457, 0, 0, 304, 0, 0, 127, 128, 472, 0, 305, 441, 113, 114, 115, 116, 117, - 0, 127, 128, 0, 0, 0, 0, 0, 0, 0, + 0, 127, 128, 300, 301, 302, 303, 0, 0, 0, 444, 0, 126, 315, -184, -184, -184, -184, 0, 0, 0, -184, -184, -184, 0, 322, 0, 0, 0, 326, 0, 327, 328, 127, 128, 0, 330, 0, 0, 0, - 332, 0, 333, 0, 334, 0, 336, 337, 0, 144, - 0, 338, 145, 0, 342, 0, 344, 0, 146, 147, - 148, 347, 348, 0, 0, 349, 0, 0, 0, 351, + 332, 0, 333, 0, 334, 0, 336, 337, 0, 0, + 0, 338, 0, 0, 342, 0, 344, 0, 0, 0, + 0, 347, 348, 0, 0, 349, 0, 0, 0, 351, 352, 0, 353, 354, 0, 355, 357, 0, 359, 0, 0, 362, 0, 0, 364, 365, 0, 366, 427, 367, 0, 368, 0, 369, 0, 370, 0, 0, 375, 0, @@ -1473,38 +1473,38 @@ static const yytype_int16 yycheck[] = { 1, 18, 343, 1, 311, 6, 7, 14, 15, 16, - 1, 1, 137, 339, 1, 111, 137, 24, 1, 135, + 1, 1, 137, 339, 1, 111, 135, 24, 1, 137, 116, 1, 319, 1, 22, 23, 323, 141, 142, 143, - 1, 135, 22, 23, 35, 116, 8, 9, 1, 22, - 23, 0, 22, 23, 22, 23, 1, 14, 15, 16, - 17, 22, 23, 1, 1, 1, 23, 24, 22, 22, + 1, 135, 22, 23, 35, 135, 8, 9, 1, 22, + 23, 116, 22, 23, 22, 23, 1, 14, 15, 16, + 17, 22, 23, 1, 1, 1, 23, 24, 0, 22, 23, 33, 34, 21, 31, 1, 1, 22, 23, 376, 142, 72, 114, 115, 22, 23, 22, 23, 24, 46, - 81, 113, 21, 115, 15, 86, 135, 22, 23, 56, - 116, 3, 4, 5, 6, 127, 128, 129, 10, 11, - 12, 73, 74, 138, 76, 135, 78, 1, 3, 4, - 5, 6, 21, 22, 440, 10, 11, 12, 119, 140, + 81, 113, 22, 115, 21, 86, 15, 22, 23, 56, + 135, 3, 4, 5, 6, 127, 128, 129, 10, 11, + 12, 73, 74, 116, 76, 135, 78, 1, 3, 4, + 5, 6, 21, 22, 440, 10, 11, 12, 119, 138, 111, 235, 236, 32, 11, 12, 1, 139, 22, 23, - 139, 132, 133, 116, 1, 136, 111, 138, 25, 26, + 140, 132, 133, 116, 1, 136, 139, 138, 25, 26, 141, 142, 143, 52, 53, 54, 55, 22, 23, 136, 148, 111, 143, 62, 144, 22, 23, 44, 45, 116, 138, 116, 49, 143, 51, 506, 507, 150, 151, 152, - 153, 142, 59, 60, 111, 501, 117, 149, 141, 66, + 153, 142, 59, 60, 117, 501, 117, 149, 141, 66, 116, 153, 154, 155, 71, 140, 111, 159, 160, 137, 162, 111, 79, 194, 111, 196, 83, 84, 170, 135, - 152, 153, 174, 150, 151, 152, 153, 117, 155, 181, - 114, 1, 111, 3, 4, 5, 6, 189, 90, 80, - 10, 11, 12, 135, 325, 320, 16, 17, 18, 19, - 20, 232, 22, 23, 235, 236, 461, 149, 429, 211, - 135, 213, -1, 215, 216, -1, 218, -1, -1, 250, - 1, -1, 253, 254, 39, 40, 257, 42, -1, 260, - 150, 151, 152, 153, 1, 16, 17, 18, 19, 20, - 271, 272, 244, 58, -1, 150, 151, 152, 153, 16, + 152, 153, 174, 150, 151, 152, 153, 111, 155, 181, + 111, 1, 114, 3, 4, 5, 6, 189, 111, 90, + 10, 11, 12, 135, 80, 320, 16, 17, 18, 19, + 20, 232, 22, 23, 235, 236, 325, 149, 461, 211, + 135, 213, 429, 215, 216, -1, 218, -1, -1, 250, + 1, 1, 253, 254, 4, -1, 257, -1, -1, 260, + 10, 11, 12, -1, 1, 16, 17, 18, 19, 20, + 271, 272, 244, -1, -1, 150, 151, 152, 153, 16, 17, 18, 19, 20, -1, 22, 23, -1, 1, 261, 16, 17, 18, 19, 20, 204, 268, 269, -1, 300, 301, 302, 303, 270, -1, -1, 313, 1, 325, 22, - 23, -1, -1, -1, 331, 316, 317, -1, -1, 320, - -1, 15, 339, 324, -1, -1, 116, 1, 22, 23, + 23, -1, -1, -1, 331, 316, 317, 39, 40, 320, + 42, 15, 339, 324, -1, -1, 116, 1, 22, 23, 331, 16, 17, 18, 19, 20, 1, -1, 339, -1, 307, 16, 17, 18, 19, 20, 313, 314, 22, 23, 15, 318, 142, -1, 321, -1, -1, 22, 23, 5, @@ -1521,13 +1521,13 @@ 461, 4, -1, 435, -1, 22, 23, 10, 11, 12, 1, 358, -1, 360, -1, -1, 122, -1, -1, 22, 23, 390, -1, 129, 501, 16, 17, 18, 19, 20, - -1, 22, 23, -1, -1, -1, -1, -1, -1, -1, + -1, 22, 23, 150, 151, 152, 153, -1, -1, -1, 501, -1, 1, 149, 3, 4, 5, 6, -1, -1, -1, 10, 11, 12, -1, 161, -1, -1, -1, 165, -1, 167, 168, 22, 23, -1, 172, -1, -1, -1, - 176, -1, 178, -1, 180, -1, 182, 183, -1, 1, - -1, 187, 4, -1, 190, -1, 192, -1, 10, 11, - 12, 197, 198, -1, -1, 201, -1, -1, -1, 205, + 176, -1, 178, -1, 180, -1, 182, 183, -1, -1, + -1, 187, -1, -1, 190, -1, 192, -1, -1, -1, + -1, 197, 198, -1, -1, 201, -1, -1, -1, 205, 206, -1, 208, 209, -1, 211, 212, -1, 214, -1, -1, 217, -1, -1, 220, 221, -1, 223, 135, 225, -1, 227, -1, 229, -1, 231, -1, -1, 234, -1, @@ -1676,7 +1676,7 @@ 159, 175, 14, 159, 179, 175, 175, 159, 175, 140, 159, 189, 177, 189, 177, 189, 187, 139, 189, 159, 189, 177, 159, 177, 159, 184, 159, 184, 159, 184, - 159, 184, 187, 159, 175, 177, 177, 159, 159, 184, + 159, 184, 187, 159, 135, 177, 177, 159, 159, 184, 141, 159, 159, 159, 177, 159, 137, 176, 135, 135, 177, 192, 159, 188, 188, 159, 159, 188, 159, 159, 188, 177, 176, 1, 159, 178, 192, 159, 177, 177, Modified: trunk/vice/src/monitor/mon_parse.h =================================================================== --- trunk/vice/src/monitor/mon_parse.h 2011-07-06 23:52:53 UTC (rev 24263) +++ trunk/vice/src/monitor/mon_parse.h 2011-07-07 08:10:15 UTC (rev 24264) @@ -1,9 +1,9 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ +/* A Bison parser, made by GNU Bison 2.4.3. */ /* Skeleton interface for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software - Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2009, 2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Modified: trunk/vice/src/monitor/mon_parse.y =================================================================== --- trunk/vice/src/monitor/mon_parse.y 2011-07-06 23:52:53 UTC (rev 24263) +++ trunk/vice/src/monitor/mon_parse.y 2011-07-07 08:10:15 UTC (rev 24264) @@ -459,7 +459,7 @@ { mon_print_convert($2); } | CMD_CHDIR rest_of_line end_cmd { mon_change_dir($2); } - | CMD_KEYBUF rest_of_line end_cmd + | CMD_KEYBUF STRING end_cmd { mon_keyboard_feed($2); } | CMD_BACKTRACE end_cmd { mon_backtrace(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2011-07-09 11:16:35
|
Revision: 24274 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=24274&view=rev Author: gpz Date: 2011-07-09 11:16:26 +0000 (Sat, 09 Jul 2011) Log Message: ----------- break/watch/trace commands now all optionally take memop (any combination of load/store/exec) and a conditional expression. Help texts still need to be updated. Modified Paths: -------------- trunk/vice/src/monitor/mon_command.c trunk/vice/src/monitor/mon_lex.c trunk/vice/src/monitor/mon_lex.l trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.y Modified: trunk/vice/src/monitor/mon_command.c =================================================================== --- trunk/vice/src/monitor/mon_command.c 2011-07-09 09:15:43 UTC (rev 24273) +++ trunk/vice/src/monitor/mon_command.c 2011-07-09 11:16:26 UTC (rev 24274) @@ -350,8 +350,8 @@ { "break", "", USE_PARAM_ID, USE_DESCRIPTION_ID, - "[<%s> [if <%s>] ]", 2, - { IDGS_ADDRESS, IDGS_COND_EXPR, IDGS_UNUSED, IDGS_UNUSED }, + "[%s] [%s [%s] [if <%s>]]", 4, + { IDGS_LOADSTORE, IDGS_ADDRESS, IDGS_ADDRESS, IDGS_COND_EXPR }, IDGS_MON_BREAK_DESCRIPTION, NULL, NULL }, @@ -399,15 +399,15 @@ { "watch", "w", USE_PARAM_ID, USE_DESCRIPTION_ID, - "[%s] [%s [%s]]", 3, - { IDGS_LOADSTORE, IDGS_ADDRESS, IDGS_ADDRESS, IDGS_UNUSED }, + "[%s] [%s [%s] [if <%s>]]", 4, + { IDGS_LOADSTORE, IDGS_ADDRESS, IDGS_ADDRESS, IDGS_COND_EXPR }, IDGS_MON_WATCH_DESCRIPTION, NULL, NULL }, { "trace", "tr", USE_PARAM_ID, USE_DESCRIPTION_ID, - "[%s [%s]]", 2, - { IDGS_ADDRESS, IDGS_ADDRESS, IDGS_UNUSED, IDGS_UNUSED }, + "[%s] [%s [%s] [if <%s>]]", 4, + { IDGS_LOADSTORE, IDGS_ADDRESS, IDGS_ADDRESS, IDGS_COND_EXPR }, IDGS_MON_TRACE_DESCRIPTION, NULL, NULL }, Modified: trunk/vice/src/monitor/mon_lex.c =================================================================== --- trunk/vice/src/monitor/mon_lex.c 2011-07-09 09:15:43 UTC (rev 24273) +++ trunk/vice/src/monitor/mon_lex.c 2011-07-09 11:16:26 UTC (rev 24274) @@ -360,8 +360,8 @@ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 213 -#define YY_END_OF_BUFFER 214 +#define YY_NUM_RULES 220 +#define YY_END_OF_BUFFER 221 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -369,202 +369,205 @@ flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_acclist[1071] = +static yyconst flex_int16_t yy_acclist[1081] = { 0, - 109, 203, 109, 203, 109, 109, 109, 109, 90, 109, - 90, 109, 109, 109, 109, 203, 109, 203, 109, 203, - 109, 203, 109, 203, 109, 203, 109, 203, 109, 203, - 109, 112, 109, 112, 108, 109, 108, 109, 109, 109, - 214, 212, 213, 109, 213, 110, 212, 213, 88, 212, - 213, 212, 213, 212, 213, 212, 213, 212, 213, 210, - 212, 213, 212, 213, 203, 205, 208, 212, 213, 200, - 203, 205, 208, 212, 213, 205, 208, 212, 213, 205, - 208, 212, 213, 81, 212, 213, 209, 212, 213, 208, - 212, 213, 102, 208, 212, 213, 208, 212, 213, 101, + 116, 210, 116, 210, 116, 116, 116, 116, 97, 116, + 97, 116, 116, 116, 116, 210, 116, 210, 116, 210, + 116, 210, 116, 210, 116, 210, 116, 210, 116, 210, + 116, 119, 116, 119, 115, 116, 115, 116, 116, 116, + 221, 219, 220, 116, 220, 117, 219, 220, 95, 219, + 220, 219, 220, 219, 220, 219, 220, 219, 220, 217, + 219, 220, 219, 220, 210, 212, 215, 219, 220, 207, + 210, 212, 215, 219, 220, 212, 215, 219, 220, 212, + 215, 219, 220, 81, 219, 220, 216, 219, 220, 215, + 219, 220, 109, 215, 219, 220, 215, 219, 220, 108, - 208, 212, 213, 99, 212, 213, 212, 213, 212, 213, - 100, 212, 213, 212, 213, 212, 213, 212, 213, 212, - 213, 1, 212, 213, 3, 212, 213, 37, 212, 213, - 4, 212, 213, 5, 80, 212, 213, 80, 212, 213, - 20, 80, 212, 213, 25, 80, 212, 213, 80, 212, - 213, 35, 80, 212, 213, 36, 80, 212, 213, 38, - 80, 212, 213, 39, 80, 212, 213, 80, 212, 213, - 80, 212, 213, 45, 80, 212, 213, 47, 80, 212, - 213, 54, 80, 212, 213, 56, 80, 212, 213, 80, - 212, 213, 61, 80, 212, 213, 66, 80, 212, 213, + 215, 219, 220, 215, 219, 220, 106, 219, 220, 219, + 220, 219, 220, 107, 219, 220, 219, 220, 219, 220, + 219, 220, 219, 220, 1, 219, 220, 3, 219, 220, + 37, 219, 220, 4, 219, 220, 5, 80, 219, 220, + 80, 219, 220, 20, 80, 219, 220, 25, 80, 219, + 220, 80, 219, 220, 35, 80, 219, 220, 36, 80, + 219, 220, 38, 80, 219, 220, 39, 80, 219, 220, + 80, 219, 220, 80, 219, 220, 45, 80, 219, 220, + 47, 80, 219, 220, 54, 80, 219, 220, 56, 80, + 219, 220, 80, 219, 220, 61, 80, 219, 220, 66, - 52, 80, 212, 213, 80, 212, 213, 78, 80, 212, - 213, 33, 80, 212, 213, 80, 212, 213, 72, 80, - 212, 213, 2, 212, 213, 90, 212, 213, 90, 109, - 213, 89, 212, 213, 90, 210, 212, 213, 90, 209, - 212, 213, 113, 212, 213, 113, 210, 212, 213, 113, - 209, 212, 213, 197, 212, 213, 195, 212, 213, 196, - 212, 213, 212, 213, 200, 203, 205, 208, 212, 213, - 205, 208, 212, 213, 198, 212, 213, 208, 212, 213, - 16570, 187, 208, 212, 213, 188, 208, 212, 213, 189, - 208, 212, 213, 190, 208, 212, 213, 208, 212, 213, + 80, 219, 220, 52, 80, 219, 220, 80, 219, 220, + 78, 80, 219, 220, 33, 80, 219, 220, 80, 219, + 220, 72, 80, 219, 220, 2, 219, 220, 97, 219, + 220, 97, 116, 220, 96, 219, 220, 97, 217, 219, + 220, 97, 216, 219, 220, 120, 219, 220, 120, 217, + 219, 220, 120, 216, 219, 220, 204, 219, 220, 202, + 219, 220, 203, 219, 220, 219, 220, 207, 210, 212, + 215, 219, 220, 212, 215, 219, 220, 205, 219, 220, + 215, 219, 220,16577, 194, 215, 219, 220, 195, 215, + 219, 220, 196, 215, 219, 220, 197, 215, 219, 220, - 212, 213, 191, 212, 213, 212, 213, 192, 212, 213, - 193, 212, 213, 194, 212, 213, 212, 213, 212, 213, - 163, 212, 213, 164, 212, 213, 212, 213, 138, 212, - 213, 209, 212, 213, 139, 212, 213, 212, 213, 114, - 208, 212, 213, 208, 212, 213, 212, 213, 212, 213, - 212, 213, 115, 212, 213, 116, 212, 213, 212, 213, - 112, 212, 213, 112, 212, 213, 112, 212, 213, 112, - 212, 213, 112, 212, 213, 108, 212, 213, 97, 212, - 213, 95, 212, 213, 96, 212, 213, 98, 212, 213, - 109, 207, 201, 202, 204, 91, 93, 94, 92, 185, + 215, 219, 220, 219, 220, 198, 219, 220, 219, 220, + 199, 219, 220, 200, 219, 220, 201, 219, 220, 219, + 220, 219, 220, 170, 219, 220, 171, 219, 220, 219, + 220, 145, 219, 220, 216, 219, 220, 146, 219, 220, + 219, 220, 121, 215, 219, 220, 215, 219, 220, 219, + 220, 219, 220, 219, 220, 122, 219, 220, 123, 219, + 220, 219, 220, 119, 219, 220, 119, 219, 220, 119, + 219, 220, 119, 219, 220, 119, 219, 220, 115, 219, + 220, 104, 219, 220, 102, 219, 220, 103, 219, 220, + 105, 219, 220, 116, 214, 208, 209, 211, 98, 100, - 184, 185, 203, 205, 208, 205, 208, 208, 200, 203, - 205, 208, 200, 203, 205, 208, 104, 105, 103, 87, - 82, 206, 80, 80, 6, 80, 80, 80, 80, 11, - 80, 12, 80, 14, 80, 15, 80, 16, 80, 80, - 18, 80, 80, 80, 80, 80, 80, 27, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 40, 80, 42, - 80, 80, 80, 46, 80, 80, 24, 80, 48, 80, - 80, 80, 80, 53, 80, 80, 55, 80, 80, 80, - 80, 80, 80, 80, 80, 68, 80, 80, 80, 80, - 67, 80, 80, 80, 75, 80, 76, 80, 80, 80, + 101, 99, 192, 191, 192, 210, 212, 215, 212, 215, + 215, 207, 210, 212, 215, 207, 210, 212, 215, 111, + 112, 110, 94, 82, 213, 80, 80, 6, 80, 80, + 80, 80, 11, 80, 12, 80, 14, 80, 15, 80, + 16, 80, 80, 18, 80, 80, 80, 80, 80, 80, + 27, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 40, 80, 42, 80, 80, 80, 46, 80, 80, 24, + 80, 48, 80, 80, 80, 80, 53, 80, 80, 55, + 80, 80, 80, 80, 80, 80, 80, 80, 68, 80, + 80, 80, 80, 67, 80, 80, 80, 75, 80, 76, - 90, 90, 109, 113, 200, 203, 205, 208, 8378, 183, - 208, 173, 183, 208, 183, 174, 183, 208, 175, 183, - 208, 176, 183, 177, 183, 180, 183, 183, 206, 136, - 141, 143, 144, 145, 137, 135, 140, 142, 208, 119, - 117, 120, 121, 122, 123, 124, 125, 126, 118, 211, - 112, 112, 112, 108, 185, 184, 185, 203, 205, 208, - 205, 208, 208, 200, 203, 205, 208, 106, 107, 83, - 111, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 22, 80, 26, 80, 80, 28, 80, - 24, 80, 80, 80, 80, 80, 34, 80, 80, 80, + 80, 80, 80, 97, 97, 116, 120, 207, 210, 212, + 215, 8385, 190, 215, 180, 190, 215, 190, 181, 190, + 215, 182, 190, 215, 183, 190, 184, 190, 187, 190, + 190, 213, 143, 148, 150, 151, 152, 144, 142, 147, + 149, 215, 126, 124, 127, 128, 129, 130, 131, 132, + 133, 125, 218, 119, 119, 119, 115, 192, 191, 192, + 210, 212, 215, 212, 215, 215, 207, 210, 212, 215, + 113, 114, 83, 118, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 22, 80, 26, 80, + 80, 28, 80, 24, 80, 80, 80, 80, 80, 34, - 80, 80, 80, 80, 80, 80, 47, 80, 80, 80, - 80, 80, 80, 80, 57, 80, 80, 59, 80, 60, - 80, 80, 80, 65, 80, 80, 80, 71, 80, 70, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 183, 208, 183, 178, 183, 179, 183, 181, 183, - 182, 183, 146, 148, 149, 150, 151, 152, 153, 154, - 147, 133, 127, 128, 129, 130, 131, 132, 134, 203, - 205, 208, 205, 208, 208, 200, 203, 205, 208, 85, - 80, 80, 80, 80, 10, 80, 80, 80, 80, 80, - 80, 23, 80, 80, 80, 21, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 47, + 80, 80, 80, 80, 80, 80, 80, 57, 80, 80, + 59, 80, 60, 80, 80, 80, 65, 80, 80, 80, + 71, 80, 70, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 190, 215, 190, 185, 190, 186, + 190, 188, 190, 189, 190, 153, 155, 156, 157, 158, + 159, 160, 161, 154, 140, 134, 135, 136, 137, 138, + 139, 141, 210, 212, 215, 212, 215, 215, 207, 210, + 212, 215, 90, 88, 80, 80, 80, 80, 10, 80, + 80, 80, 80, 80, 80, 23, 80, 80, 80, 21, - 80, 80, 31, 80, 80, 33, 80, 80, 35, 80, - 36, 80, 37, 80, 38, 80, 80, 80, 44, 80, - 45, 80, 80, 80, 80, 80, 50, 80, 80, 52, - 80, 54, 80, 80, 80, 58, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 66, 80, 80, 80, 80, - 80, 72, 80, 73, 80, 80, 80, 80, 80, 80, - 80, 183, 208, 183, 161, 155, 156, 157, 158, 159, - 160, 162, 203, 205, 208, 205, 208, 208, 200, 203, - 205, 208, 86, 80, 80, 80, 80, 80, 11, 80, - 80, 13, 80, 14, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 31, 80, 80, 33, + 80, 80, 35, 80, 36, 80, 37, 80, 38, 80, + 80, 80, 44, 80, 45, 80, 80, 80, 80, 80, + 50, 80, 80, 52, 80, 54, 80, 80, 80, 58, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 66, + 80, 80, 80, 80, 80, 72, 80, 73, 80, 80, + 80, 80, 80, 80, 80, 190, 215, 190, 168, 162, + 163, 164, 165, 166, 167, 169, 210, 212, 215, 212, + 215, 215, 207, 210, 212, 215, 89, 80, 80, 80, + 80, 80, 11, 80, 80, 13, 80, 14, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 51, 80, 80, 56, 80, 59, - 80, 80, 80, 62, 80, 80, 80, 80, 80, 80, - 80, 69, 80, 80, 80, 80, 75, 80, 80, 76, - 80, 78, 80, 80, 169, 203, 205, 208, 205, 208, - 208, 200, 203, 205, 208, 84, 80, 7, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 26, 80, - 29, 80, 28, 80, 80, 25, 80, 32, 80, 34, - 80, 41, 80, 43, 80, 80, 80, 80, 80, 49, - 80, 80, 60, 80, 80, 63, 80, 80, 64, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 51, 80, + 80, 56, 80, 59, 80, 80, 80, 62, 80, 80, + 80, 80, 80, 80, 80, 69, 80, 80, 80, 80, + 75, 80, 80, 76, 80, 78, 80, 80, 176, 210, + 212, 215, 212, 215, 215, 207, 210, 212, 215, 93, + 87, 91, 85, 84, 80, 7, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 26, 80, 29, 80, + 28, 80, 80, 25, 80, 32, 80, 34, 80, 41, + 80, 43, 80, 80, 80, 80, 80, 49, 80, 80, - 65, 80, 80, 68, 80, 80, 71, 80, 80, 77, - 80, 80, 165, 172, 170, 203, 205, 208, 205, 208, - 208, 200, 203, 205, 208, 80, 80, 80, 80, 80, + 60, 80, 80, 63, 80, 80, 64, 80, 65, 80, + 80, 68, 80, 80, 71, 80, 80, 77, 80, 80, + 172, 179, 177, 210, 212, 215, 212, 215, 215, 207, + 210, 212, 215, 92, 86, 80, 80, 80, 80, 80, 80, 80, 19, 80, 20, 80, 80, 80, 80, 30, 80, 80, 48, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 79, 80, 171, 199, 203, 205, - 208, 199, 205, 208, 199, 208, 199, 200, 203, 205, - 208, 80, 9, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 79, 80, 178, 206, 210, 212, + 215, 206, 212, 215, 206, 215, 206, 207, 210, 212, + 215, 80, 9, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 55, 80, 80, - 80, 80, 80, 80, 74, 80, 168, 203, 205, 208, - 205, 208, 208, 200, 203, 205, 208, 6, 80, 8, + 80, 80, 80, 80, 74, 80, 175, 210, 212, 215, + 212, 215, 215, 207, 210, 212, 215, 6, 80, 8, 80, 15, 80, 80, 80, 80, 21, 80, 80, 80, 80, 80, 80, 51, 80, 53, 80, 61, 80, 80, - 80, 80, 80, 80, 167, 166, 12, 80, 80, 17, + 80, 80, 80, 80, 174, 173, 12, 80, 80, 17, 80, 23, 80, 80, 80, 49, 80, 50, 80, 80, 80, 80, 69, 80, 80, 16, 80, 80, 46, 80, 63, 80, 64, 80, 67, 80, 70, 80, 27, 80 } ; -static yyconst flex_int16_t yy_accept[670] = +static yyconst flex_int16_t yy_accept[683] = { 0, 1, 3, 5, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 40, 41, 42, 44, 46, 49, 52, 54, 56, 58, 60, 63, 65, 70, 76, 80, 84, - 87, 90, 93, 97, 100, 104, 107, 109, 111, 114, - 116, 118, 120, 122, 125, 128, 131, 134, 138, 141, - 145, 149, 152, 156, 160, 164, 168, 171, 174, 178, - 182, 186, 190, 193, 197, 201, 205, 208, 212, 216, - 219, 223, 226, 229, 232, 235, 239, 243, 246, 250, - 254, 257, 260, 263, 265, 271, 275, 278, 282, 286, + 87, 90, 93, 97, 100, 104, 107, 110, 112, 114, + 117, 119, 121, 123, 125, 128, 131, 134, 137, 141, + 144, 148, 152, 155, 159, 163, 167, 171, 174, 177, + 181, 185, 189, 193, 196, 200, 204, 208, 211, 215, + 219, 222, 226, 229, 232, 235, 238, 242, 246, 249, + 253, 257, 260, 263, 266, 268, 274, 278, 281, 285, - 290, 294, 298, 301, 303, 306, 308, 311, 314, 317, - 319, 321, 324, 327, 329, 332, 335, 338, 340, 344, - 347, 349, 351, 353, 356, 359, 361, 364, 367, 370, - 373, 376, 379, 382, 385, 388, 391, 392, 393, 394, - 395, 396, 397, 398, 399, 400, 401, 403, 406, 408, - 409, 413, 417, 418, 419, 420, 421, 421, 421, 422, - 422, 422, 423, 423, 424, 425, 427, 428, 429, 430, - 432, 434, 436, 438, 440, 441, 443, 444, 445, 446, - 447, 448, 450, 451, 452, 453, 454, 455, 456, 457, - 458, 460, 462, 463, 464, 466, 467, 469, 471, 472, + 289, 293, 297, 301, 304, 306, 309, 311, 314, 317, + 320, 322, 324, 327, 330, 332, 335, 338, 341, 343, + 347, 350, 352, 354, 356, 359, 362, 364, 367, 370, + 373, 376, 379, 382, 385, 388, 391, 394, 395, 396, + 397, 398, 399, 400, 401, 402, 403, 404, 406, 409, + 411, 412, 416, 420, 421, 422, 423, 423, 424, 424, + 424, 425, 425, 425, 426, 426, 427, 428, 430, 431, + 432, 433, 435, 437, 439, 441, 443, 444, 446, 447, + 448, 449, 450, 451, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 463, 465, 466, 467, 469, 470, 472, - 473, 474, 476, 477, 479, 480, 481, 482, 483, 484, - 485, 486, 488, 489, 490, 491, 493, 494, 495, 497, - 499, 500, 501, 502, 504, 505, 509, 509, 510, 512, - 515, 516, 519, 522, 524, 526, 528, 530, 531, 532, - 533, 533, 533, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 542, 542, 543, 544, 545, 546, 547, 548, - 549, 550, 550, 551, 552, 553, 554, 555, 556, 558, - 561, 563, 564, 568, 569, 570, 570, 571, 571, 571, - 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, - 582, 583, 584, 586, 588, 589, 591, 593, 594, 595, + 474, 475, 476, 477, 479, 480, 482, 483, 484, 485, + 486, 487, 488, 489, 491, 492, 493, 494, 496, 497, + 498, 500, 502, 503, 504, 505, 507, 508, 512, 512, + 513, 515, 518, 519, 522, 525, 527, 529, 531, 533, + 534, 535, 536, 536, 536, 536, 537, 538, 539, 540, + 541, 542, 543, 544, 545, 545, 546, 547, 548, 549, + 550, 551, 552, 553, 553, 554, 555, 556, 557, 558, + 559, 561, 564, 566, 567, 571, 572, 573, 573, 573, + 574, 574, 574, 575, 576, 577, 578, 579, 580, 581, + 582, 583, 584, 585, 586, 587, 589, 591, 592, 594, - 596, 597, 599, 600, 601, 602, 603, 604, 605, 606, - 607, 609, 610, 611, 612, 613, 614, 615, 617, 618, - 620, 622, 623, 624, 626, 627, 628, 630, 632, 633, - 634, 635, 636, 637, 638, 639, 640, 641, 642, 642, - 644, 645, 647, 649, 651, 653, 653, 654, 654, 655, - 656, 657, 658, 659, 660, 661, 662, 662, 663, 664, - 665, 666, 667, 668, 669, 670, 673, 675, 676, 680, - 681, 681, 681, 682, 683, 684, 685, 687, 688, 689, - 690, 691, 692, 694, 695, 696, 698, 699, 700, 701, - 702, 703, 705, 706, 708, 709, 711, 713, 715, 717, + 596, 597, 598, 599, 600, 602, 603, 604, 605, 606, + 607, 608, 609, 610, 612, 613, 614, 615, 616, 617, + 618, 620, 621, 623, 625, 626, 627, 629, 630, 631, + 633, 635, 636, 637, 638, 639, 640, 641, 642, 643, + 644, 645, 645, 647, 648, 650, 652, 654, 656, 656, + 657, 657, 658, 659, 660, 661, 662, 663, 664, 665, + 665, 666, 667, 668, 669, 670, 671, 672, 673, 676, + 678, 679, 683, 684, 685, 685, 685, 686, 687, 688, + 689, 691, 692, 693, 694, 695, 696, 698, 699, 700, + 702, 703, 704, 705, 706, 707, 709, 710, 712, 713, - 718, 719, 721, 723, 724, 725, 726, 727, 729, 730, - 732, 734, 735, 736, 738, 739, 740, 741, 742, 743, - 744, 745, 746, 748, 749, 750, 751, 752, 754, 756, - 757, 758, 759, 760, 761, 762, 762, 762, 762, 764, - 765, 766, 767, 768, 769, 770, 771, 772, 773, 776, - 778, 779, 783, 784, 784, 785, 786, 787, 788, 789, - 791, 792, 794, 796, 797, 798, 799, 800, 801, 802, - 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, - 813, 814, 815, 817, 818, 820, 822, 823, 824, 826, - 827, 828, 829, 830, 831, 832, 834, 835, 836, 837, + 715, 717, 719, 721, 722, 723, 725, 727, 728, 729, + 730, 731, 733, 734, 736, 738, 739, 740, 742, 743, + 744, 745, 746, 747, 748, 749, 750, 752, 753, 754, + 755, 756, 758, 760, 761, 762, 763, 764, 765, 766, + 766, 766, 766, 768, 769, 770, 771, 772, 773, 774, + 775, 776, 777, 780, 782, 783, 787, 787, 787, 788, + 788, 789, 790, 791, 792, 793, 795, 796, 798, 800, + 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, + 811, 812, 813, 814, 815, 816, 817, 818, 819, 821, + 822, 824, 826, 827, 828, 830, 831, 832, 833, 834, - 839, 840, 842, 844, 845, 845, 846, 846, 846, 846, - 849, 851, 852, 856, 857, 858, 860, 861, 862, 863, - 864, 865, 866, 867, 868, 869, 871, 873, 875, 876, - 878, 880, 882, 884, 886, 887, 888, 889, 890, 892, - 893, 895, 896, 898, 899, 901, 903, 904, 906, 907, - 909, 910, 912, 913, 913, 913, 914, 915, 916, 916, - 919, 921, 922, 926, 927, 928, 929, 930, 931, 932, - 933, 935, 937, 938, 939, 940, 942, 943, 945, 946, - 947, 948, 949, 950, 951, 952, 953, 954, 955, 957, - 957, 957, 958, 962, 965, 967, 972, 973, 975, 976, + 835, 836, 838, 839, 840, 841, 843, 844, 846, 848, + 849, 849, 850, 850, 850, 850, 853, 855, 856, 860, + 861, 862, 863, 864, 864, 865, 866, 868, 869, 870, + 871, 872, 873, 874, 875, 876, 877, 879, 881, 883, + 884, 886, 888, 890, 892, 894, 895, 896, 897, 898, + 900, 901, 903, 904, 906, 907, 909, 911, 912, 914, + 915, 917, 918, 920, 921, 921, 921, 922, 923, 924, + 924, 927, 929, 930, 934, 935, 936, 937, 938, 939, + 940, 941, 942, 943, 945, 947, 948, 949, 950, 952, + 953, 955, 956, 957, 958, 959, 960, 961, 962, 963, - 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, - 987, 988, 990, 991, 992, 993, 994, 995, 997, 998, - 998, 1001, 1003, 1004, 1008, 1010, 1012, 1014, 1015, 1016, - 1017, 1019, 1020, 1021, 1022, 1023, 1024, 1026, 1028, 1030, - 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1039, 1040, 1042, - 1044, 1045, 1046, 1048, 1050, 1051, 1052, 1053, 1055, 1056, - 1058, 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1071 + 964, 965, 967, 967, 967, 968, 972, 975, 977, 982, + 983, 985, 986, 987, 988, 989, 990, 991, 992, 993, + 994, 995, 996, 997, 998, 1000, 1001, 1002, 1003, 1004, + 1005, 1007, 1008, 1008, 1011, 1013, 1014, 1018, 1020, 1022, + 1024, 1025, 1026, 1027, 1029, 1030, 1031, 1032, 1033, 1034, + 1036, 1038, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, + 1049, 1050, 1052, 1054, 1055, 1056, 1058, 1060, 1061, 1062, + 1063, 1065, 1066, 1068, 1069, 1071, 1073, 1075, 1077, 1079, + 1081, 1081 } ; static yyconst flex_int32_t yy_ec[256] = @@ -578,11 +581,11 @@ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 1, 1, 1, 1, 59, 1, 60, 61, 62, 63, + 1, 1, 1, 59, 60, 1, 61, 62, 63, 64, - 64, 65, 66, 67, 68, 42, 69, 70, 71, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, 84, 1, 85, 1, 86, 1, 1, 1, 1, + 65, 66, 67, 68, 69, 42, 70, 71, 72, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, + 84, 85, 1, 86, 1, 87, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -599,453 +602,472 @@ 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[87] = +static yyconst flex_int32_t yy_meta[88] = { 0, 1, 2, 3, 4, 1, 5, 1, 6, 6, 6, 7, 1, 6, 8, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 1, 1, 1, 1, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 14, 12, - 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, + 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 1, 1 + 13, 13, 13, 13, 13, 1, 1 } ; -static yyconst flex_int16_t yy_base[696] = +static yyconst flex_int16_t yy_base[712] = { 0, - 0, 0, 81, 0, 163, 0, 248, 253, 109, 261, - 290, 0, 372, 0, 453, 0, 512, 569, 652, 738, - 824, 910, 412, 486, 736, 2340, 91, 2340, 2340, 0, - 93, 372, 672, 2340, 121, 981, 110, 592, 704, 2340, - 2340, 682, 0, 702, 0, 2340, 97, 77, 215, 206, - 213, 323, 0, 2340, 2340, 2340, 2340, 453, 523, 738, - 738, 365, 339, 349, 372, 387, 0, 366, 425, 812, - 367, 814, 362, 447, 1014, 411, 371, 394, 0, 417, - 0, 2340, 0, 153, 2340, 0, 0, 0, 0, 0, - 2340, 2340, 2340, 700, 123, 699, 2340, 1091, 1155, 394, + 0, 0, 82, 0, 165, 0, 251, 256, 110, 128, + 285, 0, 368, 0, 450, 0, 510, 568, 652, 739, + 826, 913, 450, 483, 963, 2482, 92, 2482, 2482, 0, + 94, 255, 368, 2482, 418, 985, 111, 591, 933, 2482, + 2482, 672, 0, 883, 0, 52, 2482, 55, 78, 368, + 84, 90, 200, 0, 2482, 2482, 2482, 2482, 510, 728, + 748, 806, 365, 334, 366, 392, 503, 0, 345, 657, + 457, 357, 742, 363, 426, 1019, 374, 379, 420, 0, + 409, 0, 2482, 0, 259, 2482, 0, 0, 0, 0, + 0, 2482, 2482, 2482, 589, 124, 846, 2482, 1097, 1162, - 482, 432, 479, 1219, 455, 498, 0, 452, 0, 657, - 701, 2340, 2340, 739, 639, 621, 601, 531, 486, 496, - 489, 249, 510, 505, 508, 0, 0, 144, 580, 572, - 565, 0, 2340, 2340, 2340, 2340, 274, 0, 272, 619, - 880, 2340, 2340, 2340, 2340, 0, 511, 1230, 910, 927, - 605, 607, 2340, 2340, 2340, 2340, 519, 527, 2340, 524, - 537, 2340, 564, 0, 569, 0, 592, 595, 742, 601, - 648, 694, 0, 0, 599, 0, 688, 688, 682, 740, - 790, 0, 712, 743, 820, 737, 741, 800, 799, 800, - 0, 0, 803, 814, 0, 846, 0, 0, 836, 902, + 433, 568, 436, 442, 1227, 432, 496, 0, 426, 0, + 841, 700, 2482, 2482, 812, 822, 785, 782, 722, 475, + 488, 486, 859, 493, 499, 500, 0, 0, 138, 775, + 756, 751, 0, 2482, 2482, 2482, 2482, 262, 0, 142, + 619, 881, 2482, 2482, 2482, 2482, 0, 438, 1238, 913, + 930, 606, 683, 2482, 2482, 2482, 527, 2482, 567, 606, + 2482, 522, 608, 2482, 708, 0, 638, 0, 633, 634, + 727, 656, 668, 673, 0, 0, 682, 0, 686, 748, + 705, 912, 814, 0, 715, 696, 917, 747, 763, 773, + 815, 820, 0, 0, 810, 859, 0, 742, 0, 0, - 828, 0, 879, 0, 921, 914, 920, 916, 922, 973, - 908, 913, 908, 921, 930, 0, 984, 939, 947, 975, - 958, 993, 0, 277, 0, 369, 1057, 2340, 1292, 1354, - 1081, 0, 0, 0, 1078, 1079, 0, 2340, 2340, 1002, - 1005, 950, 1014, 2340, 1007, 2340, 2340, 2340, 2340, 1020, - 2340, 2340, 1052, 2340, 2340, 2340, 2340, 2340, 2340, 2340, - 2340, 1076, 0, 0, 531, 502, 0, 0, 861, 1404, - 1114, 1144, 381, 2340, 2340, 1107, 2340, 1132, 1144, 506, - 437, 1151, 1139, 1144, 1155, 1166, 1167, 1149, 1152, 1154, - 1211, 1170, 1167, 1220, 1227, 1220, 0, 1229, 1184, 1236, + 866, 909, 903, 0, 905, 0, 813, 921, 932, 928, + 934, 977, 957, 964, 959, 987, 949, 0, 988, 989, + 956, 1029, 987, 1009, 0, 265, 0, 265, 397, 2482, + 1301, 1364, 1120, 0, 0, 0, 1034, 1035, 0, 2482, + 2482, 1032, 1033, 954, 995, 2482, 1021, 2482, 2482, 2482, + 2482, 1038, 2482, 2482, 1130, 2482, 2482, 2482, 2482, 2482, + 2482, 2482, 2482, 1039, 0, 0, 681, 647, 0, 0, + 1001, 1415, 1151, 1185, 360, 2482, 2482, 1034, 1089, 2482, + 1077, 1089, 662, 590, 1096, 1142, 1147, 1148, 1159, 1160, + 1157, 1160, 1162, 1219, 1178, 1197, 1204, 1235, 1229, 0, - 1220, 1226, 1230, 1228, 1228, 1225, 1231, 1245, 1229, 1269, - 1288, 1301, 1285, 1282, 1269, 1265, 1290, 0, 1285, 1283, - 1291, 1299, 1397, 1290, 1329, 1394, 0, 0, 1305, 1343, - 1334, 1335, 1347, 1350, 1351, 1364, 1371, 1398, 479, 1471, - 1494, 0, 0, 0, 0, 1401, 2340, 1378, 2340, 2340, - 2340, 2340, 2340, 2340, 2340, 2340, 1402, 2340, 2340, 2340, - 2340, 2340, 2340, 2340, 2340, 1521, 1433, 1460, 611, 2340, - 1422, 1453, 1455, 1465, 1517, 1450, 0, 1467, 1478, 1479, - 1487, 1488, 0, 1516, 1517, 1511, 1521, 1512, 1530, 1531, - 1537, 0, 1525, 0, 1520, 0, 0, 0, 0, 1523, + 1245, 1218, 1245, 1229, 1235, 1239, 1237, 1237, 1234, 1240, + 1254, 1263, 1291, 1298, 1311, 1295, 1292, 1279, 1275, 1300, + 0, 1295, 1300, 1301, 1309, 1408, 1324, 1353, 1405, 0, + 0, 1337, 1356, 1347, 1348, 1376, 1380, 1364, 1405, 1422, + 1423, 619, 1485, 1508, 0, 0, 0, 0, 1418, 2482, + 1389, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 1419, + 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 1536, 1476, + 1518, 401, 600, 587, 1435, 1440, 1443, 1481, 1532, 1510, + 0, 1481, 1520, 1521, 1528, 1528, 0, 1534, 1535, 1536, + 1537, 1528, 1546, 1549, 1553, 0, 1542, 0, 1542, 0, - 1521, 0, 403, 1535, 1545, 1532, 1537, 0, 1549, 0, - 0, 1567, 1551, 0, 1548, 1557, 1557, 1557, 1573, 1559, - 1576, 1565, 379, 1579, 1578, 373, 1581, 0, 0, 1585, - 1584, 1579, 1581, 1582, 1592, 0, 406, 1638, 410, 406, - 2340, 2340, 2340, 2340, 2340, 2340, 2340, 2340, 1646, 1669, - 1677, 655, 2340, 1639, 1644, 1638, 1665, 1661, 1664, 0, - 322, 0, 0, 1665, 1670, 1667, 1666, 1668, 1683, 1681, - 1685, 1680, 1674, 1689, 1676, 1692, 1692, 1688, 1700, 1687, - 1686, 1700, 0, 1713, 0, 0, 1716, 1703, 0, 1707, - 1713, 1713, 1720, 1723, 1722, 0, 1725, 1714, 1719, 0, + 0, 0, 0, 1558, 1558, 0, 526, 1548, 1581, 1569, + 1564, 0, 1572, 0, 0, 1587, 1571, 0, 1568, 1575, + 1575, 1575, 1591, 1577, 1595, 1584, 524, 1599, 1597, 513, + 1601, 0, 0, 1605, 1604, 1598, 1602, 1608, 1621, 0, + 551, 1668, 522, 511, 2482, 2482, 2482, 2482, 2482, 2482, + 2482, 2482, 1676, 1699, 1707, 523, 1710, 1762, 491, 1637, + 1642, 1637, 1632, 1628, 1631, 0, 413, 0, 0, 1686, + 1699, 1699, 1698, 1700, 1715, 1715, 1721, 1720, 1714, 1729, + 1716, 1733, 1735, 1735, 1749, 1742, 1743, 1763, 0, 1769, + 0, 0, 1767, 1753, 0, 1755, 1758, 1759, 1769, 1772, - 1724, 0, 0, 1721, 0, 274, 269, 142, 0, 1785, - 1808, 1816, 699, 2340, 1750, 0, 1753, 1754, 1755, 1801, - 1753, 1780, 1805, 1803, 1800, 77, 0, 0, 1816, 0, - 0, 0, 0, 0, 1821, 1807, 1807, 1818, 0, 1825, - 0, 1824, 0, 1827, 0, 0, 1830, 1815, 1834, 0, - 1820, 0, 1829, 108, 0, 2340, 2340, 2340, 93, 1881, - 1904, 1912, 826, 1848, 1875, 1863, 1905, 1910, 1899, 1913, - 0, 0, 1905, 1906, 1910, 0, 1921, 0, 1923, 1924, - 1907, 1917, 1911, 1925, 1930, 1925, 1932, 1924, 0, 78, - 0, 2340, 1979, 2002, 2010, 861, 1937, 0, 1958, 1974, + 1773, 0, 1778, 1767, 1772, 0, 1778, 0, 0, 1776, + 0, 447, 367, 270, 0, 1841, 1864, 1872, 610, 2482, + 2482, 2482, 2482, 1875, 2482, 1810, 0, 1837, 1838, 1840, + 1865, 1863, 1873, 1876, 1875, 1866, 219, 0, 0, 1886, + 0, 0, 0, 0, 0, 1891, 1871, 1875, 1886, 0, + 1894, 0, 1897, 0, 1900, 0, 0, 1910, 1881, 1917, + 0, 1904, 0, 1917, 256, 0, 2482, 2482, 2482, 148, + 1969, 1992, 2000, 632, 2482, 2482, 1930, 1932, 1920, 1937, + 1936, 1949, 1990, 0, 0, 1982, 1989, 1993, 0, 2004, + 0, 2006, 2007, 1990, 2000, 1994, 2008, 2013, 2008, 2015, - 2004, 2004, 1989, 2002, 1999, 2017, 2014, 1999, 2007, 2007, - 2019, 0, 2007, 2020, 2023, 2015, 2026, 0, 0, 76, - 0, 0, 0, 960, 0, 0, 0, 2029, 2015, 2031, - 0, 2013, 2042, 2038, 2048, 2034, 0, 0, 0, 2054, - 2057, 2054, 2047, 2056, 2340, 2340, 0, 2064, 0, 0, - 2065, 2053, 0, 0, 2053, 2054, 2056, 0, 2058, 0, - 2066, 0, 0, 0, 0, 0, 0, 2340, 2136, 2150, - 2164, 2178, 573, 2187, 2201, 2207, 2221, 2235, 2248, 2261, - 2267, 2273, 2279, 2285, 2296, 2303, 2313, 1010, 2319, 1020, - 2326, 1065, 1074, 1126, 1128 + 2007, 0, 135, 0, 2482, 2063, 2086, 2094, 654, 2018, + 0, 2013, 2056, 2061, 2054, 2062, 2084, 2081, 2099, 2096, + 2081, 2089, 2089, 2101, 0, 2089, 2102, 2105, 2097, 2108, + 0, 0, 77, 0, 0, 0, 708, 0, 0, 0, + 2110, 2096, 2112, 0, 2094, 2120, 2108, 2118, 2104, 0, + 0, 0, 2119, 2128, 2124, 2120, 2132, 2482, 2482, 0, + 2144, 0, 0, 2148, 2136, 0, 0, 2136, 2137, 2139, + 0, 2140, 0, 2148, 0, 0, 0, 0, 0, 0, + 2482, 2219, 2234, 2249, 2264, 566, 2274, 2289, 2296, 2311, + 2326, 2340, 2353, 2360, 2367, 2374, 2381, 2393, 2400, 2410, + 724, 2416, 2429, 2444, 836, 2453, 895, 2466, 968, 1079, + 1163 } ; -static yyconst flex_int16_t yy_def[696] = +static yyconst flex_int16_t yy_def[712] = { 0, - 668, 1, 1, 3, 668, 5, 669, 669, 670, 670, - 668, 11, 1, 13, 13, 15, 15, 15, 671, 671, - 672, 672, 3, 3, 668, 668, 668, 668, 668, 673, - 668, 668, 668, 668, 674, 668, 36, 36, 38, 668, - 668, 36, 42, 42, 42, 668, 668, 668, 668, 668, - 668, 668, 675, 668, 668, 668, 668, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 668, 677, 677, 668, 677, 677, 678, 678, 678, - 668, 668, 668, 674, 36, 38, 668, 679, 679, 99, + 681, 1, 1, 3, 681, 5, 682, 682, 683, 683, + 681, 11, 1, 13, 13, 15, 15, 15, 684, 684, + 685, 685, 3, 3, 681, 681, 681, 681, 681, 686, + 681, 681, 681, 681, 687, 681, 36, 36, 38, 681, + 681, 36, 42, 42, 42, 42, 681, 681, 681, 681, + 681, 681, 681, 688, 681, 681, 681, 681, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 681, 690, 690, 681, 690, 690, 691, 691, + 691, 681, 681, 681, 687, 36, 38, 681, 692, 692, - 99, 99, 99, 679, 104, 104, 104, 104, 104, 668, - 668, 668, 668, 668, 668, 668, 668, 668, 42, 42, - 668, 668, 668, 668, 668, 680, 681, 681, 681, 681, - 681, 682, 668, 668, 668, 668, 668, 673, 668, 668, - 668, 668, 668, 668, 668, 683, 684, 668, 148, 148, - 148, 148, 668, 668, 668, 668, 668, 668, 668, 668, - 668, 668, 675, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 100, 100, 100, 100, 692, 105, 105, 105, 105, 105, + 681, 681, 681, 681, 681, 681, 681, 681, 681, 42, + 42, 681, 681, 681, 681, 681, 693, 694, 694, 694, + 694, 694, 695, 681, 681, 681, 681, 681, 686, 681, + 681, 681, 681, 681, 681, 681, 696, 697, 681, 149, + 149, 149, 149, 681, 681, 681, 681, 681, 681, 681, + 681, 681, 681, 681, 688, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 677, 677, 678, 148, 668, 668, 685, 685, - 685, 230, 230, 231, 231, 231, 231, 668, 668, 668, - 668, 668, 668, 668, 668, 668, 668, 668, 668, 150, - 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, - 668, 668, 680, 681, 681, 681, 682, 683, 684, 668, - 270, 270, 270, 668, 668, 668, 668, 668, 668, 675, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 690, 690, 691, 149, 681, 681, + 698, 698, 698, 232, 232, 233, 233, 233, 233, 681, + 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, + 681, 151, 681, 681, 681, 681, 681, 681, 681, 681, + 681, 681, 681, 681, 693, 694, 694, 694, 695, 696, + 697, 681, 272, 272, 272, 681, 681, 681, 681, 681, + 681, 681, 688, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 686, 687, - 687, 341, 341, 341, 341, 668, 668, 668, 668, 668, - 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, - 668, 668, 668, 668, 668, 668, 366, 366, 366, 668, - 668, 668, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 699, 700, 700, 344, 344, 344, 344, 681, 681, + 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, + 681, 681, 681, 681, 681, 681, 681, 681, 681, 369, + 369, 369, 681, 681, 681, 681, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 688, 689, 668, 368, 668, - 668, 668, 668, 668, 668, 668, 668, 668, 668, 449, - 449, 449, 668, 668, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 701, + 702, 681, 371, 681, 681, 681, 681, 681, 681, 681, + 681, 681, 681, 453, 453, 453, 703, 704, 681, 681, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 676, 676, 676, 676, 690, 691, 668, 668, 692, 668, - 510, 510, 510, 668, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 668, 693, 668, 668, 668, 668, 668, - 560, 560, 560, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 668, - 694, 668, 668, 593, 593, 593, 676, 676, 676, 676, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 705, 706, 681, 681, 707, 681, 516, 516, 516, 681, + 681, 681, 681, 708, 681, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 681, 709, 681, 681, 681, 681, + 681, 571, 571, 571, 681, 681, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 695, 668, - 593, 594, 595, 593, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 668, 668, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 676, 676, 676, - 676, 676, 676, 676, 676, 676, 676, 0, 668, 668, - 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, - 668, 668, 668, 668, 668, 668, 668, 668, 668, 668, - 668, 668, 668, 668, 668 + 689, 689, 681, 710, 681, 681, 606, 606, 606, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 711, 681, 606, 607, 608, 606, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 681, 681, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 0, 681, 681, 681, 681, 681, 681, 681, 681, 681, + 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, + 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, + 681 } ; -static yyconst flex_int16_t yy_nxt[2427] = +static yyconst flex_int16_t yy_nxt[2570] = { 0, 26, 27, 28, 27, 26, 29, 26, 30, 31, 32, 26, 26, 33, 34, 35, 36, 37, 36, 36, 36, 36, 36, 36, 38, 39, 26, 40, 26, 41, 26, - 26, 26, 42, 43, 44, 45, 42, 42, 26, 46, - 47, 26, 26, 48, 26, 26, 49, 26, 26, 26, - 50, 51, 26, 26, 26, 52, 26, 26, 26, 42, - 43, 44, 45, 42, 42, 26, 46, 47, 26, 48, - 26, 26, 49, 26, 26, 26, 50, 51, 26, 26, - 26, 52, 26, 26, 26, 26, 53, 646, 26, 26, - 26, 619, 137, 26, 137, 26, 26, 26, 26, 26, + 26, 26, 42, 43, 44, 45, 46, 42, 26, 47, + 48, 26, 26, 49, 26, 26, 50, 26, 26, 26, + 51, 52, 26, 26, 26, 53, 26, 26, 26, 26, + 42, 43, 44, 45, 46, 42, 26, 47, 48, 26, + 49, 26, 26, 50, 26, 26, 26, 51, 52, 26, + 26, 26, 53, 26, 26, 26, 26, 54, 659, 26, + 26, 26, 158, 138, 26, 138, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 592, 26, 139, 139, - 27, 28, 27, 26, 26, 26, 26, 26, 26, 590, - 26, 26, 89, 157, 26, 151, 152, 26, 142, 143, - 144, 26, 26, 145, 156, 575, 26, 90, 226, 226, - 26, 26, 26, 26, 26, 26, 146, 26, 26, 157, - 26, 146, 146, 26, 224, 558, 224, 26, 26, 265, - 266, 156, 26, 26, 27, 28, 27, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 34, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 54, - 26, 41, 55, 56, 57, 58, 59, 60, 61, 62, + 26, 26, 26, 26, 26, 26, 26, 157, 26, 140, + 140, 27, 28, 27, 26, 26, 26, 26, 26, 26, + 158, 26, 26, 90, 159, 26, 152, 153, 26, 27, + 28, 27, 26, 26, 157, 162, 163, 26, 91, 228, + 228, 90, 26, 26, 26, 26, 26, 26, 632, 26, + 26, 159, 26, 267, 268, 26, 91, 140, 140, 26, + 26, 605, 162, 163, 26, 26, 27, 28, 27, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 34, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 55, 26, 41, 56, 57, 58, 59, 60, 61, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 67, - 72, 73, 74, 75, 76, 77, 67, 78, 79, 80, - 81, 67, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 68, 69, 70, 71, 67, 72, 73, 74, 75, - 76, 77, 67, 78, 79, 80, 81, 26, 82, 84, - 28, 84, 158, 85, 84, 28, 84, 160, 85, 161, - 159, 86, 27, 28, 27, 253, 86, 254, 255, 256, - 257, 258, 259, 260, 89, 137, 87, 137, 224, 158, - 224, 87, 557, 160, 555, 161, 159, 139, 139, 90, - 26, 27, 28, 27, 26, 26, 91, 30, 31, 32, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 68, 73, 74, 75, 76, 77, 78, 68, 79, + 80, 81, 82, 26, 68, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 69, 70, 71, 72, 68, 73, + 74, 75, 76, 77, 78, 68, 79, 80, 81, 82, + 26, 83, 85, 28, 85, 164, 86, 85, 28, 85, + 226, 86, 226, 138, 87, 138, 226, 603, 226, 87, + 141, 141, 141, 141, 141, 141, 141, 141, 588, 88, + 275, 275, 164, 569, 88, 26, 27, 28, 27, 26, + 26, 92, 30, 31, 32, 93, 94, 33, 34, 95, - 92, 93, 33, 34, 94, 36, 95, 36, 36, 36, - 36, 36, 36, 96, 96, 97, 26, 26, 41, 26, - 26, 26, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 104, 104, 107, 104, 104, 104, 104, 104, 104, - 104, 104, 104, 104, 104, 108, 109, 104, 26, 98, - 99, 100, 101, 102, 103, 104, 105, 106, 104, 107, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, - 104, 108, 109, 104, 26, 26, 110, 26, 162, 186, - 520, 111, 112, 113, 273, 273, 114, 140, 140, 140, - 140, 140, 140, 140, 140, 187, 369, 369, 26, 115, + 36, 96, 36, 36, 36, 36, 36, 36, 97, 97, + 98, 26, 26, 41, 26, 26, 26, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 105, 105, 108, 105, + 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, + 109, 110, 105, 26, 26, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 105, 108, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 105, 105, 109, 110, 105, + 26, 26, 111, 26, 188, 372, 372, 112, 113, 114, + 568, 195, 115, 142, 142, 142, 142, 142, 142, 142, + 142, 142, 142, 205, 26, 116, 117, 118, 229, 230, - 116, 117, 193, 203, 162, 42, 186, 42, 188, 509, - 184, 26, 26, 509, 208, 26, 220, 26, 26, 506, - 185, 187, 26, 26, 189, 190, 221, 191, 229, 193, - 203, 497, 42, 192, 42, 188, 184, 494, 26, 26, - 208, 26, 220, 218, 26, 133, 185, 134, 26, 26, - 189, 135, 190, 221, 191, 229, 118, 26, 136, 192, - 219, 478, 32, 26, 26, 194, 229, 26, 195, 95, - 218, 196, 133, 222, 134, 197, 96, 96, 135, 209, - 26, 41, 26, 210, 136, 119, 219, 42, 165, 436, - 120, 26, 194, 229, 195, 373, 166, 196, 234, 222, + 229, 42, 188, 42, 42, 160, 220, 26, 26, 195, + 186, 26, 189, 161, 26, 210, 456, 456, 26, 26, + 187, 205, 230, 221, 222, 143, 144, 145, 190, 42, + 146, 42, 42, 160, 220, 26, 26, 186, 26, 189, + 161, 26, 210, 147, 191, 26, 26, 187, 147, 147, + 221, 222, 223, 119, 26, 26, 190, 566, 211, 32, + 26, 26, 212, 270, 26, 224, 96, 231, 270, 270, + 231, 191, 531, 97, 97, 236, 231, 26, 41, 26, + 223, 239, 120, 134, 42, 135, 211, 121, 26, 136, + 212, 200, 224, 201, 524, 231, 137, 122, 231, 123, - 121, 197, 122, 123, 167, 168, 209, 237, 124, 125, - 210, 280, 119, 229, 42, 165, 229, 120, 233, 133, - 250, 134, 166, 252, 234, 135, 121, 275, 122, 123, - 167, 168, 136, 237, 124, 125, 268, 26, 126, 251, - 229, 268, 268, 229, 42, 233, 133, 250, 134, 42, - 252, 276, 135, 235, 236, 169, 274, 261, 136, 26, - 162, 26, 26, 262, 277, 251, 170, 52, 26, 280, - 278, 42, 171, 172, 173, 279, 42, 174, 276, 235, - 236, 138, 169, 261, 138, 26, 162, 26, 26, 262, - 155, 277, 170, 52, 26, 126, 278, 154, 171, 172, + 124, 202, 236, 203, 231, 125, 126, 204, 239, 252, + 120, 134, 42, 135, 515, 121, 134, 136, 135, 200, + 254, 201, 136, 137, 122, 515, 123, 124, 202, 137, + 203, 253, 125, 126, 204, 26, 127, 252, 519, 519, + 263, 192, 42, 193, 134, 167, 135, 42, 254, 194, + 136, 237, 238, 168, 164, 264, 137, 26, 253, 26, + 26, 169, 170, 278, 512, 53, 26, 263, 281, 192, + 42, 193, 503, 167, 139, 42, 194, 139, 237, 238, + 168, 164, 264, 500, 26, 484, 26, 26, 169, 170, + 458, 278, 53, 26, 127, 281, 681, 681, 681, 279, - 173, 42, 279, 174, 281, 153, 42, 149, 149, 149, - 149, 149, 149, 149, 149, 249, 26, 153, 26, 26, - 273, 273, 273, 273, 52, 26, 452, 452, 42, 248, - 274, 281, 275, 42, 140, 140, 140, 140, 140, 140, - 140, 140, 26, 282, 26, 26, 283, 286, 289, 247, - 52, 26, 26, 27, 28, 27, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 34, 26, 246, 128, 282, - 513, 513, 283, 286, 289, 129, 130, 26, 26, 26, - 41, 26, 26, 26, 287, 238, 131, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 150, 150, 150, + 42, 681, 231, 457, 235, 42, 150, 150, 150, 150, + 150, 150, 150, 150, 147, 26, 154, 26, 26, 147, + 147, 275, 275, 53, 26, 574, 574, 279, 42, 440, + 231, 276, 235, 42, 141, 141, 141, 141, 141, 141, + 141, 141, 26, 280, 26, 26, 282, 609, 609, 377, + 53, 26, 26, 27, 28, 27, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 34, 26, 283, 129, 637, + 637, 280, 277, 284, 282, 130, 131, 26, 26, 26, + 41, 26, 26, 26, 285, 286, 132, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 151, 196, 275, 275, - 150, 150, 150, 150, 150, 150, 150, 668, 668, 668, - 239, 287, 668, 131, 563, 563, 140, 140, 140, 140, - 140, 140, 140, 140, 668, 146, 288, 155, 290, 154, - 146, 146, 291, 292, 293, 668, 26, 26, 26, 27, - 28, 27, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 34, 26, 288, 128, 290, 299, 668, 291, 292, - 293, 129, 130, 26, 26, 26, 41, 26, 26, 26, - 175, 240, 131, 176, 180, 300, 284, 177, 181, 668, - 303, 182, 299, 294, 178, 179, 241, 285, 242, 243, - 183, 295, 304, 296, 244, 245, 668, 175, 240, 131, + 197, 284, 289, 198, 290, 291, 276, 199, 277, 241, + 26, 285, 286, 283, 132, 141, 141, 141, 141, 141, + 141, 141, 141, 637, 637, 196, 293, 197, 303, 289, + 198, 292, 290, 291, 199, 511, 511, 26, 26, 26, + 27, 28, 27, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 34, 26, 293, 129, 303, 296, 292, 302, + 171, 287, 130, 131, 26, 26, 26, 41, 26, 26, + 26, 172, 288, 132, 313, 206, 156, 173, 174, 175, + 177, 155, 176, 178, 296, 207, 302, 179, 171, 287, + 306, 208, 294, 295, 180, 181, 209, 26, 172, 288, - 176, 180, 300, 284, 177, 181, 303, 182, 668, 294, - 178, 179, 241, 285, 242, 243, 183, 295, 304, 296, - 244, 245, 26, 26, 26, 27, 28, 27, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 34, 26, 297, - 298, 596, 596, 305, 306, 307, 198, 204, 199, 26, - 26, 26, 41, 26, 26, 26, 200, 205, 201, 308, - 301, 668, 202, 206, 309, 297, 298, 302, 207, 305, - 306, 307, 668, 198, 204, 199, 624, 624, 310, 668, - 311, 314, 200, 205, 201, 308, 268, 301, 202, 206, - 309, 268, 268, 302, 207, 141, 141, 141, 141, 141, + 154, 132, 313, 206, 173, 174, 175, 251, 177, 176, + 250, 178, 207, 249, 307, 179, 308, 306, 208, 294, + 295, 180, 181, 209, 26, 26, 26, 27, 28, 27, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 34, + 26, 307, 182, 308, 242, 319, 183, 565, 565, 184, + 248, 26, 26, 26, 41, 26, 26, 26, 185, 243, + 309, 244, 245, 300, 301, 310, 311, 246, 247, 240, + 182, 681, 242, 319, 183, 255, 184, 256, 257, 258, + 259, 260, 261, 262, 26, 185, 243, 309, 244, 245, + 300, 301, 310, 311, 246, 247, 142, 142, 142, 142, - 141, 141, 141, 141, 141, 310, 311, 314, 26, 26, - 26, 27, 28, 27, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 34, 26, 271, 271, 271, 271, 271, - 271, 271, 271, 668, 315, 26, 26, 26, 41, 26, - 26, 26, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 312, 316, 317, 318, 319, 320, 668, 313, - 315, 325, 326, 327, 328, 330, 348, 329, 349, 350, - 351, 352, 353, 354, 355, 624, 624, 668, 312, 334, - 316, 317, 318, 319, 320, 313, 333, 325, 326, 327, - 328, 668, 330, 329, 26, 26, 148, 148, 148, 148, + 142, 142, 142, 142, 142, 142, 570, 570, 156, 312, + 314, 26, 26, 26, 27, 28, 27, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 34, 26, 273, 273, + 273, 273, 273, 273, 273, 273, 312, 314, 26, 26, + 26, 41, 26, 26, 26, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 297, 317, 304, 155, 315, + 318, 320, 681, 298, 305, 299, 316, 321, 322, 323, + 351, 26, 352, 353, 354, 355, 356, 357, 358, 604, + 604, 681, 297, 317, 333, 304, 315, 318, 337, 320, + 298, 305, 299, 316, 681, 321, 322, 323, 26, 26, - 148, 148, 148, 148, 149, 149, 334, 321, 668, 337, - 335, 322, 333, 150, 150, 150, 150, 150, 150, 668, - 331, 505, 505, 323, 324, 668, 336, 668, 338, 668, - 332, 554, 554, 668, 321, 337, 346, 335, 322, 347, - 150, 150, 150, 150, 150, 150, 211, 331, 212, 323, - 324, 213, 336, 214, 215, 338, 332, 216, 227, 228, - 227, 356, 357, 346, 358, 217, 347, 359, 360, 361, - 362, 363, 364, 211, 668, 212, 559, 559, 213, 668, - 214, 215, 228, 216, 339, 591, 591, 356, 357, 668, - 358, 217, 227, 228, 227, 668, 668, 668, 668, 668, + 149, 149, 149, 149, 149, 149, 149, 149, 150, 150, + 328, 324, 333, 329, 330, 325, 337, 151, 151, 151, + 151, 151, 151, 681, 334, 681, 270, 326, 327, 681, + 331, 270, 270, 332, 335, 681, 336, 328, 340, 324, + 329, 330, 359, 325, 341, 151, 151, 151, 151, 151, + 151, 213, 334, 214, 326, 327, 215, 331, 216, 217, + 332, 335, 218, 336, 338, 340, 349, 350, 373, 359, + 219, 681, 341, 345, 347, 681, 360, 346, 348, 213, + 339, 214, 361, 368, 215, 681, 216, 217, 681, 218, + 633, 633, 338, 681, 349, 350, 373, 219, 229, 230, - 668, 668, 668, 668, 668, 668, 150, 150, 150, 150, - 150, 150, 150, 150, 150, 150, 228, 342, 344, 668, - 365, 343, 345, 229, 229, 229, 229, 229, 230, 367, - 367, 367, 367, 367, 367, 367, 367, 620, 620, 645, - 645, 668, 370, 668, 342, 344, 365, 343, 345, 668, - 229, 229, 229, 229, 229, 230, 668, 668, 668, 368, - 368, 368, 368, 368, 368, 368, 368, 368, 368, 370, - 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, - 668, 371, 372, 374, 668, 375, ... [truncated message content] |
From: <so...@us...> - 2011-08-29 21:05:03
|
Revision: 24447 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=24447&view=rev Author: soci Date: 2011-08-29 21:04:53 +0000 (Mon, 29 Aug 2011) Log Message: ----------- There was a nice hack for load/store/exec options, now it's gone and this bug is fixed. ID: 3396666 =================================== More on TRACE: trace store dc02 dc0f TRACE: 1 C:$dc02-$dc0f (Trace load store exec) ALSO outputs: #1 (Trace load dc0d) .C:ed9c AD 0D DC LDA $DC0D #1 (Trace load dc0d) .C:ed9f AD 0D DC LDA $DC0D Wonder which magic is hidden there letting vice know I want to trace LOAD as well. That magic is broken apparently. Modified Paths: -------------- trunk/vice/src/monitor/mon_lex.c trunk/vice/src/monitor/mon_lex.l trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.h trunk/vice/src/monitor/mon_parse.y Modified: trunk/vice/src/monitor/mon_lex.c =================================================================== --- trunk/vice/src/monitor/mon_lex.c 2011-08-29 18:44:59 UTC (rev 24446) +++ trunk/vice/src/monitor/mon_lex.c 2011-08-29 21:04:53 UTC (rev 24447) @@ -53,7 +53,6 @@ typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,6 +83,8 @@ #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -140,7 +141,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -360,8 +369,8 @@ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 220 -#define YY_END_OF_BUFFER 221 +#define YY_NUM_RULES 214 +#define YY_END_OF_BUFFER 215 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -369,55 +378,55 @@ flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_acclist[1081] = +static yyconst flex_int16_t yy_acclist[1075] = { 0, - 116, 210, 116, 210, 116, 116, 116, 116, 97, 116, - 97, 116, 116, 116, 116, 210, 116, 210, 116, 210, - 116, 210, 116, 210, 116, 210, 116, 210, 116, 210, - 116, 119, 116, 119, 115, 116, 115, 116, 116, 116, - 221, 219, 220, 116, 220, 117, 219, 220, 95, 219, - 220, 219, 220, 219, 220, 219, 220, 219, 220, 217, - 219, 220, 219, 220, 210, 212, 215, 219, 220, 207, - 210, 212, 215, 219, 220, 212, 215, 219, 220, 212, - 215, 219, 220, 81, 219, 220, 216, 219, 220, 215, - 219, 220, 109, 215, 219, 220, 215, 219, 220, 108, + 110, 204, 110, 204, 110, 110, 110, 110, 91, 110, + 91, 110, 110, 110, 110, 204, 110, 204, 110, 204, + 110, 204, 110, 204, 110, 204, 110, 204, 110, 204, + 110, 113, 110, 113, 109, 110, 109, 110, 110, 110, + 215, 213, 214, 110, 214, 111, 213, 214, 89, 213, + 214, 213, 214, 213, 214, 213, 214, 213, 214, 211, + 213, 214, 213, 214, 204, 206, 209, 213, 214, 201, + 204, 206, 209, 213, 214, 206, 209, 213, 214, 206, + 209, 213, 214, 81, 213, 214, 210, 213, 214, 209, + 213, 214, 103, 209, 213, 214, 209, 213, 214, 102, - 215, 219, 220, 215, 219, 220, 106, 219, 220, 219, - 220, 219, 220, 107, 219, 220, 219, 220, 219, 220, - 219, 220, 219, 220, 1, 219, 220, 3, 219, 220, - 37, 219, 220, 4, 219, 220, 5, 80, 219, 220, - 80, 219, 220, 20, 80, 219, 220, 25, 80, 219, - 220, 80, 219, 220, 35, 80, 219, 220, 36, 80, - 219, 220, 38, 80, 219, 220, 39, 80, 219, 220, - 80, 219, 220, 80, 219, 220, 45, 80, 219, 220, - 47, 80, 219, 220, 54, 80, 219, 220, 56, 80, - 219, 220, 80, 219, 220, 61, 80, 219, 220, 66, + 209, 213, 214, 209, 213, 214, 100, 213, 214, 213, + 214, 213, 214, 101, 213, 214, 213, 214, 213, 214, + 213, 214, 213, 214, 1, 213, 214, 3, 213, 214, + 37, 213, 214, 4, 213, 214, 5, 80, 213, 214, + 80, 213, 214, 20, 80, 213, 214, 25, 80, 213, + 214, 80, 213, 214, 35, 80, 213, 214, 36, 80, + 213, 214, 38, 80, 213, 214, 39, 80, 213, 214, + 80, 213, 214, 80, 213, 214, 45, 80, 213, 214, + 47, 80, 213, 214, 54, 80, 213, 214, 56, 80, + 213, 214, 80, 213, 214, 61, 80, 213, 214, 66, - 80, 219, 220, 52, 80, 219, 220, 80, 219, 220, - 78, 80, 219, 220, 33, 80, 219, 220, 80, 219, - 220, 72, 80, 219, 220, 2, 219, 220, 97, 219, - 220, 97, 116, 220, 96, 219, 220, 97, 217, 219, - 220, 97, 216, 219, 220, 120, 219, 220, 120, 217, - 219, 220, 120, 216, 219, 220, 204, 219, 220, 202, - 219, 220, 203, 219, 220, 219, 220, 207, 210, 212, - 215, 219, 220, 212, 215, 219, 220, 205, 219, 220, - 215, 219, 220,16577, 194, 215, 219, 220, 195, 215, - 219, 220, 196, 215, 219, 220, 197, 215, 219, 220, + 80, 213, 214, 52, 80, 213, 214, 80, 213, 214, + 78, 80, 213, 214, 33, 80, 213, 214, 80, 213, + 214, 72, 80, 213, 214, 2, 213, 214, 91, 213, + 214, 91, 110, 214, 90, 213, 214, 91, 211, 213, + 214, 91, 210, 213, 214, 114, 213, 214, 114, 211, + 213, 214, 114, 210, 213, 214, 198, 213, 214, 196, + 213, 214, 197, 213, 214, 213, 214, 201, 204, 206, + 209, 213, 214, 206, 209, 213, 214, 199, 213, 214, + 209, 213, 214,16571, 188, 209, 213, 214, 189, 209, + 213, 214, 190, 209, 213, 214, 191, 209, 213, 214, - 215, 219, 220, 219, 220, 198, 219, 220, 219, 220, - 199, 219, 220, 200, 219, 220, 201, 219, 220, 219, - 220, 219, 220, 170, 219, 220, 171, 219, 220, 219, - 220, 145, 219, 220, 216, 219, 220, 146, 219, 220, - 219, 220, 121, 215, 219, 220, 215, 219, 220, 219, - 220, 219, 220, 219, 220, 122, 219, 220, 123, 219, - 220, 219, 220, 119, 219, 220, 119, 219, 220, 119, - 219, 220, 119, 219, 220, 119, 219, 220, 115, 219, - 220, 104, 219, 220, 102, 219, 220, 103, 219, 220, - 105, 219, 220, 116, 214, 208, 209, 211, 98, 100, + 209, 213, 214, 213, 214, 192, 213, 214, 213, 214, + 193, 213, 214, 194, 213, 214, 195, 213, 214, 213, + 214, 213, 214, 164, 213, 214, 165, 213, 214, 213, + 214, 139, 213, 214, 210, 213, 214, 140, 213, 214, + 213, 214, 115, 209, 213, 214, 209, 213, 214, 213, + 214, 213, 214, 213, 214, 116, 213, 214, 117, 213, + 214, 213, 214, 113, 213, 214, 113, 213, 214, 113, + 213, 214, 113, 213, 214, 113, 213, 214, 109, 213, + 214, 98, 213, 214, 96, 213, 214, 97, 213, 214, + 99, 213, 214, 110, 208, 202, 203, 205, 92, 94, - 101, 99, 192, 191, 192, 210, 212, 215, 212, 215, - 215, 207, 210, 212, 215, 207, 210, 212, 215, 111, - 112, 110, 94, 82, 213, 80, 80, 6, 80, 80, + 95, 93, 186, 185, 186, 204, 206, 209, 206, 209, + 209, 201, 204, 206, 209, 201, 204, 206, 209, 105, + 106, 104, 88, 82, 207, 80, 80, 6, 80, 80, 80, 80, 11, 80, 12, 80, 14, 80, 15, 80, 16, 80, 80, 18, 80, 80, 80, 80, 80, 80, 27, 80, 80, 80, 80, 80, 80, 80, 80, 80, @@ -426,14 +435,14 @@ 80, 80, 80, 80, 80, 80, 80, 80, 68, 80, 80, 80, 80, 67, 80, 80, 80, 75, 80, 76, - 80, 80, 80, 97, 97, 116, 120, 207, 210, 212, - 215, 8385, 190, 215, 180, 190, 215, 190, 181, 190, - 215, 182, 190, 215, 183, 190, 184, 190, 187, 190, - 190, 213, 143, 148, 150, 151, 152, 144, 142, 147, - 149, 215, 126, 124, 127, 128, 129, 130, 131, 132, - 133, 125, 218, 119, 119, 119, 115, 192, 191, 192, - 210, 212, 215, 212, 215, 215, 207, 210, 212, 215, - 113, 114, 83, 118, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 91, 91, 110, 114, 201, 204, 206, + 209, 8379, 184, 209, 174, 184, 209, 184, 175, 184, + 209, 176, 184, 209, 177, 184, 178, 184, 181, 184, + 184, 207, 137, 142, 144, 145, 146, 138, 136, 141, + 143, 209, 120, 118, 121, 122, 123, 124, 125, 126, + 127, 119, 212, 113, 113, 113, 109, 186, 185, 186, + 204, 206, 209, 206, 209, 209, 201, 204, 206, 209, + 107, 108, 83, 112, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 22, 80, 26, 80, 80, 28, 80, 24, 80, 80, 80, 80, 80, 34, @@ -441,11 +450,11 @@ 80, 80, 80, 80, 80, 80, 80, 57, 80, 80, 59, 80, 60, 80, 80, 80, 65, 80, 80, 80, 71, 80, 70, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 190, 215, 190, 185, 190, 186, - 190, 188, 190, 189, 190, 153, 155, 156, 157, 158, - 159, 160, 161, 154, 140, 134, 135, 136, 137, 138, - 139, 141, 210, 212, 215, 212, 215, 215, 207, 210, - 212, 215, 90, 88, 80, 80, 80, 80, 10, 80, + 80, 80, 80, 80, 184, 209, 184, 179, 184, 180, + 184, 182, 184, 183, 184, 147, 149, 150, 151, 152, + 153, 154, 155, 148, 134, 128, 129, 130, 131, 132, + 133, 135, 204, 206, 209, 206, 209, 209, 201, 204, + 206, 209, 87, 85, 80, 80, 80, 80, 10, 80, 80, 80, 80, 80, 80, 23, 80, 80, 80, 21, 80, 80, 80, 80, 80, 80, 31, 80, 80, 33, @@ -454,44 +463,44 @@ 50, 80, 80, 52, 80, 54, 80, 80, 80, 58, 80, 80, 80, 80, 80, 80, 80, 80, 80, 66, 80, 80, 80, 80, 80, 72, 80, 73, 80, 80, - 80, 80, 80, 80, 80, 190, 215, 190, 168, 162, - 163, 164, 165, 166, 167, 169, 210, 212, 215, 212, - 215, 215, 207, 210, 212, 215, 89, 80, 80, 80, + 80, 80, 80, 80, 80, 184, 209, 184, 162, 156, + 157, 158, 159, 160, 161, 163, 204, 206, 209, 206, + 209, 209, 201, 204, 206, 209, 86, 80, 80, 80, 80, 80, 11, 80, 80, 13, 80, 14, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 51, 80, 80, 56, 80, 59, 80, 80, 80, 62, 80, 80, 80, 80, 80, 80, 80, 69, 80, 80, 80, 80, - 75, 80, 80, 76, 80, 78, 80, 80, 176, 210, - 212, 215, 212, 215, 215, 207, 210, 212, 215, 93, - 87, 91, 85, 84, 80, 7, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 26, 80, 29, 80, - 28, 80, 80, 25, 80, 32, 80, 34, 80, 41, - 80, 43, 80, 80, 80, 80, 80, 49, 80, 80, + 75, 80, 80, 76, 80, 78, 80, 80, 170, 204, + 206, 209, 206, 209, 209, 201, 204, 206, 209, 84, + 80, 7, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 26, 80, 29, 80, 28, 80, 80, 25, + 80, 32, 80, 34, 80, 41, 80, 43, 80, 80, + 80, 80, 80, 49, 80, 80, 60, 80, 80, 63, - 60, 80, 80, 63, 80, 80, 64, 80, 65, 80, - 80, 68, 80, 80, 71, 80, 80, 77, 80, 80, - 172, 179, 177, 210, 212, 215, 212, 215, 215, 207, - 210, 212, 215, 92, 86, 80, 80, 80, 80, 80, - 80, 80, 19, 80, 20, 80, 80, 80, 80, 30, - 80, 80, 48, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 79, 80, 178, 206, 210, 212, - 215, 206, 212, 215, 206, 215, 206, 207, 210, 212, - 215, 80, 9, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 55, 80, 80, + 80, 80, 64, 80, 65, 80, 80, 68, 80, 80, + 71, 80, 80, 77, 80, 80, 166, 173, 171, 204, + 206, 209, 206, 209, 209, 201, 204, 206, 209, 80, + 80, 80, 80, 80, 80, 80, 19, 80, 20, 80, + 80, 80, 80, 30, 80, 80, 48, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 79, 80, + 172, 200, 204, 206, 209, 200, 206, 209, 200, 209, + 200, 201, 204, 206, 209, 80, 9, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 55, 80, 80, 80, 80, 80, 80, 74, 80, - 80, 80, 80, 80, 74, 80, 175, 210, 212, 215, - 212, 215, 215, 207, 210, 212, 215, 6, 80, 8, - 80, 15, 80, 80, 80, 80, 21, 80, 80, 80, - 80, 80, 80, 51, 80, 53, 80, 61, 80, 80, - 80, 80, 80, 80, 174, 173, 12, 80, 80, 17, - 80, 23, 80, 80, 80, 49, 80, 50, 80, 80, - 80, 80, 69, 80, 80, 16, 80, 80, 46, 80, - 63, 80, 64, 80, 67, 80, 70, 80, 27, 80 + 169, 204, 206, 209, 206, 209, 209, 201, 204, 206, + 209, 6, 80, 8, 80, 15, 80, 80, 80, 80, + 21, 80, 80, 80, 80, 80, 80, 51, 80, 53, + 80, 61, 80, 80, 80, 80, 80, 80, 168, 167, + 12, 80, 80, 17, 80, 23, 80, 80, 80, 49, + 80, 50, 80, 80, 80, 80, 69, 80, 80, 16, + 80, 80, 46, 80, 63, 80, 64, 80, 67, 80, + 70, 80, 27, 80 } ; -static yyconst flex_int16_t yy_accept[683] = +static yyconst flex_int16_t yy_accept[674] = { 0, 1, 3, 5, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, @@ -542,32 +551,31 @@ 744, 745, 746, 747, 748, 749, 750, 752, 753, 754, 755, 756, 758, 760, 761, 762, 763, 764, 765, 766, 766, 766, 766, 768, 769, 770, 771, 772, 773, 774, - 775, 776, 777, 780, 782, 783, 787, 787, 787, 788, - 788, 789, 790, 791, 792, 793, 795, 796, 798, 800, - 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, - 811, 812, 813, 814, 815, 816, 817, 818, 819, 821, - 822, 824, 826, 827, 828, 830, 831, 832, 833, 834, + 775, 776, 777, 780, 782, 783, 787, 788, 788, 789, + 790, 791, 792, 793, 795, 796, 798, 800, 801, 802, + 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, + 813, 814, 815, 816, 817, 818, 819, 821, 822, 824, + 826, 827, 828, 830, 831, 832, 833, 834, 835, 836, - 835, 836, 838, 839, 840, 841, 843, 844, 846, 848, - 849, 849, 850, 850, 850, 850, 853, 855, 856, 860, - 861, 862, 863, 864, 864, 865, 866, 868, 869, 870, - 871, 872, 873, 874, 875, 876, 877, 879, 881, 883, - 884, 886, 888, 890, 892, 894, 895, 896, 897, 898, - 900, 901, 903, 904, 906, 907, 909, 911, 912, 914, - 915, 917, 918, 920, 921, 921, 921, 922, 923, 924, - 924, 927, 929, 930, 934, 935, 936, 937, 938, 939, - 940, 941, 942, 943, 945, 947, 948, 949, 950, 952, - 953, 955, 956, 957, 958, 959, 960, 961, 962, 963, + 838, 839, 840, 841, 843, 844, 846, 848, 849, 849, + 850, 850, 850, 850, 853, 855, 856, 860, 861, 862, + 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, + 875, 877, 879, 880, 882, 884, 886, 888, 890, 891, + 892, 893, 894, 896, 897, 899, 900, 902, 903, 905, + 907, 908, 910, 911, 913, 914, 916, 917, 917, 917, + 918, 919, 920, 920, 923, 925, 926, 930, 931, 932, + 933, 934, 935, 936, 937, 939, 941, 942, 943, 944, + 946, 947, 949, 950, 951, 952, 953, 954, 955, 956, + 957, 958, 959, 961, 961, 961, 962, 966, 969, 971, - 964, 965, 967, 967, 967, 968, 972, 975, 977, 982, - 983, 985, 986, 987, 988, 989, 990, 991, 992, 993, - 994, 995, 996, 997, 998, 1000, 1001, 1002, 1003, 1004, - 1005, 1007, 1008, 1008, 1011, 1013, 1014, 1018, 1020, 1022, - 1024, 1025, 1026, 1027, 1029, 1030, 1031, 1032, 1033, 1034, - 1036, 1038, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, - 1049, 1050, 1052, 1054, 1055, 1056, 1058, 1060, 1061, 1062, - 1063, 1065, 1066, 1068, 1069, 1071, 1073, 1075, 1077, 1079, - 1081, 1081 + 976, 977, 979, 980, 981, 982, 983, 984, 985, 986, + 987, 988, 989, 990, 991, 992, 994, 995, 996, 997, + 998, 999, 1001, 1002, 1002, 1005, 1007, 1008, 1012, 1014, + 1016, 1018, 1019, 1020, 1021, 1023, 1024, 1025, 1026, 1027, + 1028, 1030, 1032, 1034, 1035, 1036, 1037, 1038, 1039, 1040, + 1041, 1043, 1044, 1046, 1048, 1049, 1050, 1052, 1054, 1055, + 1056, 1057, 1059, 1060, 1062, 1063, 1065, 1067, 1069, 1071, + 1073, 1075, 1075 } ; static yyconst flex_int32_t yy_ec[256] = @@ -581,11 +589,11 @@ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, - 1, 1, 1, 59, 60, 1, 61, 62, 63, 64, + 1, 1, 1, 1, 59, 1, 60, 61, 62, 63, - 65, 66, 67, 68, 69, 42, 70, 71, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - 84, 85, 1, 86, 1, 87, 1, 1, 1, 1, + 64, 65, 66, 67, 68, 42, 69, 70, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 1, 85, 1, 86, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -602,472 +610,454 @@ 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[88] = +static yyconst flex_int32_t yy_meta[87] = { 0, 1, 2, 3, 4, 1, 5, 1, 6, 6, 6, 7, 1, 6, 8, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 1, 1, 1, 1, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, - 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 14, 12, + 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 1, 1 + 13, 13, 13, 13, 1, 1 } ; -static yyconst flex_int16_t yy_base[712] = +static yyconst flex_int16_t yy_base[700] = { 0, - 0, 0, 82, 0, 165, 0, 251, 256, 110, 128, - 285, 0, 368, 0, 450, 0, 510, 568, 652, 739, - 826, 913, 450, 483, 963, 2482, 92, 2482, 2482, 0, - 94, 255, 368, 2482, 418, 985, 111, 591, 933, 2482, - 2482, 672, 0, 883, 0, 52, 2482, 55, 78, 368, - 84, 90, 200, 0, 2482, 2482, 2482, 2482, 510, 728, - 748, 806, 365, 334, 366, 392, 503, 0, 345, 657, - 457, 357, 742, 363, 426, 1019, 374, 379, 420, 0, - 409, 0, 2482, 0, 259, 2482, 0, 0, 0, 0, - 0, 2482, 2482, 2482, 589, 124, 846, 2482, 1097, 1162, + 0, 0, 81, 0, 163, 0, 248, 253, 109, 261, + 290, 0, 372, 0, 453, 0, 512, 569, 652, 738, + 824, 910, 412, 486, 727, 2354, 91, 2354, 2354, 0, + 93, 372, 672, 2354, 121, 981, 110, 592, 699, 2354, + 2354, 682, 0, 659, 0, 68, 2354, 97, 206, 365, + 206, 213, 205, 0, 2354, 2354, 2354, 2354, 453, 523, + 738, 738, 359, 339, 349, 390, 387, 0, 361, 514, + 812, 380, 814, 368, 434, 1014, 504, 415, 396, 0, + 417, 0, 2354, 0, 153, 2354, 0, 0, 0, 0, + 0, 2354, 2354, 2354, 700, 123, 644, 2354, 1091, 1155, - 433, 568, 436, 442, 1227, 432, 496, 0, 426, 0, - 841, 700, 2482, 2482, 812, 822, 785, 782, 722, 475, - 488, 486, 859, 493, 499, 500, 0, 0, 138, 775, - 756, 751, 0, 2482, 2482, 2482, 2482, 262, 0, 142, - 619, 881, 2482, 2482, 2482, 2482, 0, 438, 1238, 913, - 930, 606, 683, 2482, 2482, 2482, 527, 2482, 567, 606, - 2482, 522, 608, 2482, 708, 0, 638, 0, 633, 634, - 727, 656, 668, 673, 0, 0, 682, 0, 686, 748, - 705, 912, 814, 0, 715, 696, 917, 747, 763, 773, - 815, 820, 0, 0, 810, 859, 0, 742, 0, 0, + 431, 482, 437, 445, 1219, 432, 541, 0, 439, 0, + 639, 701, 2354, 2354, 739, 603, 601, 563, 500, 449, + 464, 479, 249, 477, 484, 523, 0, 0, 144, 555, + 531, 522, 0, 2354, 2354, 2354, 2354, 274, 0, 264, + 619, 880, 2354, 2354, 2354, 2354, 0, 257, 1230, 910, + 927, 526, 605, 2354, 2354, 2354, 539, 2354, 573, 606, + 2354, 543, 608, 2354, 522, 0, 612, 0, 634, 676, + 742, 683, 696, 701, 0, 0, 707, 0, 735, 747, + 705, 909, 790, 0, 736, 810, 820, 750, 793, 802, + 814, 819, 0, 0, 823, 830, 0, 875, 0, 0, - 866, 909, 903, 0, 905, 0, 813, 921, 932, 928, - 934, 977, 957, 964, 959, 987, 949, 0, 988, 989, - 956, 1029, 987, 1009, 0, 265, 0, 265, 397, 2482, - 1301, 1364, 1120, 0, 0, 0, 1034, 1035, 0, 2482, - 2482, 1032, 1033, 954, 995, 2482, 1021, 2482, 2482, 2482, - 2482, 1038, 2482, 2482, 1130, 2482, 2482, 2482, 2482, 2482, - 2482, 2482, 2482, 1039, 0, 0, 681, 647, 0, 0, - 1001, 1415, 1151, 1185, 360, 2482, 2482, 1034, 1089, 2482, - 1077, 1089, 662, 590, 1096, 1142, 1147, 1148, 1159, 1160, - 1157, 1160, 1162, 1219, 1178, 1197, 1204, 1235, 1229, 0, + 889, 904, 900, 0, 900, 0, 924, 917, 923, 923, + 929, 973, 913, 918, 927, 963, 975, 0, 984, 979, + 980, 1020, 982, 996, 0, 377, 0, 369, 1059, 2354, + 1292, 1354, 1114, 0, 0, 0, 1029, 1079, 0, 2354, + 2354, 1002, 1035, 952, 1017, 2354, 1019, 2354, 2354, 2354, + 2354, 1032, 2354, 2354, 1124, 2354, 2354, 2354, 2354, 2354, + 2354, 2354, 2354, 1033, 0, 0, 498, 486, 0, 0, + 847, 1404, 1144, 1178, 554, 2354, 2354, 1085, 1085, 2354, + 1030, 1143, 490, 431, 1150, 1138, 1143, 1144, 1171, 1172, + 1154, 1178, 1206, 1213, 1223, 1222, 1233, 1238, 1231, 0, - 1245, 1218, 1245, 1229, 1235, 1239, 1237, 1237, 1234, 1240, - 1254, 1263, 1291, 1298, 1311, 1295, 1292, 1279, 1275, 1300, - 0, 1295, 1300, 1301, 1309, 1408, 1324, 1353, 1405, 0, - 0, 1337, 1356, 1347, 1348, 1376, 1380, 1364, 1405, 1422, - 1423, 619, 1485, 1508, 0, 0, 0, 0, 1418, 2482, - 1389, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 1419, - 2482, 2482, 2482, 2482, 2482, 2482, 2482, 2482, 1536, 1476, - 1518, 401, 600, 587, 1435, 1440, 1443, 1481, 1532, 1510, - 0, 1481, 1520, 1521, 1528, 1528, 0, 1534, 1535, 1536, - 1537, 1528, 1546, 1549, 1553, 0, 1542, 0, 1542, 0, + 1240, 1227, 1242, 1226, 1232, 1236, 1234, 1270, 1267, 1273, + 1287, 1271, 1288, 1399, 1299, 1300, 1297, 1284, 1280, 1292, + 0, 1289, 1301, 1321, 1339, 1408, 1329, 1346, 1398, 0, + 0, 1330, 1349, 1356, 1357, 1369, 1374, 1379, 1405, 1416, + 1415, 451, 1482, 1505, 0, 0, 0, 0, 1409, 2354, + 1208, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 1411, + 2354, 2354, 2354, 2354, 2354, 2354, 2354, 2354, 1532, 1379, + 1471, 611, 2354, 2354, 1420, 1427, 1464, 1448, 1528, 1459, + 0, 1476, 1471, 1489, 1496, 1497, 0, 1503, 1526, 1520, + 1523, 1521, 1539, 1540, 1549, 0, 1533, 0, 1528, 0, - 0, 0, 0, 1558, 1558, 0, 526, 1548, 1581, 1569, - 1564, 0, 1572, 0, 0, 1587, 1571, 0, 1568, 1575, - 1575, 1575, 1591, 1577, 1595, 1584, 524, 1599, 1597, 513, - 1601, 0, 0, 1605, 1604, 1598, 1602, 1608, 1621, 0, - 551, 1668, 522, 511, 2482, 2482, 2482, 2482, 2482, 2482, - 2482, 2482, 1676, 1699, 1707, 523, 1710, 1762, 491, 1637, - 1642, 1637, 1632, 1628, 1631, 0, 413, 0, 0, 1686, - 1699, 1699, 1698, 1700, 1715, 1715, 1721, 1720, 1714, 1729, - 1716, 1733, 1735, 1735, 1749, 1742, 1743, 1763, 0, 1769, - 0, 0, 1767, 1753, 0, 1755, 1758, 1759, 1769, 1772, + 0, 0, 0, 1530, 1528, 0, 392, 1542, 1551, 1539, + 1535, 0, 1542, 0, 0, 1551, 1556, 0, 1558, 1567, + 1567, 1567, 1583, 1569, 1586, 1575, 379, 1590, 1588, 373, + 1591, 0, 0, 1595, 1594, 1588, 1591, 1596, 1603, 0, + 406, 1649, 410, 406, 2354, 2354, 2354, 2354, 2354, 2354, + 2354, 2354, 1657, 1680, 1688, 633, 2354, 1623, 1629, 1648, + 1667, 1664, 1673, 0, 345, 0, 0, 1674, 1679, 1676, + 1675, 1677, 1692, 1690, 1694, 1689, 1683, 1698, 1685, 1701, + 1701, 1697, 1710, 1697, 1696, 1710, 0, 1715, 0, 0, + 1719, 1709, 0, 1712, 1718, 1717, 1727, 1732, 1731, 0, - 1773, 0, 1778, 1767, 1772, 0, 1778, 0, 0, 1776, - 0, 447, 367, 270, 0, 1841, 1864, 1872, 610, 2482, - 2482, 2482, 2482, 1875, 2482, 1810, 0, 1837, 1838, 1840, - 1865, 1863, 1873, 1876, 1875, 1866, 219, 0, 0, 1886, - 0, 0, 0, 0, 0, 1891, 1871, 1875, 1886, 0, - 1894, 0, 1897, 0, 1900, 0, 0, 1910, 1881, 1917, - 0, 1904, 0, 1917, 256, 0, 2482, 2482, 2482, 148, - 1969, 1992, 2000, 632, 2482, 2482, 1930, 1932, 1920, 1937, - 1936, 1949, 1990, 0, 0, 1982, 1989, 1993, 0, 2004, - 0, 2006, 2007, 1990, 2000, 1994, 2008, 2013, 2008, 2015, + 1734, 1723, 1728, 0, 1733, 0, 0, 1730, 0, 386, + 271, 142, 0, 1794, 1817, 1825, 656, 2354, 1759, 0, + 1763, 1764, 1765, 1810, 1789, 1815, 1815, 1820, 1811, 77, + 0, 0, 1829, 0, 0, 0, 0, 0, 1834, 1814, + 1818, 1829, 0, 1836, 0, 1835, 0, 1838, 0, 0, + 1841, 1826, 1847, 0, 1832, 0, 1844, 108, 0, 2354, + 2354, 2354, 93, 1895, 1918, 1926, 699, 1859, 1889, 1877, + 1919, 1924, 1913, 1927, 0, 0, 1919, 1920, 1924, 0, + 1935, 0, 1937, 1938, 1921, 1931, 1925, 1939, 1944, 1939, + 1946, 1938, 0, 78, 0, 2354, 1993, 2016, 2024, 719, - 2007, 0, 135, 0, 2482, 2063, 2086, 2094, 654, 2018, - 0, 2013, 2056, 2061, 2054, 2062, 2084, 2081, 2099, 2096, - 2081, 2089, 2089, 2101, 0, 2089, 2102, 2105, 2097, 2108, - 0, 0, 77, 0, 0, 0, 708, 0, 0, 0, - 2110, 2096, 2112, 0, 2094, 2120, 2108, 2118, 2104, 0, - 0, 0, 2119, 2128, 2124, 2120, 2132, 2482, 2482, 0, - 2144, 0, 0, 2148, 2136, 0, 0, 2136, 2137, 2139, - 0, 2140, 0, 2148, 0, 0, 0, 0, 0, 0, - 2482, 2219, 2234, 2249, 2264, 566, 2274, 2289, 2296, 2311, - 2326, 2340, 2353, 2360, 2367, 2374, 2381, 2393, 2400, 2410, + 1951, 0, 1972, 1988, 2018, 2018, 2003, 2016, 2013, 2031, + 2028, 2013, 2021, 2021, 2033, 0, 2021, 2034, 2037, 2029, + 2040, 0, 0, 76, 0, 0, 0, 793, 0, 0, + 0, 2043, 2029, 2045, 0, 2027, 2056, 2052, 2062, 2048, + 0, 0, 0, 2068, 2071, 2068, 2061, 2070, 2354, 2354, + 0, 2078, 0, 0, 2079, 2067, 0, 0, 2067, 2068, + 2070, 0, 2072, 0, 2080, 0, 0, 0, 0, 0, + 0, 2354, 2150, 2164, 2178, 2192, 1011, 2201, 2215, 2221, + 2235, 2249, 2262, 2275, 2281, 2287, 2293, 2299, 2310, 2317, + 2327, 880, 2333, 1016, 2340, 1055, 1074, 1076, 1156 - 724, 2416, 2429, 2444, 836, 2453, 895, 2466, 968, 1079, - 1163 } ; -static yyconst flex_int16_t yy_def[712] = +static yyconst flex_int16_t yy_def[700] = { 0, - 681, 1, 1, 3, 681, 5, 682, 682, 683, 683, - 681, 11, 1, 13, 13, 15, 15, 15, 684, 684, - 685, 685, 3, 3, 681, 681, 681, 681, 681, 686, - 681, 681, 681, 681, 687, 681, 36, 36, 38, 681, - 681, 36, 42, 42, 42, 42, 681, 681, 681, 681, - 681, 681, 681, 688, 681, 681, 681, 681, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 681, 690, 690, 681, 690, 690, 691, 691, - 691, 681, 681, 681, 687, 36, 38, 681, 692, 692, + 672, 1, 1, 3, 672, 5, 673, 673, 674, 674, + 672, 11, 1, 13, 13, 15, 15, 15, 675, 675, + 676, 676, 3, 3, 672, 672, 672, 672, 672, 677, + 672, 672, 672, 672, 678, 672, 36, 36, 38, 672, + 672, 36, 42, 42, 42, 42, 672, 672, 672, 672, + 672, 672, 672, 679, 672, 672, 672, 672, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 672, 681, 681, 672, 681, 681, 682, 682, + 682, 672, 672, 672, 678, 36, 38, 672, 683, 683, - 100, 100, 100, 100, 692, 105, 105, 105, 105, 105, - 681, 681, 681, 681, 681, 681, 681, 681, 681, 42, - 42, 681, 681, 681, 681, 681, 693, 694, 694, 694, - 694, 694, 695, 681, 681, 681, 681, 681, 686, 681, - 681, 681, 681, 681, 681, 681, 696, 697, 681, 149, - 149, 149, 149, 681, 681, 681, 681, 681, 681, 681, - 681, 681, 681, 681, 688, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 100, 100, 100, 100, 683, 105, 105, 105, 105, 105, + 672, 672, 672, 672, 672, 672, 672, 672, 672, 42, + 42, 672, 672, 672, 672, 672, 684, 685, 685, 685, + 685, 685, 686, 672, 672, 672, 672, 672, 677, 672, + 672, 672, 672, 672, 672, 672, 687, 688, 672, 149, + 149, 149, 149, 672, 672, 672, 672, 672, 672, 672, + 672, 672, 672, 672, 679, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 690, 690, 691, 149, 681, 681, - 698, 698, 698, 232, 232, 233, 233, 233, 233, 681, - 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, - 681, 151, 681, 681, 681, 681, 681, 681, 681, 681, - 681, 681, 681, 681, 693, 694, 694, 694, 695, 696, - 697, 681, 272, 272, 272, 681, 681, 681, 681, 681, - 681, 681, 688, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 681, 681, 682, 149, 672, 672, + 689, 689, 689, 232, 232, 233, 233, 233, 233, 672, + 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, + 672, 151, 672, 672, 672, 672, 672, 672, 672, 672, + 672, 672, 672, 672, 684, 685, 685, 685, 686, 687, + 688, 672, 272, 272, 272, 672, 672, 672, 672, 672, + 672, 672, 679, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 699, 700, 700, 344, 344, 344, 344, 681, 681, - 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, - 681, 681, 681, 681, 681, 681, 681, 681, 681, 369, - 369, 369, 681, 681, 681, 681, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 690, 691, 691, 344, 344, 344, 344, 672, 672, + 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, + 672, 672, 672, 672, 672, 672, 672, 672, 672, 369, + 369, 369, 672, 672, 672, 672, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 701, - 702, 681, 371, 681, 681, 681, 681, 681, 681, 681, - 681, 681, 681, 453, 453, 453, 703, 704, 681, 681, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 692, + 693, 672, 371, 672, 672, 672, 672, 672, 672, 672, + 672, 672, 672, 453, 453, 453, 672, 672, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 705, 706, 681, 681, 707, 681, 516, 516, 516, 681, - 681, 681, 681, 708, 681, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 681, 709, 681, 681, 681, 681, - 681, 571, 571, 571, 681, 681, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, + 680, 680, 680, 680, 680, 680, 680, 680, 694, 695, + 672, 672, 696, 672, 514, 514, 514, 672, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 672, 697, 672, + 672, 672, 672, 672, 564, 564, 564, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 672, 698, 672, 672, 597, 597, 597, - 689, 689, 681, 710, 681, 681, 606, 606, 606, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 711, 681, 606, 607, 608, 606, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 681, 681, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, - 0, 681, 681, 681, 681, 681, 681, 681, 681, 681, - 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 699, 672, 597, 598, 599, 597, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 672, 672, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 680, 680, 680, 680, 680, 680, 680, 680, 680, + 680, 0, 672, 672, 672, 672, 672, 672, 672, 672, + 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, + 672, 672, 672, 672, 672, 672, 672, 672, 672 - 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, - 681 } ; -static yyconst flex_int16_t yy_nxt[2570] = +static yyconst flex_int16_t yy_nxt[2441] = { 0, 26, 27, 28, 27, 26, 29, 26, 30, 31, 32, 26, 26, 33, 34, 35, 36, 37, 36, 36, 36, 36, 36, 36, 38, 39, 26, 40, 26, 41, 26, 26, 26, 42, 43, 44, 45, 46, 42, 26, 47, 48, 26, 26, 49, 26, 26, 50, 26, 26, 26, - 51, 52, 26, 26, 26, 53, 26, 26, 26, 26, - 42, 43, 44, 45, 46, 42, 26, 47, 48, 26, - 49, 26, 26, 50, 26, 26, 26, 51, 52, 26, - 26, 26, 53, 26, 26, 26, 26, 54, 659, 26, - 26, 26, 158, 138, 26, 138, 26, 26, 26, 26, + 51, 52, 26, 26, 26, 53, 26, 26, 26, 42, + 43, 44, 45, 46, 42, 26, 47, 48, 26, 49, + 26, 26, 50, 26, 26, 26, 51, 52, 26, 26, + 26, 53, 26, 26, 26, 26, 54, 650, 26, 26, + 26, 623, 138, 26, 138, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 157, 26, 140, - 140, 27, 28, 27, 26, 26, 26, 26, 26, 26, - 158, 26, 26, 90, 159, 26, 152, 153, 26, 27, - 28, 27, 26, 26, 157, 162, 163, 26, 91, 228, - 228, 90, 26, 26, 26, 26, 26, 26, 632, 26, - 26, 159, 26, 267, 268, 26, 91, 140, 140, 26, - 26, 605, 162, 163, 26, 26, 27, 28, 27, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 34, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 55, 26, 41, 56, 57, 58, 59, 60, 61, + 26, 26, 26, 26, 26, 26, 596, 26, 140, 140, + 27, 28, 27, 26, 26, 26, 26, 26, 26, 594, + 26, 26, 90, 157, 26, 152, 153, 26, 143, 144, + 145, 26, 26, 146, 158, 579, 26, 91, 228, 228, + 26, 26, 26, 26, 26, 26, 147, 26, 26, 157, + 26, 147, 147, 26, 226, 562, 226, 26, 26, 267, + 268, 158, 26, 26, 27, 28, 27, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 34, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 55, + 26, 41, 56, 57, 58, 59, 60, 61, 62, 63, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 68, 73, 74, 75, 76, 77, 78, 68, 79, - 80, 81, 82, 26, 68, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 69, 70, 71, 72, 68, 73, - 74, 75, 76, 77, 78, 68, 79, 80, 81, 82, - 26, 83, 85, 28, 85, 164, 86, 85, 28, 85, - 226, 86, 226, 138, 87, 138, 226, 603, 226, 87, - 141, 141, 141, 141, 141, 141, 141, 141, 588, 88, - 275, 275, 164, 569, 88, 26, 27, 28, 27, 26, - 26, 92, 30, 31, 32, 93, 94, 33, 34, 95, + 64, 65, 66, 67, 68, 69, 70, 71, 72, 68, + 73, 74, 75, 76, 77, 78, 68, 79, 80, 81, + 82, 68, 59, 60, 61, 62, 63, 64, 65, 66, + 67, 69, 70, 71, 72, 68, 73, 74, 75, 76, + 77, 78, 68, 79, 80, 81, 82, 26, 83, 85, + 28, 85, 159, 86, 85, 28, 85, 162, 86, 163, + 164, 87, 27, 28, 27, 255, 87, 256, 257, 258, + 259, 260, 261, 262, 90, 138, 88, 138, 159, 140, + 140, 88, 270, 162, 561, 163, 164, 270, 270, 91, + 26, 27, 28, 27, 26, 26, 92, 30, 31, 32, - 36, 96, 36, 36, 36, 36, 36, 36, 97, 97, - 98, 26, 26, 41, 26, 26, 26, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 105, 105, 108, 105, + 93, 94, 33, 34, 95, 36, 96, 36, 36, 36, + 36, 36, 36, 97, 97, 98, 26, 26, 41, 26, + 26, 26, 99, 100, 101, 102, 103, 104, 105, 106, + 107, 105, 105, 108, 105, 105, 105, 105, 105, 105, + 105, 105, 105, 105, 105, 109, 110, 105, 26, 99, + 100, 101, 102, 103, 104, 105, 106, 107, 105, 108, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 109, 110, 105, 26, 26, 99, 100, 101, 102, 103, - 104, 105, 106, 107, 105, 108, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 109, 110, 105, - 26, 26, 111, 26, 188, 372, 372, 112, 113, 114, - 568, 195, 115, 142, 142, 142, 142, 142, 142, 142, - 142, 142, 142, 205, 26, 116, 117, 118, 229, 230, + 105, 109, 110, 105, 26, 26, 111, 26, 226, 188, + 226, 112, 113, 114, 275, 275, 115, 141, 141, 141, + 141, 141, 141, 141, 141, 189, 559, 195, 26, 116, - 229, 42, 188, 42, 42, 160, 220, 26, 26, 195, - 186, 26, 189, 161, 26, 210, 456, 456, 26, 26, - 187, 205, 230, 221, 222, 143, 144, 145, 190, 42, - 146, 42, 42, 160, 220, 26, 26, 186, 26, 189, - 161, 26, 210, 147, 191, 26, 26, 187, 147, 147, - 221, 222, 223, 119, 26, 26, 190, 566, 211, 32, - 26, 26, 212, 270, 26, 224, 96, 231, 270, 270, - 231, 191, 531, 97, 97, 236, 231, 26, 41, 26, - 223, 239, 120, 134, 42, 135, 211, 121, 26, 136, - 212, 200, 224, 201, 524, 231, 137, 122, 231, 123, + 117, 118, 160, 524, 186, 42, 188, 42, 42, 513, + 161, 26, 26, 513, 187, 26, 205, 26, 26, 510, + 210, 189, 26, 26, 195, 192, 190, 193, 223, 160, + 186, 501, 42, 194, 42, 42, 161, 498, 26, 26, + 187, 26, 191, 205, 26, 134, 210, 135, 26, 26, + 482, 136, 192, 190, 193, 223, 119, 26, 137, 194, + 222, 440, 32, 26, 26, 231, 211, 26, 191, 96, + 212, 231, 134, 224, 135, 236, 97, 97, 136, 231, + 26, 41, 26, 252, 137, 120, 222, 42, 167, 377, + 121, 26, 231, 211, 239, 283, 168, 212, 231, 224, - 124, 202, 236, 203, 231, 125, 126, 204, 239, 252, - 120, 134, 42, 135, 515, 121, 134, 136, 135, 200, - 254, 201, 136, 137, 122, 515, 123, 124, 202, 137, - 203, 253, 125, 126, 204, 26, 127, 252, 519, 519, - 263, 192, 42, 193, 134, 167, 135, 42, 254, 194, - 136, 237, 238, 168, 164, 264, 137, 26, 253, 26, - 26, 169, 170, 278, 512, 53, 26, 263, 281, 192, - 42, 193, 503, 167, 139, 42, 194, 139, 237, 238, - 168, 164, 264, 500, 26, 484, 26, 26, 169, 170, - 458, 278, 53, 26, 127, 281, 681, 681, 681, 279, + 122, 236, 123, 124, 169, 170, 231, 253, 125, 126, + 252, 277, 120, 254, 42, 167, 231, 121, 235, 134, + 239, 135, 168, 276, 263, 136, 122, 283, 123, 124, + 169, 170, 137, 253, 125, 126, 220, 26, 127, 164, + 254, 275, 275, 231, 42, 235, 134, 156, 135, 42, + 263, 276, 136, 221, 196, 171, 155, 197, 137, 26, + 198, 26, 26, 220, 199, 164, 172, 53, 26, 372, + 372, 42, 173, 174, 175, 278, 42, 176, 264, 221, + 154, 196, 171, 197, 251, 26, 198, 26, 26, 281, + 199, 250, 172, 53, 26, 127, 237, 238, 173, 174, - 42, 681, 231, 457, 235, 42, 150, 150, 150, 150, - 150, 150, 150, 150, 147, 26, 154, 26, 26, 147, - 147, 275, 275, 53, 26, 574, 574, 279, 42, 440, - 231, 276, 235, 42, 141, 141, 141, 141, 141, 141, - 141, 141, 26, 280, 26, 26, 282, 609, 609, 377, + 175, 42, 278, 176, 264, 279, 42, 150, 150, 150, + 150, 150, 150, 150, 150, 281, 26, 154, 26, 26, + 275, 275, 237, 238, 53, 26, 456, 456, 42, 249, + 277, 248, 279, 42, 141, 141, 141, 141, 141, 141, + 141, 141, 26, 280, 26, 26, 282, 284, 517, 517, 53, 26, 26, 27, 28, 27, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 34, 26, 283, 129, 637, - 637, 280, 277, 284, 282, 130, 131, 26, 26, 26, - 41, 26, 26, 26, 285, 286, 132, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 196, 275, 275, + 26, 26, 26, 26, 26, 34, 26, 240, 129, 672, + 280, 567, 567, 282, 284, 130, 131, 26, 26, 26, + 41, 26, 26, 26, 156, 285, 132, 142, 142, 142, + 142, 142, 142, 142, 142, 142, 142, 151, 151, 151, - 197, 284, 289, 198, 290, 291, 276, 199, 277, 241, - 26, 285, 286, 283, 132, 141, 141, 141, 141, 141, - 141, 141, 141, 637, 637, 196, 293, 197, 303, 289, - 198, 292, 290, 291, 199, 511, 511, 26, 26, 26, - 27, 28, 27, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 34, 26, 293, 129, 303, 296, 292, 302, - 171, 287, 130, 131, 26, 26, 26, 41, 26, 26, - 26, 172, 288, 132, 313, 206, 156, 173, 174, 175, - 177, 155, 176, 178, 296, 207, 302, 179, 171, 287, - 306, 208, 294, 295, 180, 181, 209, 26, 172, 288, + 151, 151, 151, 151, 151, 151, 151, 672, 672, 672, + 241, 285, 672, 132, 600, 600, 141, 141, 141, 141, + 141, 141, 141, 141, 155, 147, 672, 286, 672, 289, + 147, 147, 290, 291, 628, 628, 26, 26, 26, 27, + 28, 27, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 34, 26, 286, 129, 289, 292, 296, 672, 290, + 291, 130, 131, 26, 26, 26, 41, 26, 26, 26, + 177, 242, 132, 178, 182, 293, 287, 179, 183, 672, + 302, 184, 292, 296, 180, 181, 243, 288, 244, 245, + 185, 294, 295, 306, 246, 247, 672, 177, 242, 132, - 154, 132, 313, 206, 173, 174, 175, 251, 177, 176, - 250, 178, 207, 249, 307, 179, 308, 306, 208, 294, - 295, 180, 181, 209, 26, 26, 26, 27, 28, 27, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 34, - 26, 307, 182, 308, 242, 319, 183, 565, 565, 184, - 248, 26, 26, 26, 41, 26, 26, 26, 185, 243, - 309, 244, 245, 300, 301, 310, 311, 246, 247, 240, - 182, 681, 242, 319, 183, 255, 184, 256, 257, 258, - 259, 260, 261, 262, 26, 185, 243, 309, 244, 245, - 300, 301, 310, 311, 246, 247, 142, 142, 142, 142, + 178, 182, 293, 287, 179, 183, 302, 184, 628, 628, + 180, 181, 243, 288, 244, 245, 185, 294, 295, 306, + 246, 247, 26, 26, 26, 27, 28, 27, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 34, 26, 300, + 301, 672, 303, 672, 307, 308, 200, 206, 201, 26, + 26, 26, 41, 26, 26, 26, 202, 207, 203, 309, + 304, 672, 204, 208, 310, 300, 301, 305, 209, 303, + 307, 308, 270, 200, 206, 201, 672, 270, 270, 311, + 312, 672, 202, 207, 203, 309, 672, 304, 204, 208, + 310, 509, 509, 305, 209, 142, 142, 142, 142, 142, - 142, 142, 142, 142, 142, 142, 570, 570, 156, 312, - 314, 26, 26, 26, 27, 28, 27, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 34, 26, 273, 273, - 273, 273, 273, 273, 273, 273, 312, 314, 26, 26, - 26, 41, 26, 26, 26, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 297, 317, 304, 155, 315, - 318, 320, 681, 298, 305, 299, 316, 321, 322, 323, - 351, 26, 352, 353, 354, 355, 356, 357, 358, 604, - 604, 681, 297, 317, 333, 304, 315, 318, 337, 320, - 298, 305, 299, 316, 681, 321, 322, 323, 26, 26, + 142, 142, 142, 142, 142, 311, 312, 313, 26, 26, + 26, 27, 28, 27, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 34, 26, 273, 273, 273, 273, 273, + 273, 273, 273, 314, 313, 26, 26, 26, 41, 26, + 26, 26, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 297, 317, 315, 318, 319, 320, 321, 314, + 298, 316, 299, 322, 323, 672, 328, 329, 351, 672, + 352, 353, 354, 355, 356, 357, 358, 672, 297, 317, + 315, 318, 330, 319, 320, 321, 298, 316, 299, 672, + 322, 323, 328, 329, 26, 26, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 150, 150, - 328, 324, 333, 329, 330, 325, 337, 151, 151, 151, - 151, 151, 151, 681, 334, 681, 270, 326, 327, 681, - 331, 270, 270, 332, 335, 681, 336, 328, 340, 324, - 329, 330, 359, 325, 341, 151, 151, 151, 151, 151, - 151, 213, 334, 214, 326, 327, 215, 331, 216, 217, - 332, 335, 218, 336, 338, 340, 349, 350, 373, 359, - 219, 681, 341, 345, 347, 681, 360, 346, 348, 213, - 339, 214, 361, 368, 215, 681, 216, 217, 681, 218, - 633, 633, 338, 681, 349, 350, 373, 219, 229, 230, + 149, 149, 149, 149, 150, 150, 331, 324, 330, 332, + 333, 325, 337, 151, 151, 151, 151, 151, 151, 139, + 334, 672, 139, 326, 327, 672, 336, 558, 558, 672, + 335, 341, 331, 340, 324, 332, 349, 333, 325, 337, + 151, 151, 151, 151, 151, 151, 213, 334, 214, 326, + 327, 215, 336, 216, 217, 338, 335, 218, 341, 340, + 229, 230, 229, 349, 359, 219, 563, 563, 345, 350, + 672, 339, 346, 213, 360, 214, 361, 368, 215, 375, + 216, 217, 338, 218, 230, 595, 595, 624, 624, 672, + 359, 219, 229, 230, 229, 345, 350, 339, 346, 672, - 229, 345, 347, 360, 346, 348, 681, 339, 681, 361, - 368, 681, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 230, 342, 374, 681, 375, 376, 378, 231, - 231, 231, 231, 231, 232, 681, 681, 681, 681, 681, - 681, 681, 681, 681, 681, 362, 363, 364, 365, 366, - 367, 681, 374, 375, 681, 376, 378, 231, 231, 231, - 231, 231, 232, 681, 681, 681, 370, 370, 370, 370, - 370, 370, 370, 370, 658, 658, 681, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 681, 379, 380, - 381, 382, 384, 383, 231, 231, 234, 231, 231, 231, + 360, 672, 361, 368, 672, 375, 151, 151, 151, 151, + 151, 151, 151, 151, 151, 151, 230, 342, 347, 373, + 374, 672, 348, 231, 231, 231, 231, 231, 232, 672, + 672, 672, 672, 672, 672, 672, 672, 672, 672, 362, + 363, 364, 365, 366, 367, 347, 373, 374, 348, 672, + 231, 231, 231, 231, 231, 232, 672, 672, 672, 370, + 370, 370, 370, 370, 370, 370, 370, 649, 649, 672, + 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, + 672, 376, 378, 672, 379, 380, 381, 231, 231, 234, + 231, 231, 231, 371, 371, 371, 371, 371, 371, 371, - 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, - 385, 386, 387, 390, 681, 379, 380, 381, 681, 382, - 384, 383, 231, 231, 234, 231, 231, 231, 681, 681, - 681, 681, 681, 681, 681, 681, 391, 385, 386, 387, - 392, 390, 681, 681, 681, 681, 681, 681, 681, 681, - 681, 681, 681, 272, 272, 272, 272, 272, 272, 272, - 272, 273, 273, 388, 391, 396, 389, 393, 392, 394, - 274, 274, 274, 274, 274, 274, 681, 395, 397, 681, - 398, 399, 400, 401, 402, 403, 404, 405, 681, 681, - 388, 681, 396, 389, 681, 393, 681, 394, 274, 274, + 371, 371, 371, 382, 384, 383, 672, 385, 376, 378, + 379, 380, 381, 672, 231, 231, 234, 231, 231, 231, + 672, 672, 672, 446, 447, 448, 449, 450, 451, 386, + 382, 384, 383, 385, 672, 672, 672, 672, 672, 672, + 672, 672, 672, 672, 672, 272, 272, 272, 272, 272, + 272, 272, 272, 273, 273, 386, 387, 388, 390, 672, + 389, 391, 274, 274, 274, 274, 274, 274, 672, 392, + 393, 394, 395, 672, 396, 397, 672, 398, 399, 400, + 401, 672, 387, 388, 672, 390, 389, 672, 391, 274, + 274, 274, 274, 274, 274, 342, 392, 393, 394, 395, - 274, 274, 274, 274, 342, 395, 397, 398, 399, 400, - 401, 402, 403, 404, 406, 405, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 407, 413, 414, 681, - 415, 416, 408, 343, 343, 343, 343, 343, 343, 681, - 419, 406, 409, 411, 681, 417, 418, 420, 410, 421, - 412, 681, 681, 681, 407, 413, 414, 415, 416, 681, - 408, 343, 343, 343, 343, 343, 343, 342, 419, 409, - 681, 411, 417, 418, 420, 410, 426, 421, 412, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 427, - 681, 430, 431, 681, 432, 433, 343, 343, 343, 343, + 396, 672, 397, 398, 399, 400, 401, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 402, 403, 404, + 405, 672, 406, 407, 343, 343, 343, 343, 343, 343, + 672, 411, 413, 414, 672, 415, 416, 417, 412, 672, + 418, 419, 672, 402, 403, 404, 672, 405, 406, 672, + 407, 343, 343, 343, 343, 343, 343, 342, 411, 413, + 414, 415, 416, 417, 672, 412, 418, 420, 419, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 421, + 672, 426, 427, 672, 430, 431, 343, 343, 343, 343, + 343, 343, 672, 420, 454, 454, 454, 454, 454, 454, - 343, 343, 681, 426, 446, 447, 448, 449, 450, 451, - 681, 681, 434, 681, 435, 681, 436, 427, 430, 681, - 431, 432, 433, 681, 343, 343, 343, 343, 343, 343, - 369, 369, 369, 369, 369, 369, 369, 369, 370, 370, - 434, 428, 435, 436, 422, 437, 423, 371, 371, 371, - 371, 371, 371, 681, 424, 429, 438, 681, 425, 439, - 681, 681, 445, 452, 681, 681, 681, 681, 681, 428, - 681, 459, 422, 437, 423, 371, 371, 371, 371, 371, - 371, 424, 429, 460, 438, 425, 461, 439, 442, 445, - 452, 454, 454, 454, 454, 454, 454, 454, 454, 459, + 454, 454, 672, 432, 433, 434, 421, 426, 435, 427, + 430, 672, 431, 343, 343, 343, 343, 343, 343, 369, + 369, 369, 369, 369, 369, 369, 369, 370, 370, 432, + 433, 436, 434, 408, 428, 435, 371, 371, 371, 371, + 371, 371, 672, 409, 422, 437, 423, 672, 429, 410, + 438, 439, 672, 445, 424, 452, 457, 436, 425, 672, + 408, 428, 672, 371, 371, 371, 371, 371, 371, 409, + 458, 422, 437, 423, 429, 410, 672, 438, 439, 445, + 424, 452, 460, 457, 425, 442, 455, 455, 455, 455, + 455, 455, 455, 455, 455, 455, 458, 371, 371, 371, - 371, 371, 371, 371, 371, 371, 371, 371, 371, 371, - 460, 442, 681, 461, 681, 462, 466, 443, 443, 443, - 443, 443, 443, 681, 681, 681, 681, 681, 681, 681, - 681, 681, 681, 455, 455, 455, 455, 455, 455, 455, - 455, 455, 455, 462, 466, 443, 443, 443, 443, 443, - 443, 453, 453, 453, 453, 453, 453, 453, 453, 454, - 454, 465, 467, 468, 469, 470, 471, 472, 455, 455, - 455, 455, 455, 455, 681, 463, 473, 474, 681, 475, - 476, 681, 464, 477, 681, 480, 478, 485, 465, 467, - 468, 481, 469, 470, 471, 472, 455, 455, 455, 455, + 371, 371, 371, 371, 371, 371, 371, 459, 442, 460, + 463, 464, 672, 465, 443, 443, 443, 443, 443, 443, + 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, + 672, 466, 467, 459, 468, 469, 463, 672, 464, 465, + 672, 443, 443, 443, 443, 443, 443, 453, 453, 453, + 453, 453, 453, 453, 453, 454, 454, 466, 470, 467, + 471, 468, 469, 472, 455, 455, 455, 455, 455, 455, + 672, 461, 473, 474, 475, 672, 478, 479, 462, 480, + 481, 483, 476, 484, 488, 470, 485, 471, 486, 487, + 472, 455, 455, 455, 455, 455, 455, 461, 473, 477, - 455, 455, 463, 479, 473, 474, 475, 482, 476, 464, - 483, 477, 480, 486, 478, 485, 487, 488, 481, 489, - 490, 681, 491, 492, 493, 494, 495, 496, 681, 497, - 479, 498, 681, 499, 482, 501, 502, 483, 504, 505, - 506, 486, 507, 487, 488, 508, 489, 509, 490, 491, - 492, 493, 494, 495, 510, 496, 497, 681, 681, 498, - 499, 681, 681, 501, 502, 681, 504, 505, 506, 507, - 681, 681, 508, 525, 526, 509, 527, 681, 528, 529, - 530, 681, 510, 514, 514, 514, 514, 514, 514, 514, - 514, 516, 516, 516, 516, 516, 516, 516, 516, 517, + 474, 475, 478, 479, 462, 480, 481, 489, 483, 476, + 484, 488, 485, 490, 486, 487, 491, 492, 493, 494, + 672, 495, 496, 672, 497, 477, 499, 500, 502, 503, + 504, 672, 505, 489, 506, 507, 508, 672, 672, 490, + 672, 672, 4... [truncated message content] |
From: <sk...@us...> - 2011-11-22 20:16:20
|
Revision: 24875 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=24875&view=rev Author: skoe Date: 2011-11-22 20:16:13 +0000 (Tue, 22 Nov 2011) Log Message: ----------- Show compact register dump when checkpoints are hit Modified Paths: -------------- trunk/vice/src/monitor/mon_breakpoint.c trunk/vice/src/monitor/mon_disassemble.c trunk/vice/src/monitor/mon_disassemble.h Modified: trunk/vice/src/monitor/mon_breakpoint.c =================================================================== --- trunk/vice/src/monitor/mon_breakpoint.c 2011-11-22 20:09:43 UTC (rev 24874) +++ trunk/vice/src/monitor/mon_breakpoint.c 2011-11-22 20:16:13 UTC (rev 24875) @@ -358,11 +358,16 @@ checkpoint_list_t *ptr; checkpoint_t *cp; checkpoint_list_t *list; + monitor_cpu_type_t *monitor_cpu; bool must_stop = FALSE; MON_ADDR instpc; const char *op_str; const char *action_str; + const char *dis_inst; + unsigned opc_size; + monitor_cpu = monitor_cpu_for_memspace[mem]; + switch (op) { case e_load: list = watchpoints_load[mem]; @@ -379,7 +384,7 @@ default: /* e_exec */ list = breakpoints[mem]; op_str = "exec"; - instpc = new_addr(mem, (monitor_cpu_for_memspace[mem]->mon_register_get_val)(mem, e_PC)); + instpc = new_addr(mem, (monitor_cpu->mon_register_get_val)(mem, e_PC)); break; } @@ -412,9 +417,14 @@ action_str = "Trace"; } - /*archdep_open_monitor_console(&mon_input, &mon_output);*/ - mon_out("#%d (%s %s %04x) ", cp->checknum, action_str, op_str, addr); - mon_disassemble_instr(instpc); + dis_inst = mon_disassemble_instr_ex(&opc_size, instpc); + mon_out("#%d (%s %5s %04x)\n", cp->checknum, action_str, op_str, addr); + if (monitor_cpu->mon_register_print_ex) { + mon_out("%-40s - %s\n", dis_inst, + monitor_cpu->mon_register_print_ex(mem)); + } else { + mon_out("%s\n", dis_inst); + } if (cp->command) { mon_out("Executing: %s\n", cp->command); @@ -468,9 +478,8 @@ { checkpoint_t *new_cp; MEMSPACE mem; - long len; - len = mon_evaluate_address_range(&start_addr, &end_addr, FALSE, 0); + mon_evaluate_address_range(&start_addr, &end_addr, FALSE, 0); new_cp = lib_malloc(sizeof(checkpoint_t)); new_cp->checknum = breakpoint_count++; Modified: trunk/vice/src/monitor/mon_disassemble.c =================================================================== --- trunk/vice/src/monitor/mon_disassemble.c 2011-11-22 20:09:43 UTC (rev 24874) +++ trunk/vice/src/monitor/mon_disassemble.c 2011-11-22 20:16:13 UTC (rev 24875) @@ -351,41 +351,54 @@ unsigned mon_disassemble_instr(MON_ADDR addr) { - BYTE op, p1, p2, p3; MEMSPACE mem; WORD loc; - int hex_mode = 1; char *label; - const char *dis_inst; unsigned opc_size; mem = addr_memspace(addr); loc = addr_location(addr); - op = mon_get_mem_val(mem, loc); - p1 = mon_get_mem_val(mem, (WORD)(loc + 1)); - p2 = mon_get_mem_val(mem, (WORD)(loc + 2)); - p3 = mon_get_mem_val(mem, (WORD)(loc + 3)); - /* Print the label for this location - if we have one */ label = mon_symbol_table_lookup_name(mem, loc); if (label) mon_out(".%s:%04x %s:\n", mon_memspace_string[mem], loc, label); - dis_inst = mon_disassemble_to_string_internal(mem, loc, op, p1, p2, p3, hex_mode, - &opc_size, monitor_cpu_for_memspace[mem]); - /* Print the disassembled instruction */ - mon_out(".%s:%04x %s\n", mon_memspace_string[mem], loc, dis_inst); + mon_out("%s\n", mon_disassemble_instr_ex(&opc_size, addr)); return opc_size; /* asm_addr_mode_get_size(asm_opcode_info_get(op)->addr_mode); */ } +const char* mon_disassemble_instr_ex(unsigned *opc_size, MON_ADDR addr) +{ + static char buff[256]; + BYTE op, p1, p2, p3; + MEMSPACE mem; + WORD loc; + int hex_mode = 1; + const char *dis_inst; + + mem = addr_memspace(addr); + loc = addr_location(addr); + + op = mon_get_mem_val(mem, loc); + p1 = mon_get_mem_val(mem, (WORD)(loc + 1)); + p2 = mon_get_mem_val(mem, (WORD)(loc + 2)); + p3 = mon_get_mem_val(mem, (WORD)(loc + 3)); + + dis_inst = mon_disassemble_to_string_internal(mem, loc, op, p1, p2, p3, hex_mode, + opc_size, monitor_cpu_for_memspace[mem]); + + sprintf(buff, ".%s:%04x %s", mon_memspace_string[mem], loc, dis_inst); + + return buff; +} + void mon_disassemble_lines(MON_ADDR start_addr, MON_ADDR end_addr) { MEMSPACE mem; - unsigned end_loc; long len, i, bytes; len = mon_evaluate_address_range(&start_addr, &end_addr, FALSE, @@ -398,7 +411,6 @@ mem = addr_memspace(start_addr); dot_addr[mem] = start_addr; - end_loc = addr_location(end_addr); i = 0; while (i <= len) { Modified: trunk/vice/src/monitor/mon_disassemble.h =================================================================== --- trunk/vice/src/monitor/mon_disassemble.h 2011-11-22 20:09:43 UTC (rev 24874) +++ trunk/vice/src/monitor/mon_disassemble.h 2011-11-22 20:16:13 UTC (rev 24875) @@ -39,5 +39,7 @@ extern unsigned mon_disassemble_instr(MON_ADDR addr); +extern const char* mon_disassemble_instr_ex(unsigned *opc_size, MON_ADDR addr); + #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2011-11-23 20:16:43
|
Revision: 24880 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=24880&view=rev Author: skoe Date: 2011-11-23 20:16:36 +0000 (Wed, 23 Nov 2011) Log Message: ----------- Monitor single step: Fewer lines printed, show registers after each step Modified Paths: -------------- trunk/vice/src/monitor/mon_breakpoint.c trunk/vice/src/monitor/mon_disassemble.c trunk/vice/src/monitor/mon_disassemble.h trunk/vice/src/monitor/monitor.c Modified: trunk/vice/src/monitor/mon_breakpoint.c =================================================================== --- trunk/vice/src/monitor/mon_breakpoint.c 2011-11-23 20:07:17 UTC (rev 24879) +++ trunk/vice/src/monitor/mon_breakpoint.c 2011-11-23 20:16:36 UTC (rev 24880) @@ -417,14 +417,8 @@ action_str = "Trace"; } - dis_inst = mon_disassemble_instr_ex(&opc_size, instpc); mon_out("#%d (%s %5s %04x)\n", cp->checknum, action_str, op_str, addr); - if (monitor_cpu->mon_register_print_ex) { - mon_out("%-40s - %s\n", dis_inst, - monitor_cpu->mon_register_print_ex(mem)); - } else { - mon_out("%s\n", dis_inst); - } + mon_disassemble_with_regdump(mem, instpc); if (cp->command) { mon_out("Executing: %s\n", cp->command); @@ -471,7 +465,7 @@ new_entry->next = cur_entry; } -static +static int breakpoint_add_checkpoint(MON_ADDR start_addr, MON_ADDR end_addr, bool stop, MEMORY_OP memory_op, bool is_temp, bool do_print) @@ -529,7 +523,7 @@ checkpoint_list_t *ptr; ptr = search_checkpoint_list(breakpoints[mem], addr); - + if (!ptr) return BP_NONE; @@ -543,7 +537,7 @@ checkpoint_list_t *ptr; ptr = search_checkpoint_list(breakpoints[mem], addr); - + if (ptr) { /* there's a breakpoint, so enable it */ ptr->checkpt->enabled = e_ON; @@ -561,7 +555,7 @@ checkpoint_list_t *ptr; ptr = search_checkpoint_list(breakpoints[mem], addr); - + if (ptr) { /* there's a breakpoint, so remove it */ remove_checkpoint_from_list( &breakpoints[mem], ptr->checkpt ); @@ -575,7 +569,7 @@ checkpoint_list_t *ptr; ptr = search_checkpoint_list(breakpoints[mem], addr); - + if (ptr) { /* there's a breakpoint, so enable it */ ptr->checkpt->enabled = e_ON; @@ -589,7 +583,7 @@ checkpoint_list_t *ptr; ptr = search_checkpoint_list(breakpoints[mem], addr); - + if (ptr) { /* there's a breakpoint, so disable it */ ptr->checkpt->enabled = e_OFF; Modified: trunk/vice/src/monitor/mon_disassemble.c =================================================================== --- trunk/vice/src/monitor/mon_disassemble.c 2011-11-23 20:07:17 UTC (rev 24879) +++ trunk/vice/src/monitor/mon_disassemble.c 2011-11-23 20:16:36 UTC (rev 24880) @@ -38,9 +38,11 @@ #include "types.h" #include "uimon.h" -const char *mon_disassemble_to_string_internal(MEMSPACE memspace, unsigned int addr, - unsigned int x, unsigned int p1, unsigned int p2, unsigned int p3, - int hex_mode, unsigned *opc_size_p, monitor_cpu_type_t *mon_cpu_type) + +static const char *mon_disassemble_to_string_internal(MEMSPACE memspace, + unsigned int addr, unsigned int x, unsigned int p1, unsigned int p2, + unsigned int p3, int hex_mode, unsigned *opc_size_p, + monitor_cpu_type_t *mon_cpu_type) { static char buff[256]; const char *string; @@ -333,11 +335,37 @@ return buff; } +static const char* mon_disassemble_instr_interal(unsigned *opc_size, + MON_ADDR addr) +{ + static char buff[256]; + BYTE op, p1, p2, p3; + MEMSPACE mem; + WORD loc; + int hex_mode = 1; + const char *dis_inst; + + mem = addr_memspace(addr); + loc = addr_location(addr); + + op = mon_get_mem_val(mem, loc); + p1 = mon_get_mem_val(mem, (WORD)(loc + 1)); + p2 = mon_get_mem_val(mem, (WORD)(loc + 2)); + p3 = mon_get_mem_val(mem, (WORD)(loc + 3)); + + dis_inst = mon_disassemble_to_string_internal(mem, loc, op, p1, p2, p3, hex_mode, + opc_size, monitor_cpu_for_memspace[mem]); + + sprintf(buff, ".%s:%04x %s", mon_memspace_string[mem], loc, dis_inst); + + return buff; +} + const char *mon_disassemble_to_string(MEMSPACE memspace, unsigned int addr, unsigned int x, unsigned int p1, unsigned int p2, unsigned int p3, int hex_mode, const char *cpu_type) { - return mon_disassemble_to_string_internal(memspace, addr, x, p1, p2, p3, + return mon_disassemble_to_string_internal(memspace, addr, x, p1, p2, p3, hex_mode, NULL, monitor_find_cpu_type_from_string(cpu_type)); } @@ -345,10 +373,11 @@ unsigned int x, unsigned int p1, unsigned int p2, unsigned int p3, int hex_mode, unsigned *opc_size_p) { - return mon_disassemble_to_string_internal(memspace, addr, x, p1, p2, p3, + return mon_disassemble_to_string_internal(memspace, addr, x, p1, p2, p3, hex_mode, opc_size_p, monitor_cpu_for_memspace[memspace]); } + unsigned mon_disassemble_instr(MON_ADDR addr) { MEMSPACE mem; @@ -365,37 +394,31 @@ mon_out(".%s:%04x %s:\n", mon_memspace_string[mem], loc, label); /* Print the disassembled instruction */ - mon_out("%s\n", mon_disassemble_instr_ex(&opc_size, addr)); + mon_out("%s\n", mon_disassemble_instr_interal(&opc_size, addr)); return opc_size; /* asm_addr_mode_get_size(asm_opcode_info_get(op)->addr_mode); */ } -const char* mon_disassemble_instr_ex(unsigned *opc_size, MON_ADDR addr) + +void mon_disassemble_with_regdump(MEMSPACE mem, unsigned int addr) { - static char buff[256]; - BYTE op, p1, p2, p3; - MEMSPACE mem; - WORD loc; - int hex_mode = 1; + monitor_cpu_type_t *monitor_cpu; const char *dis_inst; + unsigned opc_size; - mem = addr_memspace(addr); - loc = addr_location(addr); + monitor_cpu = monitor_cpu_for_memspace[mem]; - op = mon_get_mem_val(mem, loc); - p1 = mon_get_mem_val(mem, (WORD)(loc + 1)); - p2 = mon_get_mem_val(mem, (WORD)(loc + 2)); - p3 = mon_get_mem_val(mem, (WORD)(loc + 3)); + dis_inst = mon_disassemble_instr_interal(&opc_size, addr); + if (monitor_cpu->mon_register_print_ex) { + mon_out("%-40s - %s\n", dis_inst, + monitor_cpu->mon_register_print_ex(mem)); + } else { + mon_out("%s\n", dis_inst); + } +} - dis_inst = mon_disassemble_to_string_internal(mem, loc, op, p1, p2, p3, hex_mode, - opc_size, monitor_cpu_for_memspace[mem]); - sprintf(buff, ".%s:%04x %s", mon_memspace_string[mem], loc, dis_inst); - - return buff; -} - void mon_disassemble_lines(MON_ADDR start_addr, MON_ADDR end_addr) { MEMSPACE mem; @@ -421,4 +444,3 @@ break; } } - Modified: trunk/vice/src/monitor/mon_disassemble.h =================================================================== --- trunk/vice/src/monitor/mon_disassemble.h 2011-11-23 20:07:17 UTC (rev 24879) +++ trunk/vice/src/monitor/mon_disassemble.h 2011-11-23 20:16:36 UTC (rev 24880) @@ -35,11 +35,12 @@ extern const char *mon_disassemble_to_string_ex(MEMSPACE, unsigned int addr, unsigned int x, unsigned int p1, unsigned int p2, unsigned int p3, int hex_mode, unsigned *len); + +extern void mon_disassemble_with_regdump(MEMSPACE mem, unsigned int addr); + extern void mon_disassemble_lines(MON_ADDR start_addr, MON_ADDR end_addr); extern unsigned mon_disassemble_instr(MON_ADDR addr); -extern const char* mon_disassemble_instr_ex(unsigned *opc_size, MON_ADDR addr); - #endif Modified: trunk/vice/src/monitor/monitor.c =================================================================== --- trunk/vice/src/monitor/monitor.c 2011-11-23 20:07:17 UTC (rev 24879) +++ trunk/vice/src/monitor/monitor.c 2011-11-23 20:16:36 UTC (rev 24880) @@ -6,6 +6,7 @@ * Ettore Perazzoli <et...@co...> * Andreas Boose <vic...@t-...> * Daniel Kahlin <da...@ka...> + * Thomas Giesel <sk...@di...> * * This file is part of VICE, the Versatile Commodore Emulator. * See README for copyright notice. @@ -511,7 +512,7 @@ if (!mon_interfaces[mem]->mem_bank_list) { return NULL; } - + bnp = mon_interfaces[mem]->mem_bank_list(); while (*bnp) { if (mon_interfaces[mem]->mem_bank_from_name(*bnp) == mon_interfaces[mem]->current_bank) { @@ -704,7 +705,7 @@ BYTE reg_a, BYTE reg_x, BYTE reg_y, - BYTE reg_sp, + BYTE reg_sp, unsigned int reg_st) { ++cpuhistory_i; @@ -738,7 +739,7 @@ } pos = (cpuhistory_i + 1 - count) & (CPUHISTORY_SIZE-1); - + for (i=0; i < count; ++i) { addr = cpuhistory[pos].addr; op = cpuhistory[pos].op; @@ -860,7 +861,7 @@ if (inside_monitor) return; - /* Ignore reg_pc+2 reads on branches & JSR + /* Ignore reg_pc+2 reads on branches & JSR and return address read on RTS */ if (type & (MEMMAP_ROM_R|MEMMAP_RAM_R) &&(((op & 0x1f) == 0x10)||(op == OP_JSR) @@ -1157,7 +1158,7 @@ find_supported_monitor_cpu_types(&monitor_cpu_type_supported[e_comp_space], maincpu_interface_init); for (dnr = 0; dnr < DRIVE_NUM; dnr++) { - find_supported_monitor_cpu_types(&monitor_cpu_type_supported[monitor_diskspace_mem(dnr)], + find_supported_monitor_cpu_types(&monitor_cpu_type_supported[monitor_diskspace_mem(dnr)], drive_interface_init[dnr]); } @@ -1170,7 +1171,7 @@ } /* Safety precaution */ monitor_cpu_for_memspace[e_default_space]=monitor_cpu_for_memspace[e_comp_space]; - + watch_load_occurred = FALSE; watch_store_occurred = FALSE; @@ -1229,8 +1230,8 @@ } } -#ifdef FEATURE_CPUMEMHISTORY - lib_free(mon_memmap); +#ifdef FEATURE_CPUMEMHISTORY + lib_free(mon_memmap); #endif } @@ -2096,7 +2097,7 @@ { switch (mem) { case e_disk8_space: - return 0; + return 0; case e_disk9_space: return 1; case e_disk10_space: @@ -2202,25 +2203,8 @@ ((WORD)((monitor_cpu_for_memspace[mem]->mon_register_get_val)(mem, e_PC)))); } - mon_out("\n** Monitor"); - - if (caller_space == e_comp_space - && mon_interfaces[caller_space]->get_line_cycle != NULL) { - unsigned int line, cycle; - int half_cycle; - - mon_interfaces[caller_space]->get_line_cycle(&line, &cycle, &half_cycle); - - if (half_cycle==-1) - mon_out(" %03i %03i\n", line, cycle); - else - mon_out(" %03i %03i %i\n", line, cycle, half_cycle); - } else { - mon_out("\n"); - } - if (disassemble_on_entry) { - mon_disassemble_instr(dot_addr[caller_space]); + mon_disassemble_with_regdump(caller_space, dot_addr[caller_space]); disassemble_on_entry = 0; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2011-12-17 19:32:05
|
Revision: 25013 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=25013&view=rev Author: skoe Date: 2011-12-17 19:31:56 +0000 (Sat, 17 Dec 2011) Log Message: ----------- Fixed shift/reduce conflicts by removing redundant grammar rules Modified Paths: -------------- trunk/vice/src/monitor/mon_breakpoint.c trunk/vice/src/monitor/mon_lex.c trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.h trunk/vice/src/monitor/mon_parse.y Modified: trunk/vice/src/monitor/mon_breakpoint.c =================================================================== --- trunk/vice/src/monitor/mon_breakpoint.c 2011-12-17 18:54:47 UTC (rev 25012) +++ trunk/vice/src/monitor/mon_breakpoint.c 2011-12-17 19:31:56 UTC (rev 25013) @@ -285,16 +285,19 @@ cond_node_t *cnode) { checkpoint_t *cp; - cp = find_checkpoint(cp_num); - if (!cp) { - mon_out("#%d not a valid checkpoint\n", cp_num); - } else { - cp->condition = cnode; + if (cnode) { + cp = find_checkpoint(cp_num); - mon_out("Setting checkpoint %d condition to: ", cp_num); - mon_print_conditional(cnode); - mon_out("\n"); + if (!cp) { + mon_out("#%d not a valid checkpoint\n", cp_num); + } else { + cp->condition = cnode; + + mon_out("Setting checkpoint %d condition to: ", cp_num); + mon_print_conditional(cnode); + mon_out("\n"); + } } } Modified: trunk/vice/src/monitor/mon_lex.c =================================================================== --- trunk/vice/src/monitor/mon_lex.c 2011-12-17 18:54:47 UTC (rev 25012) +++ trunk/vice/src/monitor/mon_lex.c 2011-12-17 19:31:56 UTC (rev 25013) @@ -53,7 +53,6 @@ typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,6 +83,8 @@ #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -140,7 +141,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -1454,7 +1463,7 @@ } -#line 1458 "mon_lex.c" +#line 1467 "mon_lex.c" #define INITIAL 0 #define FNAME 1 @@ -1546,7 +1555,12 @@ /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -1554,7 +1568,7 @@ /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO fwrite( yytext, yyleng, 1, yyout ) +#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1565,7 +1579,7 @@ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1665,7 +1679,7 @@ } -#line 1669 "mon_lex.c" +#line 1683 "mon_lex.c" if ( !(yy_init) ) { @@ -2937,7 +2951,7 @@ #line 453 "mon_lex.l" ECHO; YY_BREAK -#line 2941 "mon_lex.c" +#line 2955 "mon_lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(FNAME): case YY_STATE_EOF(CMD): @@ -3672,8 +3686,8 @@ /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ Modified: trunk/vice/src/monitor/mon_parse.c =================================================================== --- trunk/vice/src/monitor/mon_parse.c 2011-12-17 18:54:47 UTC (rev 25012) +++ trunk/vice/src/monitor/mon_parse.c 2011-12-17 19:31:56 UTC (rev 25013) @@ -1,72 +1,103 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ +#define YY_parse_h_included +/*#define YY_USE_CLASS +*/ +/* A Bison++ parser, made from mon_parse.y */ -/* Skeleton implementation for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software - Foundation, Inc. - - This program is free software: you can redistribute it and/or modify + /* with Bison++ version bison++ Version 1.21.9-1, adapted from GNU bison by coe...@ic... +Maintained by Magnus Ekdahl <ma...@de...> + */ + + +#line 1 "/usr/share/bison++/bison.cc" +/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ +/* Skeleton output parser for bison, + Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman + + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - + the Free Software Foundation; either version 1, or (at your option) + any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. */ + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ + As a special exception, when this file is copied by Bison++ into a + Bison++ output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison, and has been in Bison++ since 1.21.9. -/* C LALR(1) parser skeleton written by Richard Stallman, by - simplifying the original so-called "semantic" parser. */ +*/ -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ +/* HEADER SECTION */ +#if defined( _MSDOS ) || defined(MSDOS) || defined(__MSDOS__) + #define __MSDOS_AND_ALIKE +#endif -/* Identify Bison output. */ -#define YYBISON 1 +#if defined(_WINDOWS) && defined(_MSC_VER) + #define __HAVE_NO_ALLOCA + #define __MSDOS_AND_ALIKE +#endif -/* Bison version. */ -#define YYBISON_VERSION "2.4.2" +#ifndef alloca + #if defined( __GNUC__) + #define alloca __builtin_alloca -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" + #elif (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) + #include <alloca.h> -/* Pure parsers. */ -#define YYPURE 0 + #elif defined (__MSDOS_AND_ALIKE) + #include <malloc.h> + #ifndef __TURBOC__ + /* MS C runtime lib */ + #define alloca _alloca + #endif -/* Push parsers. */ -#define YYPUSH 0 + #elif defined(_AIX) + /* pragma must be put before any C/C++ instruction !! */ + #pragma alloca + #include <malloc.h> -/* Pull parsers. */ -#define YYPULL 1 + #elif defined(__hpux) + #ifdef __cplusplus + extern "C" { + void *alloca (unsigned int); + }; + #else /* not __cplusplus */ + void *alloca (); + #endif /* not __cplusplus */ -/* Using locations. */ -#define YYLSP_NEEDED 0 + #endif /* not _AIX not MSDOS, or __TURBOC__ or _AIX, not sparc. */ +#endif /* alloca not defined. */ +#ifdef c_plusplus + #ifndef __cplusplus + #define __cplusplus + #endif +#endif +#ifdef __cplusplus + #ifndef YY_USE_CLASS +/*#warning "For C++ its recomended to use bison++, otherwise classes won't be generated"*/ + #endif +#else + #ifndef __STDC__ + #define const + #endif + #ifdef YY_USE_CLASS + #error "This is a C++ header generated by bison++, please use a C++ compiler!" + #endif +#endif -/* Copy the first part of user declarations. */ +#include <stdio.h> +#define YYBISON 1 -/* Line 189 of yacc.c */ + #line 88 "/usr/share/bison++/bison.cc" #line 1 "mon_parse.y" /* -*- C -*- @@ -156,7 +187,7 @@ static int yyerror(char *s); static int temp; static int resolve_datatype(unsigned guess_type, const char *num); -static int resolve_range(enum t_memspace memspace, MON_ADDR range[2], +static int resolve_range(enum t_memspace memspace, MON_ADDR range[2], const char *num); static void mon_quit(void); @@ -193,3058 +224,2581 @@ #define YYDEBUG 1 +#line 127 "mon_parse.y" +typedef union { + MON_ADDR a; + MON_ADDR range[2]; + int i; + REG_ID reg; + CONDITIONAL cond_op; + cond_node_t *cond_node; + RADIXTYPE rt; + ACTION action; + char *str; +} yy_parse_stype; +#define YY_parse_STYPE yy_parse_stype +#ifndef YY_USE_CLASS +#define YYSTYPE yy_parse_stype +#endif -/* Line 189 of yacc.c */ -#line 199 "mon_parse.c" +#line 88 "/usr/share/bison++/bison.cc" +/* %{ and %header{ and %union, during decl */ +#define YY_parse_BISON 1 -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 1 +#ifndef YY_parse_COMPATIBILITY + #ifndef YY_USE_CLASS + #define YY_parse_COMPATIBILITY 1 + #else + #define YY_parse_COMPATIBILITY 0 + #endif #endif -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 +#if YY_parse_COMPATIBILITY != 0 + /* backward compatibility */ + #ifdef YYLTYPE + #ifndef YY_parse_LTYPE + #define YY_parse_LTYPE YYLTYPE + #endif + #endif +/* Testing alternative bison solution + /#ifdef YYSTYPE*/ +#ifndef YY_parse_STYPE + #define YY_parse_STYPE YYSTYPE #endif +/*#endif*/ + #ifdef YYDEBUG + #ifndef YY_parse_DEBUG + #define YY_parse_DEBUG YYDEBUG + #endif + #endif + + /* use goto to be compatible */ + #ifndef YY_parse_USE_GOTO + #define YY_parse_USE_GOTO 1 + #endif +#endif -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 +/* use no goto to be clean in C++ */ +#ifndef YY_parse_USE_GOTO + #define YY_parse_USE_GOTO 0 #endif +#ifndef YY_parse_PURE -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - H_NUMBER = 258, - D_NUMBER = 259, - O_NUMBER = 260, - B_NUMBER = 261, - CONVERT_OP = 262, - B_DATA = 263, - H_RANGE_GUESS = 264, - D_NUMBER_GUESS = 265, - O_NUMBER_GUESS = 266, - B_NUMBER_GUESS = 267, - BAD_CMD = 268, - MEM_OP = 269, - IF = 270, - MEM_COMP = 271, - MEM_DISK8 = 272, - MEM_DISK9 = 273, - MEM_DISK10 = 274, - MEM_DISK11 = 275, - EQUALS = 276, - TRAIL = 277, - CMD_SEP = 278, - LABEL_ASGN_COMMENT = 279, - CMD_SIDEFX = 280, - CMD_RETURN = 281, - CMD_BLOCK_READ = 282, - CMD_BLOCK_WRITE = 283, - CMD_UP = 284, - CMD_DOWN = 285, - CMD_LOAD = 286, - CMD_SAVE = 287, - CMD_VERIFY = 288, - CMD_IGNORE = 289, - CMD_HUNT = 290, - CMD_FILL = 291, - CMD_MOVE = 292, - CMD_GOTO = 293, - CMD_REGISTERS = 294, - CMD_READSPACE = 295, - CMD_WRITESPACE = 296, - CMD_RADIX = 297, - CMD_MEM_DISPLAY = 298, - CMD_BREAK = 299, - CMD_TRACE = 300, - CMD_IO = 301, - CMD_BRMON = 302, - CMD_COMPARE = 303, - CMD_DUMP = 304, - CMD_UNDUMP = 305, - CMD_EXIT = 306, - CMD_DELETE = 307, - CMD_CONDITION = 308, - CMD_COMMAND = 309, - CMD_ASSEMBLE = 310, - CMD_DISASSEMBLE = 311, - CMD_NEXT = 312, - CMD_STEP = 313, - CMD_PRINT = 314, - CMD_DEVICE = 315, - CMD_HELP = 316, - CMD_WATCH = 317, - CMD_DISK = 318, - CMD_SYSTEM = 319, - CMD_QUIT = 320, - CMD_CHDIR = 321, - CMD_BANK = 322, - CMD_LOAD_LABELS = 323, - CMD_SAVE_LABELS = 324, - CMD_ADD_LABEL = 325, - CMD_DEL_LABEL = 326, - CMD_SHOW_LABELS = 327, - CMD_RECORD = 328, - CMD_MON_STOP = 329, - CMD_PLAYBACK = 330, - CMD_CHAR_DISPLAY = 331, - CMD_SPRITE_DISPLAY = 332, - CMD_TEXT_DISPLAY = 333, - CMD_SCREENCODE_DISPLAY = 334, - CMD_ENTER_DATA = 335, - CMD_ENTER_BIN_DATA = 336, - CMD_KEYBUF = 337, - CMD_BLOAD = 338, - CMD_BSAVE = 339, - CMD_SCREEN = 340, - CMD_UNTIL = 341, - CMD_CPU = 342, - CMD_YYDEBUG = 343, - CMD_BACKTRACE = 344, - CMD_SCREENSHOT = 345, - CMD_PWD = 346, - CMD_DIR = 347, - CMD_RESOURCE_GET = 348, - CMD_RESOURCE_SET = 349, - CMD_ATTACH = 350, - CMD_DETACH = 351, - CMD_MON_RESET = 352, - CMD_TAPECTRL = 353, - CMD_CARTFREEZE = 354, - CMD_CPUHISTORY = 355, - CMD_MEMMAPZAP = 356, - CMD_MEMMAPSHOW = 357, - CMD_MEMMAPSAVE = 358, - CMD_COMMENT = 359, - CMD_LIST = 360, - CMD_EXPORT = 361, - CMD_AUTOSTART = 362, - CMD_AUTOLOAD = 363, - CMD_LABEL_ASGN = 364, - L_PAREN = 365, - R_PAREN = 366, - ARG_IMMEDIATE = 367, - REG_A = 368, - REG_X = 369, - REG_Y = 370, - COMMA = 371, - INST_SEP = 372, - REG_B = 373, - REG_C = 374, - REG_D = 375, - REG_E = 376, - REG_H = 377, - REG_L = 378, - REG_AF = 379, - REG_BC = 380, - REG_DE = 381, - REG_HL = 382, - REG_IX = 383, - REG_IY = 384, - REG_SP = 385, - REG_IXH = 386, - REG_IXL = 387, - REG_IYH = 388, - REG_IYL = 389, - STRING = 390, - FILENAME = 391, - R_O_L = 392, - OPCODE = 393, - LABEL = 394, - BANKNAME = 395, - CPUTYPE = 396, - MON_REGISTER = 397, - COMPARE_OP = 398, - RADIX_TYPE = 399, - INPUT_SPEC = 400, - CMD_CHECKPT_ON = 401, - CMD_CHECKPT_OFF = 402, - TOGGLE = 403, - MASK = 404 - }; + #line 130 "/usr/share/bison++/bison.cc" + +#line 130 "/usr/share/bison++/bison.cc" +/* YY_parse_PURE */ #endif -/* Tokens. */ -#define H_NUMBER 258 -#define D_NUMBER 259 -#define O_NUMBER 260 -#define B_NUMBER 261 -#define CONVERT_OP 262 -#define B_DATA 263 -#define H_RANGE_GUESS 264 -#define D_NUMBER_GUESS 265 -#define O_NUMBER_GUESS 266 -#define B_NUMBER_GUESS 267 -#define BAD_CMD 268 -#define MEM_OP 269 -#define IF 270 -#define MEM_COMP 271 -#define MEM_DISK8 272 -#define MEM_DISK9 273 -#define MEM_DISK10 274 -#define MEM_DISK11 275 -#define EQUALS 276 -#define TRAIL 277 -#define CMD_SEP 278 -#define LABEL_ASGN_COMMENT 279 -#define CMD_SIDEFX 280 -#define CMD_RETURN 281 -#define CMD_BLOCK_READ 282 -#define CMD_BLOCK_WRITE 283 -#define CMD_UP 284 -#define CMD_DOWN 285 -#define CMD_LOAD 286 -#define CMD_SAVE 287 -#define CMD_VERIFY 288 -#define CMD_IGNORE 289 -#define CMD_HUNT 290 -#define CMD_FILL 291 -#define CMD_MOVE 292 -#define CMD_GOTO 293 -#define CMD_REGISTERS 294 -#define CMD_READSPACE 295 -#define CMD_WRITESPACE 296 -#define CMD_RADIX 297 -#define CMD_MEM_DISPLAY 298 -#define CMD_BREAK 299 -#define CMD_TRACE 300 -#define CMD_IO 301 -#define CMD_BRMON 302 -#define CMD_COMPARE 303 -#define CMD_DUMP 304 -#define CMD_UNDUMP 305 -#define CMD_EXIT 306 -#define CMD_DELETE 307 -#define CMD_CONDITION 308 -#define CMD_COMMAND 309 -#define CMD_ASSEMBLE 310 -#define CMD_DISASSEMBLE 311 -#define CMD_NEXT 312 -#define CMD_STEP 313 -#define CMD_PRINT 314 -#define CMD_DEVICE 315 -#define CMD_HELP 316 -#define CMD_WATCH 317 -#define CMD_DISK 318 -#define CMD_SYSTEM 319 -#define CMD_QUIT 320 -#define CMD_CHDIR 321 -#define CMD_BANK 322 -#define CMD_LOAD_LABELS 323 -#define CMD_SAVE_LABELS 324 -#define CMD_ADD_LABEL 325 -#define CMD_DEL_LABEL 326 -#define CMD_SHOW_LABELS 327 -#define CMD_RECORD 328 -#define CMD_MON_STOP 329 -#define CMD_PLAYBACK 330 -#define CMD_CHAR_DISPLAY 331 -#define CMD_SPRITE_DISPLAY 332 -#define CMD_TEXT_DISPLAY 333 -#define CMD_SCREENCODE_DISPLAY 334 -#define CMD_ENTER_DATA 335 -#define CMD_ENTER_BIN_DATA 336 -#define CMD_KEYBUF 337 -#define CMD_BLOAD 338 -#define CMD_BSAVE 339 -#define CMD_SCREEN 340 -#define CMD_UNTIL 341 -#define CMD_CPU 342 -#define CMD_YYDEBUG 343 -#define CMD_BACKTRACE 344 -#define CMD_SCREENSHOT 345 -#define CMD_PWD 346 -#define CMD_DIR 347 -#define CMD_RESOURCE_GET 348 -#define CMD_RESOURCE_SET 349 -#define CMD_ATTACH 350 -#define CMD_DETACH 351 -#define CMD_MON_RESET 352 -#define CMD_TAPECTRL 353 -#define CMD_CARTFREEZE 354 -#define CMD_CPUHISTORY 355 -#define CMD_MEMMAPZAP 356 -#define CMD_MEMMAPSHOW 357 -#define CMD_MEMMAPSAVE 358 -#define CMD_COMMENT 359 -#define CMD_LIST 360 -#define CMD_EXPORT 361 -#define CMD_AUTOSTART 362 -#define CMD_AUTOLOAD 363 -#define CMD_LABEL_ASGN 364 -#define L_PAREN 365 -#define R_PAREN 366 -#define ARG_IMMEDIATE 367 -#define REG_A 368 -#define REG_X 369 -#define REG_Y 370 -#define COMMA 371 -#define INST_SEP 372 -#define REG_B 373 -#define REG_C 374 -#define REG_D 375 -#define REG_E 376 -#define REG_H 377 -#define REG_L 378 -#define REG_AF 379 -#define REG_BC 380 -#define REG_DE 381 -#define REG_HL 382 -#define REG_IX 383 -#define REG_IY 384 -#define REG_SP 385 -#define REG_IXH 386 -#define REG_IXL 387 -#define REG_IYH 388 -#define REG_IYL 389 -#define STRING 390 -#define FILENAME 391 -#define R_O_L 392 -#define OPCODE 393 -#define LABEL 394 -#define BANKNAME 395 -#define CPUTYPE 396 -#define MON_REGISTER 397 -#define COMPARE_OP 398 -#define RADIX_TYPE 399 -#define INPUT_SPEC 400 -#define CMD_CHECKPT_ON 401 -#define CMD_CHECKPT_OFF 402 -#define TOGGLE 403 -#define MASK 404 +/* section apres lecture def, avant lecture grammaire S2 */ + #line 134 "/usr/share/bison++/bison.cc" +#line 134 "/usr/share/bison++/bison.cc" +/* prefix */ +#ifndef YY_parse_DEBUG -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -{ + #line 136 "/usr/share/bison++/bison.cc" +#define YY_parse_DEBUG 1 -/* Line 214 of yacc.c */ -#line 127 "mon_parse.y" +#line 136 "/usr/share/bison++/bison.cc" +/* YY_parse_DEBUG */ +#endif - MON_ADDR a; - MON_ADDR range[2]; - int i; - REG_ID reg; - CONDITIONAL cond_op; - cond_node_t *cond_node; - RADIXTYPE rt; - ACTION action; - char *str; +#ifndef YY_parse_LSP_NEEDED + #line 141 "/usr/share/bison++/bison.cc" -/* Line 214 of yacc.c */ -#line 547 "mon_parse.c" -} YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 +#line 141 "/usr/share/bison++/bison.cc" + /* YY_parse_LSP_NEEDED*/ #endif -/* Copy the second part of user declarations. */ +/* DEFAULT LTYPE*/ +#ifdef YY_parse_LSP_NEEDED +#ifndef YY_parse_LTYPE +#ifndef BISON_YYLTYPE_ISDECLARED +#define BISON_YYLTYPE_ISDECLARED +typedef + struct yyltype + { + int timestamp; + int first_line; + int first_column; + int last_line; + int last_column; + char *text; + } + yyltype; -/* Line 264 of yacc.c */ -#line 559 "mon_parse.c" +#endif +#define YY_parse_LTYPE yyltype +#endif +#endif +/* DEFAULT STYPE*/ + /* We used to use `unsigned long' as YY_parse_STYPE on MSDOS, + but it seems better to be consistent. + Most programs should declare their own type anyway. */ -#ifdef short -# undef short +#ifndef YY_parse_STYPE +#define YY_parse_STYPE int #endif +/* DEFAULT MISCELANEOUS */ +#ifndef YY_parse_PARSE +#define YY_parse_PARSE yyparse +#endif +#ifndef YY_parse_LEX +#define YY_parse_LEX yylex +#endif +#ifndef YY_parse_LVAL +#define YY_parse_LVAL yylval +#endif +#ifndef YY_parse_LLOC +#define YY_parse_LLOC yylloc +#endif +#ifndef YY_parse_CHAR +#define YY_parse_CHAR yychar +#endif +#ifndef YY_parse_NERRS +#define YY_parse_NERRS yynerrs +#endif +#ifndef YY_parse_DEBUG_FLAG +#define YY_parse_DEBUG_FLAG yydebug +#endif +#ifndef YY_parse_ERROR +#define YY_parse_ERROR yyerror +#endif -#ifdef YYTYPE_UINT8 -typedef YYTYPE_UINT8 yytype_uint8; -#else -typedef unsigned char yytype_uint8; +#ifndef YY_parse_PARSE_PARAM + #ifndef YY_USE_CLASS + #ifdef YYPARSE_PARAM + #define YY_parse_PARSE_PARAM void* YYPARSE_PARAM + #else + #ifndef __STDC__ + #ifndef __cplusplus + #define YY_parse_PARSE_PARAM + #endif + #endif + #endif + #endif + #ifndef YY_parse_PARSE_PARAM + #define YY_parse_PARSE_PARAM void + #endif #endif -#ifdef YYTYPE_INT8 -typedef YYTYPE_INT8 yytype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char yytype_int8; +#if YY_parse_COMPATIBILITY != 0 +/* backward compatibility */ +#ifdef YY_parse_LTYPE +#ifndef YYLTYPE +#define YYLTYPE YY_parse_LTYPE #else -typedef short int yytype_int8; +/* WARNING obsolete !!! user defined YYLTYPE not reported into generated header */ #endif +#endif -#ifdef YYTYPE_UINT16 -typedef YYTYPE_UINT16 yytype_uint16; -#else -typedef unsigned short int yytype_uint16; +/* Removed due to bison compabilityproblems +/#ifndef YYSTYPE +/#define YYSTYPE YY_parse_STYPE +/#else*/ +/* WARNING obsolete !!! user defined YYSTYPE not reported into generated header */ +/*#endif*/ + +#ifdef YY_parse_PURE +# ifndef YYPURE +# define YYPURE YY_parse_PURE +# endif #endif -#ifdef YYTYPE_INT16 -typedef YYTYPE_INT16 yytype_int16; -#else -typedef short int yytype_int16; +#ifdef YY_parse_DEBUG +# ifndef YYDEBUG +# define YYDEBUG YY_parse_DEBUG +# endif #endif -#ifndef YYSIZE_T -# ifdef __SIZE_TYPE__ -# define YYSIZE_T __SIZE_TYPE__ -# elif defined size_t -# define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# else -# define YYSIZE_T unsigned int -# endif +#ifndef YY_parse_ERROR_VERBOSE + #ifdef YYERROR_VERBOSE + #define YY_parse_ERROR_VERBOSE YYERROR_VERBOSE + #endif #endif -#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) - -#ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS -# if ENABLE_NLS -# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) +#ifndef YY_parse_LSP_NEEDED +# ifdef YYLSP_NEEDED +# define YY_parse_LSP_NEEDED YYLSP_NEEDED # endif -# endif -# ifndef YY_ -# define YY_(msgid) msgid -# endif #endif -/* Suppress unused-variable warnings by "using" E. */ -#if ! defined lint || defined __GNUC__ -# define YYUSE(e) ((void) (e)) -#else -# define YYUSE(e) /* empty */ #endif -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(n) (n) +#ifndef YY_USE_CLASS +/* TOKEN C */ + + #line 263 "/usr/share/bison++/bison.cc" +#define H_NUMBER 258 +#define D_NUMBER 259 +#define O_NUMBER 260 +#define B_NUMBER 261 +#define CONVERT_OP 262 +#define B_DATA 263 +#define H_RANGE_GUESS 264 +#define D_NUMBER_GUESS 265 +#define O_NUMBER_GUESS 266 +#define B_NUMBER_GUESS 267 +#define BAD_CMD 268 +#define MEM_OP 269 +#define IF 270 +#define MEM_COMP 271 +#define MEM_DISK8 272 +#define MEM_DISK9 273 +#define MEM_DISK10 274 +#define MEM_DISK11 275 +#define EQUALS 276 +#define TRAIL 277 +#define CMD_SEP 278 +#define LABEL_ASGN_COMMENT 279 +#define CMD_SIDEFX 280 +#define CMD_RETURN 281 +#define CMD_BLOCK_READ 282 +#define CMD_BLOCK_WRITE 283 +#define CMD_UP 284 +#define CMD_DOWN 285 +#define CMD_LOAD 286 +#define CMD_SAVE 287 +#define CMD_VERIFY 288 +#define CMD_IGNORE 289 +#define CMD_HUNT 290 +#define CMD_FILL 291 +#define CMD_MOVE 292 +#define CMD_GOTO 293 +#define CMD_REGISTERS 294 +#define CMD_READSPACE 295 +#define CMD_WRITESPACE 296 +#define CMD_RADIX 297 +#define CMD_MEM_DISPLAY 298 +#define CMD_BREAK 299 +#define CMD_TRACE 300 +#define CMD_IO 301 +#define CMD_BRMON 302 +#define CMD_COMPARE 303 +#define CMD_DUMP 304 +#define CMD_UNDUMP 305 +#define CMD_EXIT 306 +#define CMD_DELETE 307 +#define CMD_CONDITION 308 +#define CMD_COMMAND 309 +#define CMD_ASSEMBLE 310 +#define CMD_DISASSEMBLE 311 +#define CMD_NEXT 312 +#define CMD_STEP 313 +#define CMD_PRINT 314 +#define CMD_DEVICE 315 +#define CMD_HELP 316 +#define CMD_WATCH 317 +#define CMD_DISK 318 +#define CMD_SYSTEM 319 +#define CMD_QUIT 320 +#define CMD_CHDIR 321 +#define CMD_BANK 322 +#define CMD_LOAD_LABELS 323 +#define CMD_SAVE_LABELS 324 +#define CMD_ADD_LABEL 325 +#define CMD_DEL_LABEL 326 +#define CMD_SHOW_LABELS 327 +#define CMD_RECORD 328 +#define CMD_MON_STOP 329 +#define CMD_PLAYBACK 330 +#define CMD_CHAR_DISPLAY 331 +#define CMD_SPRITE_DISPLAY 332 +#define CMD_TEXT_DISPLAY 333 +#define CMD_SCREENCODE_DISPLAY 334 +#define CMD_ENTER_DATA 335 +#define CMD_ENTER_BIN_DATA 336 +#define CMD_KEYBUF 337 +#define CMD_BLOAD 338 +#define CMD_BSAVE 339 +#define CMD_SCREEN 340 +#define CMD_UNTIL 341 +#define CMD_CPU 342 +#define CMD_YYDEBUG 343 +#define CMD_BACKTRACE 344 +#define CMD_SCREENSHOT 345 +#define CMD_PWD 346 +#define CMD_DIR 347 +#define CMD_RESOURCE_GET 348 +#define CMD_RESOURCE_SET 349 +#define CMD_ATTACH 350 +#define CMD_DETACH 351 +#define CMD_MON_RESET 352 +#define CMD_TAPECTRL 353 +#define CMD_CARTFREEZE 354 +#define CMD_CPUHISTORY 355 +#define CMD_MEMMAPZAP 356 +#define CMD_MEMMAPSHOW 357 +#define CMD_MEMMAPSAVE 358 +#define CMD_COMMENT 359 +#define CMD_LIST 360 +#define CMD_EXPORT 361 +#define CMD_AUTOSTART 362 +#define CMD_AUTOLOAD 363 +#define CMD_LABEL_ASGN 364 +#define L_PAREN 365 +#define R_PAREN 366 +#define ARG_IMMEDIATE 367 +#define REG_A 368 +#define REG_X 369 +#define REG_Y 370 +#define COMMA 371 +#define INST_SEP 372 +#define REG_B 373 +#define REG_C 374 +#define REG_D 375 +#define REG_E 376 +#define REG_H 377 +#define REG_L 378 +#define REG_AF 379 +#define REG_BC 380 +#define REG_DE 381 +#define REG_HL 382 +#define REG_IX 383 +#define REG_IY 384 +#define REG_SP 385 +#define REG_IXH 386 +#define REG_IXL 387 +#define REG_IYH 388 +#define REG_IYL 389 +#define STRING 390 +#define FILENAME 391 +#define R_O_L 392 +#define OPCODE 393 +#define LABEL 394 +#define BANKNAME 395 +#define CPUTYPE 396 +#define MON_REGISTER 397 +#define COMPARE_OP 398 +#define RADIX_TYPE 399 +#define INPUT_SPEC 400 +#define CMD_CHECKPT_ON 401 +#define CMD_CHECKPT_OFF 402 +#define TOGGLE 403 +#define MASK 404 + + +#line 263 "/usr/share/bison++/bison.cc" + /* #defines tokens */ #else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int yyi) -#else -static int -YYID (yyi) - int yyi; +/* CLASS */ +#ifndef YY_parse_CLASS +#define YY_parse_CLASS parse #endif -{ - return yyi; -} +#ifndef YY_parse_INHERIT +#define YY_parse_INHERIT #endif +#ifndef YY_parse_MEMBERS +#define YY_parse_MEMBERS +#endif +#ifndef YY_parse_LEX_BODY +#define YY_parse_LEX_BODY +#endif +#ifndef YY_parse_ERROR_BODY +#define YY_parse_ERROR_BODY +#endif +#ifndef YY_parse_CONSTRUCTOR_PARAM +#define YY_parse_CONSTRUCTOR_PARAM +#endif +#ifndef YY_parse_CONSTRUCTOR_CODE +#define YY_parse_CONSTRUCTOR_CODE +#endif +#ifndef YY_parse_CONSTRUCTOR_INIT +#define YY_parse_CONSTRUCTOR_INIT +#endif +/* choose between enum and const */ +#ifndef YY_parse_USE_CONST_TOKEN +#define YY_parse_USE_CONST_TOKEN 0 +/* yes enum is more compatible with flex, */ +/* so by default we use it */ +#endif +#if YY_parse_USE_CONST_TOKEN != 0 +#ifndef YY_parse_ENUM_TOKEN +#define YY_parse_ENUM_TOKEN yy_parse_enum_token +#endif +#endif -#if ! defined yyoverflow || YYERROR_VERBOSE +class YY_parse_CLASS YY_parse_INHERIT +{ +public: +#if YY_parse_USE_CONST_TOKEN != 0 +/* static const int token ... */ -/* The parser invokes alloca or malloc; define the necessary symbols. */ + #line 307 "/usr/share/bison++/bison.cc" +static const int H_NUMBER; +static const int D_NUMBER; +static const int O_NUMBER; +static const int B_NUMBER; +static const int CONVERT_OP; +static const int B_DATA; +static const int H_RANGE_GUESS; +static const int D_NUMBER_GUESS; +static const int O_NUMBER_GUESS; +static const int B_NUMBER_GUESS; +static const int BAD_CMD; +static const int MEM_OP; +static const int IF; +static const int MEM_COMP; +static const int MEM_DISK8; +static const int MEM_DISK9; +static const int MEM_DISK10; +static const int MEM_DISK11; +static const int EQUALS; +static const int TRAIL; +static const int CMD_SEP; +static const int LABEL_ASGN_COMMENT; +static const int CMD_SIDEFX; +static const int CMD_RETURN; +static const int CMD_BLOCK_READ; +static const int CMD_BLOCK_WRITE; +static const int CMD_UP; +static const int CMD_DOWN; +static const int CMD_LOAD; +static const int CMD_SAVE; +static const int CMD_VERIFY; +static const int CMD_IGNORE; +static const int CMD_HUNT; +static const int CMD_FILL; +static const int CMD_MOVE; +static const int CMD_GOTO; +static const int CMD_REGISTERS; +static const int CMD_READSPACE; +static const int CMD_WRITESPACE; +static const int CMD_RADIX; +static const int CMD_MEM_DISPLAY; +static const int CMD_BREAK; +static const int CMD_TRACE; +static const int CMD_IO; +static const int CMD_BRMON; +static const int CMD_COMPARE; +static const int CMD_DUMP; +static const int CMD_UNDUMP; +static const int CMD_EXIT; +static const int CMD_DELETE; +static const int CMD_CONDITION; +static const int CMD_COMMAND; +static const int CMD_ASSEMBLE; +static const int CMD_DISASSEMBLE; +static const int CMD_NEXT; +static const int CMD_STEP; +static const int CMD_PRINT; +static const int CMD_DEVICE; +static const int CMD_HELP; +static const int CMD_WATCH; +static const int CMD_DISK; +static const int CMD_SYSTEM; +static const int CMD_QUIT; +static const int CMD_CHDIR; +static const int CMD_BANK; +static const int CMD_LOAD_LABELS; +static const int CMD_SAVE_LABELS; +static const int CMD_ADD_LABEL; +static const int CMD_DEL_LABEL; +static const int CMD_SHOW_LABELS; +static const int CMD_RECORD; +static const int CMD_MON_STOP; +static const int CMD_PLAYBACK; +static const int CMD_CHAR_DISPLAY; +static const int CMD_SPRITE_DISPLAY; +static const int CMD_TEXT_DISPLAY; +static const int CMD_SCREENCODE_DISPLAY; +static const int CMD_ENTER_DATA; +static const int CMD_ENTER_BIN_DATA; +static const int CMD_KEYBUF; +static const int CMD_BLOAD; +static const int CMD_BSAVE; +static const int CMD_SCREEN; +static const int CMD_UNTIL; +static const int CMD_CPU; +static const int CMD_YYDEBUG; +static const int CMD_BACKTRACE; +static const int CMD_SCREENSHOT; +static const int CMD_PWD; +static const int CMD_DIR; +static const int CMD_RESOURCE_GET; +static const int CMD_RESOURCE_SET; +static const int CMD_ATTACH; +static const int CMD_DETACH; +static const int CMD_MON_RESET; +static const int CMD_TAPECTRL; +static const int CMD_CARTFREEZE; +static const int CMD_CPUHISTORY; +static const int CMD_MEMMAPZAP; +static const int CMD_MEMMAPSHOW; +static const int CMD_MEMMAPSAVE; +static const int CMD_COMMENT; +static const int CMD_LIST; +static const int CMD_EXPORT; +static const int CMD_AUTOSTART; +static const int CMD_AUTOLOAD; +static const int CMD_LABEL_ASGN; +static const int L_PAREN; +static const int R_PAREN; +static const int ARG_IMMEDIATE; +static const int REG_A; +static const int REG_X; +static const int REG_Y; +static const int COMMA; +static const int INST_SEP; +static const int REG_B; +static const int REG_C; +static const int REG_D; +static const int REG_E; +static const int REG_H; +static const int REG_L; +static const int REG_AF; +static const int REG_BC; +static const int REG_DE; +static const int REG_HL; +static const int REG_IX; +static const int REG_IY; +static const int REG_SP; +static const int REG_IXH; +static const int REG_IXL; +static const int REG_IYH; +static const int REG_IYL; +static const int STRING; +static const int FILENAME; +static const int R_O_L; +static const int OPCODE; +static const int LABEL; +static const int BANKNAME; +static const int CPUTYPE; +static const int MON_REGISTER; +static const int COMPARE_OP; +static const int RADIX_TYPE; +static const int INPUT_SPEC; +static const int CMD_CHECKPT_ON; +static const int CMD_CHECKPT_OFF; +static const int TOGGLE; +static const int MASK; -# ifdef YYSTACK_USE_ALLOCA -# if YYSTACK_USE_ALLOCA -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# elif defined __BUILTIN_VA_ARG_INCR -# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ -# elif defined _AIX -# define YYSTACK_ALLOC __alloca -# elif defined _MSC_VER -# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ -# define alloca _alloca -# else -# define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# endif -# endif -# endif -# ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) -# ifndef YYSTACK_ALLOC_MAXIMUM - /* The OS might guarantee only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - invoke alloca (N) if N exceeds 4096. Use a slightly smaller number - to allow for a few compiler-allocated temporary stack slots. */ -# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ -# endif -# else -# define YYSTACK_ALLOC YYMALLOC -# define YYSTACK_FREE YYFREE -# ifndef YYSTACK_ALLOC_MAXIMUM -# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM -# endif -# if (defined __cplusplus && ! defined _STDLIB_H \ - && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) -# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# ifndef YYMALLOC -# define YYMALLOC malloc -# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# ifndef YYFREE -# define YYFREE free -# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void free (void *); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ +#line 307 "/usr/share/bison++/bison.cc" + /* decl const */ +#else +enum YY_parse_ENUM_TOKEN { YY_parse_NULL_TOKEN=0 + #line 310 "/usr/share/bison++/bison.cc" + ,H_NUMBER=258 + ,D_NUMBER=259 + ,O_NUMBER=260 + ,B_NUMBER=261 + ,CONVERT_OP=262 + ,B_DATA=263 + ,H_RANGE_GUESS=264 + ,D_NUMBER_GUESS=265 + ,O_NUMBER_GUESS=266 + ,B_NUMBER_GUESS=267 + ,BAD_CMD=268 + ,MEM_OP=269 + ,IF=270 + ,MEM_COMP=271 + ,MEM_DISK8=272 + ,MEM_DISK9=273 + ,MEM_DISK10=274 + ,MEM_DISK11=275 + ,EQUALS=276 + ,TRAIL=277 + ,CMD_SEP=278 + ,LABEL_ASGN_COMMENT=279 + ,CMD_SIDEFX=280 + ,CMD_RETURN=281 + ,CMD_BLOCK_READ=282 + ,CMD_BLOCK_WRITE=283 + ,CMD_UP=284 + ,CMD_DOWN=285 + ,CMD_LOAD=286 + ,CMD_SAVE=287 + ,CMD_VERIFY=288 + ,CMD_IGNORE=289 + ,CMD_HUNT=290 + ,CMD_FILL=291 + ,CMD_MOVE=292 + ,CMD_GOTO=293 + ,CMD_REGISTERS=294 + ,CMD_READSPACE=295 + ,CMD_WRITESPACE=296 + ,CMD_RADIX=297 + ,CMD_MEM_DISPLAY=298 + ,CMD_BREAK=299 + ,CMD_TRACE=300 + ,CMD_IO=301 + ,CMD_BRMON=302 + ,CMD_COMPARE=303 + ,CMD_DUMP=304 + ,CMD_UNDUMP=305 + ,CMD_EXIT=306 + ,CMD_DELETE=307 + ,CMD_CONDITION=308 + ,CMD_COMMAND=309 + ,CMD_ASSEMBLE=310 + ,CMD_DISASSEMBLE=311 + ,CMD_NEXT=312 + ,CMD_STEP=313 + ,CMD_PRINT=314 + ,CMD_DEVICE=315 + ,CMD_HELP=316 + ,CMD_WATCH=317 + ,CMD_DISK=318 + ,CMD_SYSTEM=319 + ,CMD_QUIT=320 + ,CMD_CHDIR=321 + ,CMD_BANK=322 + ,CMD_LOAD_LABELS=323 + ,CMD_SAVE_LABELS=324 + ,CMD_ADD_LABEL=325 + ,CMD_DEL_LABEL=326 + ,CMD_SHOW_LABELS=327 + ,CMD_RECORD=328 + ,CMD_MON_STOP=329 + ,CMD_PLAYBACK=330 + ,CMD_CHAR_DISPLAY=331 + ,CMD_SPRITE_DISPLAY=332 + ,CMD_TEXT_DISPLAY=333 + ,CMD_SCREENCODE_DISPLAY=334 + ,CMD_ENTER_DATA=335 + ,CMD_ENTER_BIN_DATA=336 + ,CMD_KEYBUF=337 + ,CMD_BLOAD=338 + ,CMD_BSAVE=339 + ,CMD_SCREEN=340 + ,CMD_UNTIL=341 + ,CMD_CPU=342 + ,CMD_YYDEBUG=343 + ,CMD_BACKTRACE=344 + ,CMD_SCREENSHOT=345 + ,CMD_PWD=346 + ,CMD_DIR=347 + ,CMD_RESOURCE_GET=348 + ,CMD_RESOURCE_SET=349 + ,CMD_ATTACH=350 + ,CMD_DETACH=351 + ,CMD_MON_RESET=352 + ,CMD_TAPECTRL=353 + ,CMD_CARTFREEZE=354 + ,CMD_CPUHISTORY=355 + ,CMD_MEMMAPZAP=356 + ,CMD_MEMMAPSHOW=357 + ,CMD_MEMMAPSAVE=358 + ,CMD_COMMENT=359 + ,CMD_LIST=360 + ,CMD_EXPORT=361 + ,CMD_AUTOSTART=362 + ,CMD_AUTOLOAD=363 + ,CMD_LABEL_ASGN=364 + ,L_PAREN=365 + ,R_PAREN=366 + ,ARG_IMMEDIATE=367 + ,REG_A=368 + ,REG_X=369 + ,REG_Y=370 + ,COMMA=371 + ,INST_SEP=372 + ,REG_B=373 + ,REG_C=374 + ,REG_D=375 + ,REG_E=376 + ,REG_H=377 + ,REG_L=378 + ,REG_AF=379 + ,REG_BC=380 + ,REG_DE=381 + ,REG_HL=382 + ,REG_IX=383 + ,REG_IY=384 + ,REG_SP=385 + ,REG_IXH=386 + ,REG_IXL=387 + ,REG_IYH=388 + ,REG_IYL=389 + ,STRING=390 + ,FILENAME=391 + ,R_O_L=392 + ,OPCODE=393 + ,LABEL=394 + ,BANKNAME=395 + ,CPUTYPE=396 + ,MON_REGISTER=397 + ,COMPARE_OP=398 + ,RADIX_TYPE=399 + ,INPUT_SPEC=400 + ,CMD_CHECKPT_ON=401 + ,CMD_CHECKPT_OFF=402 + ,TOGGLE=403 + ,MASK=404 -#if (! defined yyoverflow \ - && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - yytype_int16 yyss_alloc; - YYSTYPE yyvs_alloc; +#line 310 "/usr/share/bison++/bison.cc" + /* enum token */ + }; /* end of enum declaration */ +#endif +public: + int YY_parse_PARSE (YY_parse_PARSE_PARAM); + virtual void YY_parse_ERROR(char *msg) YY_parse_ERROR_BODY; +#ifdef YY_parse_PURE +#ifdef YY_parse_LSP_NEEDED + virtual int YY_parse_LEX (YY_parse_STYPE *YY_parse_LVAL,YY_parse_LTYPE *YY_parse_LLOC) YY_parse_LEX_BODY; +#else + virtual int YY_parse_LEX (YY_parse_STYPE *YY_parse_LVAL) YY_parse_LEX_BODY; +#endif +#else + virtual int YY_parse_LEX() YY_parse_LEX_BODY; + YY_parse_STYPE YY_parse_LVAL; +#ifdef YY_parse_LSP_NEEDED + YY_parse_LTYPE YY_parse_LLOC; +#endif + int YY_parse_NERRS; + int YY_parse_CHAR; +#endif +#if YY_parse_DEBUG != 0 + int YY_parse_DEBUG_FLAG; /* nonzero means print parse trace */ +#endif +public: + YY_parse_CLASS(YY_parse_CONSTRUCTOR_PARAM); +public: + YY_parse_MEMBERS }; +/* other declare folow */ +#if YY_parse_USE_CONST_TOKEN != 0 -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + #line 341 "/usr/share/bison++/bison.cc" +const int YY_parse_CLASS::H_NUMBER=258; +const int YY_parse_CLASS::D_NUMBER=259; +const int YY_parse_CLASS::O_NUMBER=260; +const int YY_parse_CLASS::B_NUMBER=261; +const int YY_parse_CLASS::CONVERT_OP=262; +const int YY_parse_CLASS::B_DATA=263; +const int YY_parse_CLASS::H_RANGE_GUESS=264; +const int YY_parse_CLASS::D_NUMBER_GUESS=265; +const int YY_parse_CLASS::O_NUMBER_GUESS=266; +const int YY_parse_CLASS::B_NUMBER_GUESS=267; +const int YY_parse_CLASS::BAD_CMD=268; +const int YY_parse_CLASS::MEM_OP=269; +const int YY_parse_CLASS::IF=270; +const int YY_parse_CLASS::MEM_COMP=271; +const int YY_parse_CLASS::MEM_DISK8=272; +const int YY_parse_CLASS::MEM_DISK9=273; +const int YY_parse_CLASS::MEM_DISK10=274; +const int YY_parse_CLASS::MEM_DISK11=275; +const int YY_parse_CLASS::EQUALS=276; +const int YY_parse_CLASS::TRAIL=277; +const int YY_parse_CLASS::CMD_SEP=278; +const int YY_parse_CLASS::LABEL_ASGN_COMMENT=279; +const int YY_parse_CLASS::CMD_SIDEFX=280; +const int YY_parse_CLASS::CMD_RETURN=281; +const int YY_parse_CLASS::CMD_BLOCK_READ=282; +const int YY_parse_CLASS::CMD_BLOCK_WRITE=283; +const int YY_parse_CLASS::CMD_UP=284; +const int YY_parse_CLASS::CMD_DOWN=285; +const int YY_parse_CLASS::CMD_LOAD=286; +const int YY_parse_CLASS::CMD_SAVE=287; +const int YY_parse_CLASS::CMD_VERIFY=288; +const int YY_parse_CLASS::CMD_IGNORE=289; +const int YY_parse_CLASS::CMD_HUNT=290; +const int YY_parse_CLASS::CMD_FILL=291; +const int YY_parse_CLASS::CMD_MOVE=292; +const int YY_parse_CLASS::CMD_GOTO=293; +const int YY_parse_CLASS::CMD_REGISTERS=294; +const int YY_parse_CLASS::CMD_READSPACE=295; +const int YY_parse_CLASS::CMD_WRITESPACE=296; +const int YY_parse_CLASS::CMD_RADIX=297; +const int YY_parse_CLASS::CMD_MEM_DISPLAY=298; +const int YY_parse_CLASS::CMD_BREAK=299; +const int YY_parse_CLASS::CMD_TRACE=300; +const int YY_parse_CLASS::CMD_IO=301; +const int YY_parse_CLASS::CMD_BRMON=302; +const int YY_parse_CLASS::CMD_COMPARE=303; +const int YY_parse_CLASS::CMD_DUMP=304; +const int YY_parse_CLASS::CMD_UNDUMP=305; +const int YY_parse_CLASS::CMD_EXIT=306; +const int YY_parse_CLASS::CMD_DELETE=307; +const int YY_parse_CLASS::CMD_CONDITION=308; +const int YY_parse_CLASS::CMD_COMMAND=309; +const int YY_parse_CLASS::CMD_ASSEMBLE=310; +const int YY_parse_CLASS::CMD_DISASSEMBLE=311; +const int YY_parse_CLASS::CMD_NEXT=312; +const int YY_parse_CLASS::CMD_STEP=313; +const int YY_parse_CLASS::CMD_PRINT=314; +const int YY_parse_CLASS::CMD_DEVICE=315; +const int YY_parse_CLASS::CMD_HELP=316; +const int YY_parse_CLASS::CMD_WATCH=317; +const int YY_parse_CLASS::CMD_DISK=318; +const int YY_parse_CLASS::CMD_SYSTEM=319; +const int YY_parse_CLASS::CMD_QUIT=320; +const int YY_parse_CLASS::CMD_CHDIR=321; +const int YY_parse_CLASS::CMD_BANK=322; +const int YY_parse_CLASS::CMD_LOAD_LABELS=323; +const int YY_parse_CLASS::CMD_SAVE_LABELS=324; +const int YY_parse_CLASS::CMD_ADD_LABEL=325; +const int YY_parse_CLASS::CMD_DEL_LABEL=326; +const int YY_parse_CLASS::CMD_SHOW_LABELS=327; +const int YY_parse_CLASS::CMD_RECORD=328; +const int YY_parse_CLASS::CMD_MON_STOP=329; +const int YY_parse_CLASS::CMD_PLAYBACK=330; +const int YY_parse_CLASS::CMD_CHAR_DISPLAY=331; +const int YY_parse_CLASS::CMD_SPRITE_DISPLAY=332; +const int YY_parse_CLASS::CMD_TEXT_DISPLAY=333; +const int YY_parse_CLASS::CMD_SCREENCODE_DISPLAY=334; +const int YY_parse_CLASS::CMD_ENTER_DATA=335; +const int YY_parse_CLASS::CMD_ENTER_BIN_DATA=336; +const int YY_parse_CLASS::CMD_KEYBUF=337; +const int YY_parse_CLASS::CMD_BLOAD=338; +const int YY_parse_CLASS::CMD_BSAVE=339; +const int YY_parse_CLASS::CMD_SCREEN=340; +const int YY_parse_CLASS::CMD_UNTIL=341; +const int YY_parse_CLASS::CMD_CPU=342; +const int YY_parse_CLASS::CMD_YYDEBUG=343; +const int YY_parse_CLASS::CMD_BACKTRACE=344; +const int YY_parse_CLASS::CMD_SCREENSHOT=345; +const int YY_parse_CLASS::CMD_PWD=346; +const int YY_parse_CLASS::CMD_DIR=347; +const int YY_parse_CLASS::CMD_RESOURCE_GET=348; +const int YY_parse_CLASS::CMD_RESOURCE_SET=349; +const int YY_parse_CLASS::CMD_ATTACH=350; +const int YY_parse_CLASS::CMD_DETACH=351; +const int YY_parse_CLASS::CMD_MON_RESET=352; +const int YY_parse_CLASS::CMD_TAPECTRL=353; +const int YY_parse_CLASS::CMD_CARTFREEZE=354; +const int YY_parse_CLASS::CMD_CPUHISTORY=355; +const int YY_parse_CLASS::CMD_MEMMAPZAP=356; +const int YY_parse_CLASS::CMD_MEMMAPSHOW=357; +const int YY_parse_CLASS::CMD_MEMMAPSAVE=358; +const int YY_parse_CLASS::CMD_COMMENT=359; +const int YY_parse_CLASS::CMD_LIST=360; +const int YY_parse_CLASS::CMD_EXPORT=361; +const int YY_parse_CLASS::CMD_AUTOSTART=362; +const int YY_parse_CLASS::CMD_AUTOLOAD=363; +const int YY_parse_CLASS::CMD_LABEL_ASGN=364; +const int YY_parse_CLASS::L_PAREN=365; +const int YY_parse_CLASS::R_PAREN=366; +const int YY_parse_CLASS::ARG_IMMEDIATE=367; +const int YY_parse_CLASS::REG_A=368; +const int YY_parse_CLASS::REG_X=369; +const int YY_parse_CLASS::REG_Y=370; +const int YY_parse_CLASS::COMMA=371; +const int YY_parse_CLASS::INST_SEP=372; +const int YY_parse_CLASS::REG_B=373; +const int YY_parse_CLASS::REG_C=374; +const int YY_parse_CLASS::REG_D=375; +const int YY_parse_CLASS::REG_E=376; +const int YY_parse_CLASS::REG_H=377; +const int YY_parse_CLASS::REG_L=378; +const int YY_parse_CLASS::REG_AF=379; +const int YY_parse_CLASS::REG_BC=380; +const int YY_parse_CLASS::REG_DE=381; +const int YY_parse_CLASS::REG_HL=382; +const int YY_parse_CLASS::REG_IX=383; +const int YY_parse_CLASS::REG_IY=384; +const int YY_parse_CLASS::REG_SP=385; +const int YY_parse_CLASS::REG_IXH=386; +const int YY_parse_CLASS::REG_IXL=387; +const int YY_parse_CLASS::REG_IYH=388; +const int YY_parse_CLASS::REG_IYL=389; +const int YY_parse_CLASS::STRING=390; +const int YY_parse_CLASS::FILENAME=391; +const int YY_parse_CLASS::R_O_L=392; +const int YY_parse_CLASS::OPCODE=393; +const int YY_parse_CLASS::LABEL=394; +const int YY_parse_CLASS::BANKNAME=395; +const int YY_parse_CLASS::CPUTYPE=396; +const int YY_parse_CLASS::MON_REGISTER=397; +const int YY_parse_CLASS::COMPARE_OP=398; +const int YY_parse_CLASS::RADIX_TYPE=399; +const int YY_parse_CLASS::INPUT_SPEC=400; +const int YY_parse_CLASS::CMD_CHECKPT_ON=401; +const int YY_parse_CLASS::CMD_CHECKPT_OFF=402; +const int YY_parse_CLASS::TOGGLE=403; +const int YY_parse_CLASS::MASK=404; -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ - Stack = &yyptr->Stack_alloc; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (YYID (0)) - +#line 341 "/usr/share/bison++/bison.cc" + /* const YY_parse_CLASS::token */ #endif +/*apres const */ +YY_parse_CLASS::YY_parse_CLASS(YY_parse_CONSTRUCTOR_PARAM) YY_parse_CONSTRUCTOR_INIT +{ +#if YY_parse_DEBUG != 0 +YY_parse_DEBUG_FLAG=0; +#endif +YY_parse_CONSTRUCTOR_CODE; +}; +#endif -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 298 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1695 + #line 352 "/usr/share/bison++/bison.cc" -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 156 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 51 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 279 -/* YYNRULES -- Number of states. */ -#define YYNSTATES 561 -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -#define YYUNDEFTOK 2 -#define YYMAXUTOK 404 +#define YYFINAL 542 +#define YYFLAG -32768 +#define YYNTBASE 156 -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) +#define YYTRANSLATE(x) ((unsigned)(x) <= 404 ? yytranslate[x] : 207) -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const yytype_uint8 yytranslate[] = -{ - 0, 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, - 154, 155, 152, 150, 2, 151, 2, 153, 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, 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, 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, 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, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 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, 103, 104, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149 +static const short yytranslate[] = { 0, + 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, 154, + 155, 152, 150, 2, 151, 2, 153, 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, 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, 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, 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, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 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, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149 }; -#if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const yytype_uint16 yyprhs[] = -{ - 0, 0, 3, 5, 8, 10, 12, 15, 17, 19, - 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, - 41, 43, 45, 47, 50, 54, 58, 64, 68, 71, - 75, 78, 82, 85, 90, 93, 97, 101, 104, 109, - 112, 117, 120, 125, 128, 133, 136, 138, 141, 145, - 149, 155, 159, 165, 169, 175, 179, 185, 189, 192, - 197, 203, 204, 210, 214, 218, 221, 227, 233, 239, - 245, 251, 255, 258, 262, 265, 269, 272, 276, 279, - 283, 286, 289, 292, 297, 303, 309, 313, 319, 324, - 331, 334, 338, 344, 349, 356, 359, 363, 369, 374, - 381, 384, 388, 391, 395, 399, 403, 409, 413, 416, - 422, 428, 433, 437, 440, 444, 447, 451, 454, 457, - 460, 464, 468, 471, 475, 479, 483, 487, 491, 494, - 498, 501, 505, 511, 515, 520, 523, 528, 533, 536, - 540, 546, 552, 558, 562, 567, 573, 578, 584, 589, - 595, 601, 604, 608, 613, 617, 621, 627, 631, 637, - 641, 644, 648, 653, 656, 659, 661, 663, 664, 666, - 668, 670, 672, 675, 677, 678, 680, 683, 687, 689, - 693, 695, 697, 699, 701, 705, 707, 711, 714, 715, - 717, 721, 723, 725, 726, 728, 730, 732, 734, 736, - 738, 740, 744, 748, 752, 756, 760, 764, 766, 770, - 774, 778, 782, 784, 786, 788, 792, 794, 796, 798, - 801, 803, 805, 807, 809, 811, 813, 815, 817, 819, - 821, 823, 825, 827, 829, 831, 833, 835, 837, 841, - 845, 848, 851, 853, 855, 858, 860, 864, 868, 872, - 878, 884, 888, 892, 896, 900, 904, 908, 914, 920, - 926, 932, 933, 935, 937, 939, 941, 943, 945, 947, - 949, 951, 953, 955, 957, 959, 961, 963, 965, 967 +#if YY_parse_DEBUG != 0 +static const short yyprhs[] = { 0, + 0, 2, 5, 7, 9, 12, 14, 16, 18, 20, + 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, + 42, 44, 47, 51, 55, 61, 65, 68, 72, 75, + 79, 82, 87, 90, 94, 98, 101, 106, 109, 114, + 117, 122, 125, 130, 133, 135, 138, 142, 146, 152, + 156, 162, 166, 172, 176, 182, 186, 189, 194, 200, + 201, 207, 211, 215, 218, 224, 230, 236, 242, 248, + 252, 255, 259, 262, 266, 269, 273, 276, 280, 283, + 286, 289, 294, 300, 306, 312, 315, 319, 322, 328, + 331, 337, 340, 344, 348, 352, 358, 362, 365, 371, + 377, 382, 386, 389, 393, 396, 400, 403, 406, 409, + 413, 417, 420, 424, 428, 432, 436, 440, 443, 447, + 450, 454, 460, 464, 469, 472, 477, 482, 485, 489, + 495, 501, 507, 511, 516, 522, 527, 533, 538, 544, + 550, 553, 557, 562, 566, 570, 576, 580, 586, 590, + 593, 597, 602, 605, 608, 610, 612, 613, 615, 617, + 619, 621, 624, 626, 627, 629, 632, 636, 638, 642, + 644, 646, 648, 650, 654, 656, 660, 663, 664, 666, + 670, 672, 674, 675, 677, 679, 681, 683, 685, 687, + 689, 693, 697, 701, 705, 709, 713, 715, 718, 719, + 723, 727, 731, 735, 737, 739, 741, 745, 747, 749, + 751, 754, 756, 758, 760, 762, 764, 766, 768, 770, + 772, 774, 776, 778, 780, 782, 784, 786, 788, 790, + 794, 798, 801, 804, 806, 808, 811, 813, 817, 821, + 825, 831, 837, 841, 845, 849, 853, 857, 861, 867, + 873, 879, 885, 886, 888, 890, 892, 894, 896, 898, + 900, 902, 904, 906, 908, 910, 912, 914, 916, 918, + 920 }; -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int16 yyrhs[] = -{ - 157, 0, -1, 158, -1, 204, 22, -1, 22, -1, - 160, -1, 158, 160, -1, 23, -1, 22, -1, 1, - -1, 161, -1, 163, -1, 166, -1, 164, -1, 167, - -1, 168, -1, 169, -1, 170, -1, 171, -1, 172, - -1, 173, -1, 174, -1, 13, -1, 67, 159, -1, - 67, 189, 159, -1, 67, 140, 159, -1, 67, 189, - 188, 140, 159, -1, 38, 187, 159, -1, 46, 159, - -1, 46, 187, 159, -1, 87, 159, -1, 87, 141, - 159, -1, 100, 159, -1, 100, 188, 192, 159, -1, - 26, 159, -1, 49, 177, 159, -1, 50, 177, 159, - -1, 58, 159, -1, 58, 188, 192, 159, -1, 57, - 159, -1, 57, 188, 192, 159, -1, 29, 159, -1, - 29, 188, 192, 159, -1, 30, 159, -1, 30, 188, - 192, 159, -1, 85, 159, -1, 162, -1, 39, 159, - -1, 39, 189, 159, -1, 39, 181, 159, -1, 68, - 189, 188, 177, 159, -1, 68, 177, 159, -1, 69, - 189, 188, 177, 159, -1, 69, 177, 159, -1, 70, - 187, 188, 139, 159, -1, 71, 139, 159, -1, 71, - 189, 188, 139, 159, -1, 72, 189, 159, -1, 72, - 159, -1, 109, 21, 187, 159, -1, 109, 21, 187, - 24, 159, -1, -1, 55, 187, 165, 205, 159, -1, - 55, 187,... [truncated message content] |
From: <bla...@us...> - 2011-12-19 16:09:42
|
Revision: 25025 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=25025&view=rev Author: blackystardust Date: 2011-12-19 16:09:29 +0000 (Mon, 19 Dec 2011) Log Message: ----------- Fixed for msvc compile. Modified Paths: -------------- trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.h Modified: trunk/vice/src/monitor/mon_parse.c =================================================================== --- trunk/vice/src/monitor/mon_parse.c 2011-12-19 11:27:30 UTC (rev 25024) +++ trunk/vice/src/monitor/mon_parse.c 2011-12-19 16:09:29 UTC (rev 25025) @@ -1,103 +1,72 @@ -#define YY_parse_h_included -/*#define YY_USE_CLASS -*/ -/* A Bison++ parser, made from mon_parse.y */ +/* A Bison parser, made by GNU Bison 2.4.2. */ - /* with Bison++ version bison++ Version 1.21.9-1, adapted from GNU bison by coe...@ic... -Maintained by Magnus Ekdahl <ma...@de...> - */ - - -#line 1 "/usr/share/bison++/bison.cc" -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman - - This program is free software; you can redistribute it and/or modify +/* Skeleton implementation for Bison's Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software + Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 1, or (at your option) - any later version. - + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with this program. If not, see <http://www.gnu.org/licenses/>. */ - As a special exception, when this file is copied by Bison++ into a - Bison++ output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison, and has been in Bison++ since 1.21.9. +/* As a special exception, you may create a larger work that contains + part or all of the Bison parser skeleton and distribute that work + under terms of your choice, so long as that work isn't itself a + parser generator using the skeleton or a modified version thereof + as a parser skeleton. Alternatively, if you modify or redistribute + the parser skeleton itself, you may (at your option) remove this + special exception, which will cause the skeleton and the resulting + Bison output files to be licensed under the GNU General Public + License without this special exception. + + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ -*/ +/* C LALR(1) parser skeleton written by Richard Stallman, by + simplifying the original so-called "semantic" parser. */ -/* HEADER SECTION */ -#if defined( _MSDOS ) || defined(MSDOS) || defined(__MSDOS__) - #define __MSDOS_AND_ALIKE -#endif +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ -#if defined(_WINDOWS) && defined(_MSC_VER) - #define __HAVE_NO_ALLOCA - #define __MSDOS_AND_ALIKE -#endif +/* Identify Bison output. */ +#define YYBISON 1 -#ifndef alloca - #if defined( __GNUC__) - #define alloca __builtin_alloca +/* Bison version. */ +#define YYBISON_VERSION "2.4.2" - #elif (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) - #include <alloca.h> +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" - #elif defined (__MSDOS_AND_ALIKE) - #include <malloc.h> - #ifndef __TURBOC__ - /* MS C runtime lib */ - #define alloca _alloca - #endif +/* Pure parsers. */ +#define YYPURE 0 - #elif defined(_AIX) - /* pragma must be put before any C/C++ instruction !! */ - #pragma alloca - #include <malloc.h> +/* Push parsers. */ +#define YYPUSH 0 - #elif defined(__hpux) - #ifdef __cplusplus - extern "C" { - void *alloca (unsigned int); - }; - #else /* not __cplusplus */ - void *alloca (); - #endif /* not __cplusplus */ +/* Pull parsers. */ +#define YYPULL 1 - #endif /* not _AIX not MSDOS, or __TURBOC__ or _AIX, not sparc. */ -#endif /* alloca not defined. */ +/* Using locations. */ +#define YYLSP_NEEDED 0 -#ifdef c_plusplus - #ifndef __cplusplus - #define __cplusplus - #endif -#endif -#ifdef __cplusplus - #ifndef YY_USE_CLASS -/*#warning "For C++ its recomended to use bison++, otherwise classes won't be generated"*/ - #endif -#else - #ifndef __STDC__ - #define const - #endif - #ifdef YY_USE_CLASS - #error "This is a C++ header generated by bison++, please use a C++ compiler!" - #endif -#endif -#include <stdio.h> -#define YYBISON 1 +/* Copy the first part of user declarations. */ - #line 88 "/usr/share/bison++/bison.cc" +/* Line 189 of yacc.c */ #line 1 "mon_parse.y" /* -*- C -*- @@ -224,2581 +193,2968 @@ #define YYDEBUG 1 -#line 127 "mon_parse.y" -typedef union { - MON_ADDR a; - MON_ADDR range[2]; - int i; - REG_ID reg; - CONDITIONAL cond_op; - cond_node_t *cond_node; - RADIXTYPE rt; - ACTION action; - char *str; -} yy_parse_stype; -#define YY_parse_STYPE yy_parse_stype -#ifndef YY_USE_CLASS -#define YYSTYPE yy_parse_stype -#endif -#line 88 "/usr/share/bison++/bison.cc" -/* %{ and %header{ and %union, during decl */ -#define YY_parse_BISON 1 +/* Line 189 of yacc.c */ +#line 199 "mon_parse.c" -#ifndef YY_parse_COMPATIBILITY - #ifndef YY_USE_CLASS - #define YY_parse_COMPATIBILITY 1 - #else - #define YY_parse_COMPATIBILITY 0 - #endif +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 1 #endif -#if YY_parse_COMPATIBILITY != 0 - /* backward compatibility */ - #ifdef YYLTYPE - #ifndef YY_parse_LTYPE - #define YY_parse_LTYPE YYLTYPE - #endif - #endif -/* Testing alternative bison solution - /#ifdef YYSTYPE*/ -#ifndef YY_parse_STYPE - #define YY_parse_STYPE YYSTYPE +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 0 #endif -/*#endif*/ - #ifdef YYDEBUG - #ifndef YY_parse_DEBUG - #define YY_parse_DEBUG YYDEBUG - #endif - #endif - - /* use goto to be compatible */ - #ifndef YY_parse_USE_GOTO - #define YY_parse_USE_GOTO 1 - #endif -#endif -/* use no goto to be clean in C++ */ -#ifndef YY_parse_USE_GOTO - #define YY_parse_USE_GOTO 0 +/* Enabling the token table. */ +#ifndef YYTOKEN_TABLE +# define YYTOKEN_TABLE 0 #endif -#ifndef YY_parse_PURE - #line 130 "/usr/share/bison++/bison.cc" - -#line 130 "/usr/share/bison++/bison.cc" -/* YY_parse_PURE */ +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + H_NUMBER = 258, + D_NUMBER = 259, + O_NUMBER = 260, + B_NUMBER = 261, + CONVERT_OP = 262, + B_DATA = 263, + H_RANGE_GUESS = 264, + D_NUMBER_GUESS = 265, + O_NUMBER_GUESS = 266, + B_NUMBER_GUESS = 267, + BAD_CMD = 268, + MEM_OP = 269, + IF = 270, + MEM_COMP = 271, + MEM_DISK8 = 272, + MEM_DISK9 = 273, + MEM_DISK10 = 274, + MEM_DISK11 = 275, + EQUALS = 276, + TRAIL = 277, + CMD_SEP = 278, + LABEL_ASGN_COMMENT = 279, + CMD_SIDEFX = 280, + CMD_RETURN = 281, + CMD_BLOCK_READ = 282, + CMD_BLOCK_WRITE = 283, + CMD_UP = 284, + CMD_DOWN = 285, + CMD_LOAD = 286, + CMD_SAVE = 287, + CMD_VERIFY = 288, + CMD_IGNORE = 289, + CMD_HUNT = 290, + CMD_FILL = 291, + CMD_MOVE = 292, + CMD_GOTO = 293, + CMD_REGISTERS = 294, + CMD_READSPACE = 295, + CMD_WRITESPACE = 296, + CMD_RADIX = 297, + CMD_MEM_DISPLAY = 298, + CMD_BREAK = 299, + CMD_TRACE = 300, + CMD_IO = 301, + CMD_BRMON = 302, + CMD_COMPARE = 303, + CMD_DUMP = 304, + CMD_UNDUMP = 305, + CMD_EXIT = 306, + CMD_DELETE = 307, + CMD_CONDITION = 308, + CMD_COMMAND = 309, + CMD_ASSEMBLE = 310, + CMD_DISASSEMBLE = 311, + CMD_NEXT = 312, + CMD_STEP = 313, + CMD_PRINT = 314, + CMD_DEVICE = 315, + CMD_HELP = 316, + CMD_WATCH = 317, + CMD_DISK = 318, + CMD_SYSTEM = 319, + CMD_QUIT = 320, + CMD_CHDIR = 321, + CMD_BANK = 322, + CMD_LOAD_LABELS = 323, + CMD_SAVE_LABELS = 324, + CMD_ADD_LABEL = 325, + CMD_DEL_LABEL = 326, + CMD_SHOW_LABELS = 327, + CMD_RECORD = 328, + CMD_MON_STOP = 329, + CMD_PLAYBACK = 330, + CMD_CHAR_DISPLAY = 331, + CMD_SPRITE_DISPLAY = 332, + CMD_TEXT_DISPLAY = 333, + CMD_SCREENCODE_DISPLAY = 334, + CMD_ENTER_DATA = 335, + CMD_ENTER_BIN_DATA = 336, + CMD_KEYBUF = 337, + CMD_BLOAD = 338, + CMD_BSAVE = 339, + CMD_SCREEN = 340, + CMD_UNTIL = 341, + CMD_CPU = 342, + CMD_YYDEBUG = 343, + CMD_BACKTRACE = 344, + CMD_SCREENSHOT = 345, + CMD_PWD = 346, + CMD_DIR = 347, + CMD_RESOURCE_GET = 348, + CMD_RESOURCE_SET = 349, + CMD_ATTACH = 350, + CMD_DETACH = 351, + CMD_MON_RESET = 352, + CMD_TAPECTRL = 353, + CMD_CARTFREEZE = 354, + CMD_CPUHISTORY = 355, + CMD_MEMMAPZAP = 356, + CMD_MEMMAPSHOW = 357, + CMD_MEMMAPSAVE = 358, + CMD_COMMENT = 359, + CMD_LIST = 360, + CMD_EXPORT = 361, + CMD_AUTOSTART = 362, + CMD_AUTOLOAD = 363, + CMD_LABEL_ASGN = 364, + L_PAREN = 365, + R_PAREN = 366, + ARG_IMMEDIATE = 367, + REG_A = 368, + REG_X = 369, + REG_Y = 370, + COMMA = 371, + INST_SEP = 372, + REG_B = 373, + REG_C = 374, + REG_D = 375, + REG_E = 376, + REG_H = 377, + REG_L = 378, + REG_AF = 379, + REG_BC = 380, + REG_DE = 381, + REG_HL = 382, + REG_IX = 383, + REG_IY = 384, + REG_SP = 385, + REG_IXH = 386, + REG_IXL = 387, + REG_IYH = 388, + REG_IYL = 389, + STRING = 390, + FILENAME = 391, + R_O_L = 392, + OPCODE = 393, + LABEL = 394, + BANKNAME = 395, + CPUTYPE = 396, + MON_REGISTER = 397, + COMPARE_OP = 398, + RADIX_TYPE = 399, + INPUT_SPEC = 400, + CMD_CHECKPT_ON = 401, + CMD_CHECKPT_OFF = 402, + TOGGLE = 403, + MASK = 404 + }; #endif +/* Tokens. */ +#define H_NUMBER 258 +#define D_NUMBER 259 +#define O_NUMBER 260 +#define B_NUMBER 261 +#define CONVERT_OP 262 +#define B_DATA 263 +#define H_RANGE_GUESS 264 +#define D_NUMBER_GUESS 265 +#define O_NUMBER_GUESS 266 +#define B_NUMBER_GUESS 267 +#define BAD_CMD 268 +#define MEM_OP 269 +#define IF 270 +#define MEM_COMP 271 +#define MEM_DISK8 272 +#define MEM_DISK9 273 +#define MEM_DISK10 274 +#define MEM_DISK11 275 +#define EQUALS 276 +#define TRAIL 277 +#define CMD_SEP 278 +#define LABEL_ASGN_COMMENT 279 +#define CMD_SIDEFX 280 +#define CMD_RETURN 281 +#define CMD_BLOCK_READ 282 +#define CMD_BLOCK_WRITE 283 +#define CMD_UP 284 +#define CMD_DOWN 285 +#define CMD_LOAD 286 +#define CMD_SAVE 287 +#define CMD_VERIFY 288 +#define CMD_IGNORE 289 +#define CMD_HUNT 290 +#define CMD_FILL 291 +#define CMD_MOVE 292 +#define CMD_GOTO 293 +#define CMD_REGISTERS 294 +#define CMD_READSPACE 295 +#define CMD_WRITESPACE 296 +#define CMD_RADIX 297 +#define CMD_MEM_DISPLAY 298 +#define CMD_BREAK 299 +#define CMD_TRACE 300 +#define CMD_IO 301 +#define CMD_BRMON 302 +#define CMD_COMPARE 303 +#define CMD_DUMP 304 +#define CMD_UNDUMP 305 +#define CMD_EXIT 306 +#define CMD_DELETE 307 +#define CMD_CONDITION 308 +#define CMD_COMMAND 309 +#define CMD_ASSEMBLE 310 +#define CMD_DISASSEMBLE 311 +#define CMD_NEXT 312 +#define CMD_STEP 313 +#define CMD_PRINT 314 +#define CMD_DEVICE 315 +#define CMD_HELP 316 +#define CMD_WATCH 317 +#define CMD_DISK 318 +#define CMD_SYSTEM 319 +#define CMD_QUIT 320 +#define CMD_CHDIR 321 +#define CMD_BANK 322 +#define CMD_LOAD_LABELS 323 +#define CMD_SAVE_LABELS 324 +#define CMD_ADD_LABEL 325 +#define CMD_DEL_LABEL 326 +#define CMD_SHOW_LABELS 327 +#define CMD_RECORD 328 +#define CMD_MON_STOP 329 +#define CMD_PLAYBACK 330 +#define CMD_CHAR_DISPLAY 331 +#define CMD_SPRITE_DISPLAY 332 +#define CMD_TEXT_DISPLAY 333 +#define CMD_SCREENCODE_DISPLAY 334 +#define CMD_ENTER_DATA 335 +#define CMD_ENTER_BIN_DATA 336 +#define CMD_KEYBUF 337 +#define CMD_BLOAD 338 +#define CMD_BSAVE 339 +#define CMD_SCREEN 340 +#define CMD_UNTIL 341 +#define CMD_CPU 342 +#define CMD_YYDEBUG 343 +#define CMD_BACKTRACE 344 +#define CMD_SCREENSHOT 345 +#define CMD_PWD 346 +#define CMD_DIR 347 +#define CMD_RESOURCE_GET 348 +#define CMD_RESOURCE_SET 349 +#define CMD_ATTACH 350 +#define CMD_DETACH 351 +#define CMD_MON_RESET 352 +#define CMD_TAPECTRL 353 +#define CMD_CARTFREEZE 354 +#define CMD_CPUHISTORY 355 +#define CMD_MEMMAPZAP 356 +#define CMD_MEMMAPSHOW 357 +#define CMD_MEMMAPSAVE 358 +#define CMD_COMMENT 359 +#define CMD_LIST 360 +#define CMD_EXPORT 361 +#define CMD_AUTOSTART 362 +#define CMD_AUTOLOAD 363 +#define CMD_LABEL_ASGN 364 +#define L_PAREN 365 +#define R_PAREN 366 +#define ARG_IMMEDIATE 367 +#define REG_A 368 +#define REG_X 369 +#define REG_Y 370 +#define COMMA 371 +#define INST_SEP 372 +#define REG_B 373 +#define REG_C 374 +#define REG_D 375 +#define REG_E 376 +#define REG_H 377 +#define REG_L 378 +#define REG_AF 379 +#define REG_BC 380 +#define REG_DE 381 +#define REG_HL 382 +#define REG_IX 383 +#define REG_IY 384 +#define REG_SP 385 +#define REG_IXH 386 +#define REG_IXL 387 +#define REG_IYH 388 +#define REG_IYL 389 +#define STRING 390 +#define FILENAME 391 +#define R_O_L 392 +#define OPCODE 393 +#define LABEL 394 +#define BANKNAME 395 +#define CPUTYPE 396 +#define MON_REGISTER 397 +#define COMPARE_OP 398 +#define RADIX_TYPE 399 +#define INPUT_SPEC 400 +#define CMD_CHECKPT_ON 401 +#define CMD_CHECKPT_OFF 402 +#define TOGGLE 403 +#define MASK 404 -/* section apres lecture def, avant lecture grammaire S2 */ - #line 134 "/usr/share/bison++/bison.cc" -#line 134 "/usr/share/bison++/bison.cc" -/* prefix */ -#ifndef YY_parse_DEBUG - #line 136 "/usr/share/bison++/bison.cc" -#define YY_parse_DEBUG 1 +#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +typedef union YYSTYPE +{ -#line 136 "/usr/share/bison++/bison.cc" -/* YY_parse_DEBUG */ -#endif +/* Line 214 of yacc.c */ +#line 127 "mon_parse.y" + MON_ADDR a; + MON_ADDR range[2]; + int i; + REG_ID reg; + CONDITIONAL cond_op; + cond_node_t *cond_node; + RADIXTYPE rt; + ACTION action; + char *str; -#ifndef YY_parse_LSP_NEEDED - #line 141 "/usr/share/bison++/bison.cc" -#line 141 "/usr/share/bison++/bison.cc" - /* YY_parse_LSP_NEEDED*/ +/* Line 214 of yacc.c */ +#line 547 "mon_parse.c" +} YYSTYPE; +# define YYSTYPE_IS_TRIVIAL 1 +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 #endif +/* Copy the second part of user declarations. */ -/* DEFAULT LTYPE*/ -#ifdef YY_parse_LSP_NEEDED -#ifndef YY_parse_LTYPE -#ifndef BISON_YYLTYPE_ISDECLARED -#define BISON_YYLTYPE_ISDECLARED -typedef - struct yyltype - { - int timestamp; - int first_line; - int first_column; - int last_line; - int last_column; - char *text; - } - yyltype; -#endif -#define YY_parse_LTYPE yyltype -#endif -#endif -/* DEFAULT STYPE*/ - /* We used to use `unsigned long' as YY_parse_STYPE on MSDOS, - but it seems better to be consistent. - Most programs should declare their own type anyway. */ +/* Line 264 of yacc.c */ +#line 559 "mon_parse.c" -#ifndef YY_parse_STYPE -#define YY_parse_STYPE int +#ifdef short +# undef short #endif -/* DEFAULT MISCELANEOUS */ -#ifndef YY_parse_PARSE -#define YY_parse_PARSE yyparse -#endif -#ifndef YY_parse_LEX -#define YY_parse_LEX yylex -#endif -#ifndef YY_parse_LVAL -#define YY_parse_LVAL yylval -#endif -#ifndef YY_parse_LLOC -#define YY_parse_LLOC yylloc -#endif -#ifndef YY_parse_CHAR -#define YY_parse_CHAR yychar -#endif -#ifndef YY_parse_NERRS -#define YY_parse_NERRS yynerrs -#endif -#ifndef YY_parse_DEBUG_FLAG -#define YY_parse_DEBUG_FLAG yydebug -#endif -#ifndef YY_parse_ERROR -#define YY_parse_ERROR yyerror -#endif -#ifndef YY_parse_PARSE_PARAM - #ifndef YY_USE_CLASS - #ifdef YYPARSE_PARAM - #define YY_parse_PARSE_PARAM void* YYPARSE_PARAM - #else - #ifndef __STDC__ - #ifndef __cplusplus - #define YY_parse_PARSE_PARAM - #endif - #endif - #endif - #endif - #ifndef YY_parse_PARSE_PARAM - #define YY_parse_PARSE_PARAM void - #endif +#ifdef YYTYPE_UINT8 +typedef YYTYPE_UINT8 yytype_uint8; +#else +typedef unsigned char yytype_uint8; #endif -#if YY_parse_COMPATIBILITY != 0 -/* backward compatibility */ -#ifdef YY_parse_LTYPE -#ifndef YYLTYPE -#define YYLTYPE YY_parse_LTYPE +#ifdef YYTYPE_INT8 +typedef YYTYPE_INT8 yytype_int8; +#elif (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +typedef signed char yytype_int8; #else -/* WARNING obsolete !!! user defined YYLTYPE not reported into generated header */ +typedef short int yytype_int8; #endif -#endif -/* Removed due to bison compabilityproblems -/#ifndef YYSTYPE -/#define YYSTYPE YY_parse_STYPE -/#else*/ -/* WARNING obsolete !!! user defined YYSTYPE not reported into generated header */ -/*#endif*/ - -#ifdef YY_parse_PURE -# ifndef YYPURE -# define YYPURE YY_parse_PURE -# endif +#ifdef YYTYPE_UINT16 +typedef YYTYPE_UINT16 yytype_uint16; +#else +typedef unsigned short int yytype_uint16; #endif -#ifdef YY_parse_DEBUG -# ifndef YYDEBUG -# define YYDEBUG YY_parse_DEBUG -# endif +#ifdef YYTYPE_INT16 +typedef YYTYPE_INT16 yytype_int16; +#else +typedef short int yytype_int16; #endif -#ifndef YY_parse_ERROR_VERBOSE - #ifdef YYERROR_VERBOSE - #define YY_parse_ERROR_VERBOSE YYERROR_VERBOSE - #endif +#ifndef YYSIZE_T +# ifdef __SIZE_TYPE__ +# define YYSIZE_T __SIZE_TYPE__ +# elif defined size_t +# define YYSIZE_T size_t +# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +# include <stddef.h> /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# else +# define YYSIZE_T unsigned int +# endif #endif -#ifndef YY_parse_LSP_NEEDED -# ifdef YYLSP_NEEDED -# define YY_parse_LSP_NEEDED YYLSP_NEEDED +#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) + +#ifndef YY_ +# if defined YYENABLE_NLS && YYENABLE_NLS +# if ENABLE_NLS +# include <libintl.h> /* INFRINGES ON USER NAME SPACE */ +# define YY_(msgid) dgettext ("bison-runtime", msgid) # endif +# endif +# ifndef YY_ +# define YY_(msgid) msgid +# endif #endif +/* Suppress unused-variable warnings by "using" E. */ +#if ! defined lint || defined __GNUC__ +# define YYUSE(e) ((void) (e)) +#else +# define YYUSE(e) /* empty */ #endif -#ifndef YY_USE_CLASS -/* TOKEN C */ - - #line 263 "/usr/share/bison++/bison.cc" -#define H_NUMBER 258 -#define D_NUMBER 259 -#define O_NUMBER 260 -#define B_NUMBER 261 -#define CONVERT_OP 262 -#define B_DATA 263 -#define H_RANGE_GUESS 264 -#define D_NUMBER_GUESS 265 -#define O_NUMBER_GUESS 266 -#define B_NUMBER_GUESS 267 -#define BAD_CMD 268 -#define MEM_OP 269 -#define IF 270 -#define MEM_COMP 271 -#define MEM_DISK8 272 -#define MEM_DISK9 273 -#define MEM_DISK10 274 -#define MEM_DISK11 275 -#define EQUALS 276 -#define TRAIL 277 -#define CMD_SEP 278 -#define LABEL_ASGN_COMMENT 279 -#define CMD_SIDEFX 280 -#define CMD_RETURN 281 -#define CMD_BLOCK_READ 282 -#define CMD_BLOCK_WRITE 283 -#define CMD_UP 284 -#define CMD_DOWN 285 -#define CMD_LOAD 286 -#define CMD_SAVE 287 -#define CMD_VERIFY 288 -#define CMD_IGNORE 289 -#define CMD_HUNT 290 -#define CMD_FILL 291 -#define CMD_MOVE 292 -#define CMD_GOTO 293 -#define CMD_REGISTERS 294 -#define CMD_READSPACE 295 -#define CMD_WRITESPACE 296 -#define CMD_RADIX 297 -#define CMD_MEM_DISPLAY 298 -#define CMD_BREAK 299 -#define CMD_TRACE 300 -#define CMD_IO 301 -#define CMD_BRMON 302 -#define CMD_COMPARE 303 -#define CMD_DUMP 304 -#define CMD_UNDUMP 305 -#define CMD_EXIT 306 -#define CMD_DELETE 307 -#define CMD_CONDITION 308 -#define CMD_COMMAND 309 -#define CMD_ASSEMBLE 310 -#define CMD_DISASSEMBLE 311 -#define CMD_NEXT 312 -#define CMD_STEP 313 -#define CMD_PRINT 314 -#define CMD_DEVICE 315 -#define CMD_HELP 316 -#define CMD_WATCH 317 -#define CMD_DISK 318 -#define CMD_SYSTEM 319 -#define CMD_QUIT 320 -#define CMD_CHDIR 321 -#define CMD_BANK 322 -#define CMD_LOAD_LABELS 323 -#define CMD_SAVE_LABELS 324 -#define CMD_ADD_LABEL 325 -#define CMD_DEL_LABEL 326 -#define CMD_SHOW_LABELS 327 -#define CMD_RECORD 328 -#define CMD_MON_STOP 329 -#define CMD_PLAYBACK 330 -#define CMD_CHAR_DISPLAY 331 -#define CMD_SPRITE_DISPLAY 332 -#define CMD_TEXT_DISPLAY 333 -#define CMD_SCREENCODE_DISPLAY 334 -#define CMD_ENTER_DATA 335 -#define CMD_ENTER_BIN_DATA 336 -#define CMD_KEYBUF 337 -#define CMD_BLOAD 338 -#define CMD_BSAVE 339 -#define CMD_SCREEN 340 -#define CMD_UNTIL 341 -#define CMD_CPU 342 -#define CMD_YYDEBUG 343 -#define CMD_BACKTRACE 344 -#define CMD_SCREENSHOT 345 -#define CMD_PWD 346 -#define CMD_DIR 347 -#define CMD_RESOURCE_GET 348 -#define CMD_RESOURCE_SET 349 -#define CMD_ATTACH 350 -#define CMD_DETACH 351 -#define CMD_MON_RESET 352 -#define CMD_TAPECTRL 353 -#define CMD_CARTFREEZE 354 -#define CMD_CPUHISTORY 355 -#define CMD_MEMMAPZAP 356 -#define CMD_MEMMAPSHOW 357 -#define CMD_MEMMAPSAVE 358 -#define CMD_COMMENT 359 -#define CMD_LIST 360 -#define CMD_EXPORT 361 -#define CMD_AUTOSTART 362 -#define CMD_AUTOLOAD 363 -#define CMD_LABEL_ASGN 364 -#define L_PAREN 365 -#define R_PAREN 366 -#define ARG_IMMEDIATE 367 -#define REG_A 368 -#define REG_X 369 -#define REG_Y 370 -#define COMMA 371 -#define INST_SEP 372 -#define REG_B 373 -#define REG_C 374 -#define REG_D 375 -#define REG_E 376 -#define REG_H 377 -#define REG_L 378 -#define REG_AF 379 -#define REG_BC 380 -#define REG_DE 381 -#define REG_HL 382 -#define REG_IX 383 -#define REG_IY 384 -#define REG_SP 385 -#define REG_IXH 386 -#define REG_IXL 387 -#define REG_IYH 388 -#define REG_IYL 389 -#define STRING 390 -#define FILENAME 391 -#define R_O_L 392 -#define OPCODE 393 -#define LABEL 394 -#define BANKNAME 395 -#define CPUTYPE 396 -#define MON_REGISTER 397 -#define COMPARE_OP 398 -#define RADIX_TYPE 399 -#define INPUT_SPEC 400 -#define CMD_CHECKPT_ON 401 -#define CMD_CHECKPT_OFF 402 -#define TOGGLE 403 -#define MASK 404 - - -#line 263 "/usr/share/bison++/bison.cc" - /* #defines tokens */ +/* Identity function, used to suppress warnings about constant conditions. */ +#ifndef lint +# define YYID(n) (n) #else -/* CLASS */ -#ifndef YY_parse_CLASS -#define YY_parse_CLASS parse +#if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +static int +YYID (int yyi) +#else +static int +YYID (yyi) + int yyi; #endif -#ifndef YY_parse_INHERIT -#define YY_parse_INHERIT +{ + return yyi; +} #endif -#ifndef YY_parse_MEMBERS -#define YY_parse_MEMBERS -#endif -#ifndef YY_parse_LEX_BODY -#define YY_parse_LEX_BODY -#endif -#ifndef YY_parse_ERROR_BODY -#define YY_parse_ERROR_BODY -#endif -#ifndef YY_parse_CONSTRUCTOR_PARAM -#define YY_parse_CONSTRUCTOR_PARAM -#endif -#ifndef YY_parse_CONSTRUCTOR_CODE -#define YY_parse_CONSTRUCTOR_CODE -#endif -#ifndef YY_parse_CONSTRUCTOR_INIT -#define YY_parse_CONSTRUCTOR_INIT -#endif -/* choose between enum and const */ -#ifndef YY_parse_USE_CONST_TOKEN -#define YY_parse_USE_CONST_TOKEN 0 -/* yes enum is more compatible with flex, */ -/* so by default we use it */ -#endif -#if YY_parse_USE_CONST_TOKEN != 0 -#ifndef YY_parse_ENUM_TOKEN -#define YY_parse_ENUM_TOKEN yy_parse_enum_token -#endif -#endif -class YY_parse_CLASS YY_parse_INHERIT -{ -public: -#if YY_parse_USE_CONST_TOKEN != 0 -/* static const int token ... */ +#if ! defined yyoverflow || YYERROR_VERBOSE - #line 307 "/usr/share/bison++/bison.cc" -static const int H_NUMBER; -static const int D_NUMBER; -static const int O_NUMBER; -static const int B_NUMBER; -static const int CONVERT_OP; -static const int B_DATA; -static const int H_RANGE_GUESS; -static const int D_NUMBER_GUESS; -static const int O_NUMBER_GUESS; -static const int B_NUMBER_GUESS; -static const int BAD_CMD; -static const int MEM_OP; -static const int IF; -static const int MEM_COMP; -static const int MEM_DISK8; -static const int MEM_DISK9; -static const int MEM_DISK10; -static const int MEM_DISK11; -static const int EQUALS; -static const int TRAIL; -static const int CMD_SEP; -static const int LABEL_ASGN_COMMENT; -static const int CMD_SIDEFX; -static const int CMD_RETURN; -static const int CMD_BLOCK_READ; -static const int CMD_BLOCK_WRITE; -static const int CMD_UP; -static const int CMD_DOWN; -static const int CMD_LOAD; -static const int CMD_SAVE; -static const int CMD_VERIFY; -static const int CMD_IGNORE; -static const int CMD_HUNT; -static const int CMD_FILL; -static const int CMD_MOVE; -static const int CMD_GOTO; -static const int CMD_REGISTERS; -static const int CMD_READSPACE; -static const int CMD_WRITESPACE; -static const int CMD_RADIX; -static const int CMD_MEM_DISPLAY; -static const int CMD_BREAK; -static const int CMD_TRACE; -static const int CMD_IO; -static const int CMD_BRMON; -static const int CMD_COMPARE; -static const int CMD_DUMP; -static const int CMD_UNDUMP; -static const int CMD_EXIT; -static const int CMD_DELETE; -static const int CMD_CONDITION; -static const int CMD_COMMAND; -static const int CMD_ASSEMBLE; -static const int CMD_DISASSEMBLE; -static const int CMD_NEXT; -static const int CMD_STEP; -static const int CMD_PRINT; -static const int CMD_DEVICE; -static const int CMD_HELP; -static const int CMD_WATCH; -static const int CMD_DISK; -static const int CMD_SYSTEM; -static const int CMD_QUIT; -static const int CMD_CHDIR; -static const int CMD_BANK; -static const int CMD_LOAD_LABELS; -static const int CMD_SAVE_LABELS; -static const int CMD_ADD_LABEL; -static const int CMD_DEL_LABEL; -static const int CMD_SHOW_LABELS; -static const int CMD_RECORD; -static const int CMD_MON_STOP; -static const int CMD_PLAYBACK; -static const int CMD_CHAR_DISPLAY; -static const int CMD_SPRITE_DISPLAY; -static const int CMD_TEXT_DISPLAY; -static const int CMD_SCREENCODE_DISPLAY; -static const int CMD_ENTER_DATA; -static const int CMD_ENTER_BIN_DATA; -static const int CMD_KEYBUF; -static const int CMD_BLOAD; -static const int CMD_BSAVE; -static const int CMD_SCREEN; -static const int CMD_UNTIL; -static const int CMD_CPU; -static const int CMD_YYDEBUG; -static const int CMD_BACKTRACE; -static const int CMD_SCREENSHOT; -static const int CMD_PWD; -static const int CMD_DIR; -static const int CMD_RESOURCE_GET; -static const int CMD_RESOURCE_SET; -static const int CMD_ATTACH; -static const int CMD_DETACH; -static const int CMD_MON_RESET; -static const int CMD_TAPECTRL; -static const int CMD_CARTFREEZE; -static const int CMD_CPUHISTORY; -static const int CMD_MEMMAPZAP; -static const int CMD_MEMMAPSHOW; -static const int CMD_MEMMAPSAVE; -static const int CMD_COMMENT; -static const int CMD_LIST; -static const int CMD_EXPORT; -static const int CMD_AUTOSTART; -static const int CMD_AUTOLOAD; -static const int CMD_LABEL_ASGN; -static const int L_PAREN; -static const int R_PAREN; -static const int ARG_IMMEDIATE; -static const int REG_A; -static const int REG_X; -static const int REG_Y; -static const int COMMA; -static const int INST_SEP; -static const int REG_B; -static const int REG_C; -static const int REG_D; -static const int REG_E; -static const int REG_H; -static const int REG_L; -static const int REG_AF; -static const int REG_BC; -static const int REG_DE; -static const int REG_HL; -static const int REG_IX; -static const int REG_IY; -static const int REG_SP; -static const int REG_IXH; -static const int REG_IXL; -static const int REG_IYH; -static const int REG_IYL; -static const int STRING; -static const int FILENAME; -static const int R_O_L; -static const int OPCODE; -static const int LABEL; -static const int BANKNAME; -static const int CPUTYPE; -static const int MON_REGISTER; -static const int COMPARE_OP; -static const int RADIX_TYPE; -static const int INPUT_SPEC; -static const int CMD_CHECKPT_ON; -static const int CMD_CHECKPT_OFF; -static const int TOGGLE; -static const int MASK; +/* The parser invokes alloca or malloc; define the necessary symbols. */ +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# elif defined __BUILTIN_VA_ARG_INCR +# include <alloca.h> /* INFRINGES ON USER NAME SPACE */ +# elif defined _AIX +# define YYSTACK_ALLOC __alloca +# elif defined _MSC_VER +# include <malloc.h> /* INFRINGES ON USER NAME SPACE */ +# define alloca _alloca +# else +# define YYSTACK_ALLOC alloca +# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# ifndef _STDLIB_H +# define _STDLIB_H 1 +# endif +# endif +# endif +# endif +# endif -#line 307 "/usr/share/bison++/bison.cc" - /* decl const */ -#else -enum YY_parse_ENUM_TOKEN { YY_parse_NULL_TOKEN=0 +# ifdef YYSTACK_ALLOC + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) +# ifndef YYSTACK_ALLOC_MAXIMUM + /* The OS might guarantee only one guard page at the bottom of the stack, + and a page size can be as small as 4096 bytes. So we cannot safely + invoke alloca (N) if N exceeds 4096. Use a slightly smaller number + to allow for a few compiler-allocated temporary stack slots. */ +# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ +# endif +# else +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# ifndef YYSTACK_ALLOC_MAXIMUM +# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM +# endif +# if (defined __cplusplus && ! defined _STDLIB_H \ + && ! ((defined YYMALLOC || defined malloc) \ + && (defined YYFREE || defined free))) +# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ +# ifndef _STDLIB_H +# define _STDLIB_H 1 +# endif +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# ifndef YYFREE +# define YYFREE free +# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +void free (void *); /* INFRINGES ON USER NAME SPACE */ +# endif +# endif +# endif +#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - #line 310 "/usr/share/bison++/bison.cc" - ,H_NUMBER=258 - ,D_NUMBER=259 - ,O_NUMBER=260 - ,B_NUMBER=261 - ,CONVERT_OP=262 - ,B_DATA=263 - ,H_RANGE_GUESS=264 - ,D_NUMBER_GUESS=265 - ,O_NUMBER_GUESS=266 - ,B_NUMBER_GUESS=267 - ,BAD_CMD=268 - ,MEM_OP=269 - ,IF=270 - ,MEM_COMP=271 - ,MEM_DISK8=272 - ,MEM_DISK9=273 - ,MEM_DISK10=274 - ,MEM_DISK11=275 - ,EQUALS=276 - ,TRAIL=277 - ,CMD_SEP=278 - ,LABEL_ASGN_COMMENT=279 - ,CMD_SIDEFX=280 - ,CMD_RETURN=281 - ,CMD_BLOCK_READ=282 - ,CMD_BLOCK_WRITE=283 - ,CMD_UP=284 - ,CMD_DOWN=285 - ,CMD_LOAD=286 - ,CMD_SAVE=287 - ,CMD_VERIFY=288 - ,CMD_IGNORE=289 - ,CMD_HUNT=290 - ,CMD_FILL=291 - ,CMD_MOVE=292 - ,CMD_GOTO=293 - ,CMD_REGISTERS=294 - ,CMD_READSPACE=295 - ,CMD_WRITESPACE=296 - ,CMD_RADIX=297 - ,CMD_MEM_DISPLAY=298 - ,CMD_BREAK=299 - ,CMD_TRACE=300 - ,CMD_IO=301 - ,CMD_BRMON=302 - ,CMD_COMPARE=303 - ,CMD_DUMP=304 - ,CMD_UNDUMP=305 - ,CMD_EXIT=306 - ,CMD_DELETE=307 - ,CMD_CONDITION=308 - ,CMD_COMMAND=309 - ,CMD_ASSEMBLE=310 - ,CMD_DISASSEMBLE=311 - ,CMD_NEXT=312 - ,CMD_STEP=313 - ,CMD_PRINT=314 - ,CMD_DEVICE=315 - ,CMD_HELP=316 - ,CMD_WATCH=317 - ,CMD_DISK=318 - ,CMD_SYSTEM=319 - ,CMD_QUIT=320 - ,CMD_CHDIR=321 - ,CMD_BANK=322 - ,CMD_LOAD_LABELS=323 - ,CMD_SAVE_LABELS=324 - ,CMD_ADD_LABEL=325 - ,CMD_DEL_LABEL=326 - ,CMD_SHOW_LABELS=327 - ,CMD_RECORD=328 - ,CMD_MON_STOP=329 - ,CMD_PLAYBACK=330 - ,CMD_CHAR_DISPLAY=331 - ,CMD_SPRITE_DISPLAY=332 - ,CMD_TEXT_DISPLAY=333 - ,CMD_SCREENCODE_DISPLAY=334 - ,CMD_ENTER_DATA=335 - ,CMD_ENTER_BIN_DATA=336 - ,CMD_KEYBUF=337 - ,CMD_BLOAD=338 - ,CMD_BSAVE=339 - ,CMD_SCREEN=340 - ,CMD_UNTIL=341 - ,CMD_CPU=342 - ,CMD_YYDEBUG=343 - ,CMD_BACKTRACE=344 - ,CMD_SCREENSHOT=345 - ,CMD_PWD=346 - ,CMD_DIR=347 - ,CMD_RESOURCE_GET=348 - ,CMD_RESOURCE_SET=349 - ,CMD_ATTACH=350 - ,CMD_DETACH=351 - ,CMD_MON_RESET=352 - ,CMD_TAPECTRL=353 - ,CMD_CARTFREEZE=354 - ,CMD_CPUHISTORY=355 - ,CMD_MEMMAPZAP=356 - ,CMD_MEMMAPSHOW=357 - ,CMD_MEMMAPSAVE=358 - ,CMD_COMMENT=359 - ,CMD_LIST=360 - ,CMD_EXPORT=361 - ,CMD_AUTOSTART=362 - ,CMD_AUTOLOAD=363 - ,CMD_LABEL_ASGN=364 - ,L_PAREN=365 - ,R_PAREN=366 - ,ARG_IMMEDIATE=367 - ,REG_A=368 - ,REG_X=369 - ,REG_Y=370 - ,COMMA=371 - ,INST_SEP=372 - ,REG_B=373 - ,REG_C=374 - ,REG_D=375 - ,REG_E=376 - ,REG_H=377 - ,REG_L=378 - ,REG_AF=379 - ,REG_BC=380 - ,REG_DE=381 - ,REG_HL=382 - ,REG_IX=383 - ,REG_IY=384 - ,REG_SP=385 - ,REG_IXH=386 - ,REG_IXL=387 - ,REG_IYH=388 - ,REG_IYL=389 - ,STRING=390 - ,FILENAME=391 - ,R_O_L=392 - ,OPCODE=393 - ,LABEL=394 - ,BANKNAME=395 - ,CPUTYPE=396 - ,MON_REGISTER=397 - ,COMPARE_OP=398 - ,RADIX_TYPE=399 - ,INPUT_SPEC=400 - ,CMD_CHECKPT_ON=401 - ,CMD_CHECKPT_OFF=402 - ,TOGGLE=403 - ,MASK=404 +#if (! defined yyoverflow \ + && (! defined __cplusplus \ + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) -#line 310 "/usr/share/bison++/bison.cc" - /* enum token */ - }; /* end of enum declaration */ -#endif -public: - int YY_parse_PARSE (YY_parse_PARSE_PARAM); - virtual void YY_parse_ERROR(char *msg) YY_parse_ERROR_BODY; -#ifdef YY_parse_PURE -#ifdef YY_parse_LSP_NEEDED - virtual int YY_parse_LEX (YY_parse_STYPE *YY_parse_LVAL,YY_parse_LTYPE *YY_parse_LLOC) YY_parse_LEX_BODY; -#else - virtual int YY_parse_LEX (YY_parse_STYPE *YY_parse_LVAL) YY_parse_LEX_BODY; -#endif -#else - virtual int YY_parse_LEX() YY_parse_LEX_BODY; - YY_parse_STYPE YY_parse_LVAL; -#ifdef YY_parse_LSP_NEEDED - YY_parse_LTYPE YY_parse_LLOC; -#endif - int YY_parse_NERRS; - int YY_parse_CHAR; -#endif -#if YY_parse_DEBUG != 0 - int YY_parse_DEBUG_FLAG; /* nonzero means print parse trace */ -#endif -public: - YY_parse_CLASS(YY_parse_CONSTRUCTOR_PARAM); -public: - YY_parse_MEMBERS +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + yytype_int16 yyss_alloc; + YYSTYPE yyvs_alloc; }; -/* other declare folow */ -#if YY_parse_USE_CONST_TOKEN != 0 - #line 341 "/usr/share/bison++/bison.cc" -const int YY_parse_CLASS::H_NUMBER=258; -const int YY_parse_CLASS::D_NUMBER=259; -const int YY_parse_CLASS::O_NUMBER=260; -const int YY_parse_CLASS::B_NUMBER=261; -const int YY_parse_CLASS::CONVERT_OP=262; -const int YY_parse_CLASS::B_DATA=263; -const int YY_parse_CLASS::H_RANGE_GUESS=264; -const int YY_parse_CLASS::D_NUMBER_GUESS=265; -const int YY_parse_CLASS::O_NUMBER_GUESS=266; -const int YY_parse_CLASS::B_NUMBER_GUESS=267; -const int YY_parse_CLASS::BAD_CMD=268; -const int YY_parse_CLASS::MEM_OP=269; -const int YY_parse_CLASS::IF=270; -const int YY_parse_CLASS::MEM_COMP=271; -const int YY_parse_CLASS::MEM_DISK8=272; -const int YY_parse_CLASS::MEM_DISK9=273; -const int YY_parse_CLASS::MEM_DISK10=274; -const int YY_parse_CLASS::MEM_DISK11=275; -const int YY_parse_CLASS::EQUALS=276; -const int YY_parse_CLASS::TRAIL=277; -const int YY_parse_CLASS::CMD_SEP=278; -const int YY_parse_CLASS::LABEL_ASGN_COMMENT=279; -const int YY_parse_CLASS::CMD_SIDEFX=280; -const int YY_parse_CLASS::CMD_RETURN=281; -const int YY_parse_CLASS::CMD_BLOCK_READ=282; -const int YY_parse_CLASS::CMD_BLOCK_WRITE=283; -const int YY_parse_CLASS::CMD_UP=284; -const int YY_parse_CLASS::CMD_DOWN=285; -const int YY_parse_CLASS::CMD_LOAD=286; -const int YY_parse_CLASS::CMD_SAVE=287; -const int YY_parse_CLASS::CMD_VERIFY=288; -const int YY_parse_CLASS::CMD_IGNORE=289; -const int YY_parse_CLASS::CMD_HUNT=290; -const int YY_parse_CLASS::CMD_FILL=291; -const int YY_parse_CLASS::CMD_MOVE=292; -const int YY_parse_CLASS::CMD_GOTO=293; -const int YY_parse_CLASS::CMD_REGISTERS=294; -const int YY_parse_CLASS::CMD_READSPACE=295; -const int YY_parse_CLASS::CMD_WRITESPACE=296; -const int YY_parse_CLASS::CMD_RADIX=297; -const int YY_parse_CLASS::CMD_MEM_DISPLAY=298; -const int YY_parse_CLASS::CMD_BREAK=299; -const int YY_parse_CLASS::CMD_TRACE=300; -const int YY_parse_CLASS::CMD_IO=301; -const int YY_parse_CLASS::CMD_BRMON=302; -const int YY_parse_CLASS::CMD_COMPARE=303; -const int YY_parse_CLASS::CMD_DUMP=304; -const int YY_parse_CLASS::CMD_UNDUMP=305; -const int YY_parse_CLASS::CMD_EXIT=306; -const int YY_parse_CLASS::CMD_DELETE=307; -const int YY_parse_CLASS::CMD_CONDITION=308; -const int YY_parse_CLASS::CMD_COMMAND=309; -const int YY_parse_CLASS::CMD_ASSEMBLE=310; -const int YY_parse_CLASS::CMD_DISASSEMBLE=311; -const int YY_parse_CLASS::CMD_NEXT=312; -const int YY_parse_CLASS::CMD_STEP=313; -const int YY_parse_CLASS::CMD_PRINT=314; -const int YY_parse_CLASS::CMD_DEVICE=315; -const int YY_parse_CLASS::CMD_HELP=316; -const int YY_parse_CLASS::CMD_WATCH=317; -const int YY_parse_CLASS::CMD_DISK=318; -const int YY_parse_CLASS::CMD_SYSTEM=319; -const int YY_parse_CLASS::CMD_QUIT=320; -const int YY_parse_CLASS::CMD_CHDIR=321; -const int YY_parse_CLASS::CMD_BANK=322; -const int YY_parse_CLASS::CMD_LOAD_LABELS=323; -const int YY_parse_CLASS::CMD_SAVE_LABELS=324; -const int YY_parse_CLASS::CMD_ADD_LABEL=325; -const int YY_parse_CLASS::CMD_DEL_LABEL=326; -const int YY_parse_CLASS::CMD_SHOW_LABELS=327; -const int YY_parse_CLASS::CMD_RECORD=328; -const int YY_parse_CLASS::CMD_MON_STOP=329; -const int YY_parse_CLASS::CMD_PLAYBACK=330; -const int YY_parse_CLASS::CMD_CHAR_DISPLAY=331; -const int YY_parse_CLASS::CMD_SPRITE_DISPLAY=332; -const int YY_parse_CLASS::CMD_TEXT_DISPLAY=333; -const int YY_parse_CLASS::CMD_SCREENCODE_DISPLAY=334; -const int YY_parse_CLASS::CMD_ENTER_DATA=335; -const int YY_parse_CLASS::CMD_ENTER_BIN_DATA=336; -const int YY_parse_CLASS::CMD_KEYBUF=337; -const int YY_parse_CLASS::CMD_BLOAD=338; -const int YY_parse_CLASS::CMD_BSAVE=339; -const int YY_parse_CLASS::CMD_SCREEN=340; -const int YY_parse_CLASS::CMD_UNTIL=341; -const int YY_parse_CLASS::CMD_CPU=342; -const int YY_parse_CLASS::CMD_YYDEBUG=343; -const int YY_parse_CLASS::CMD_BACKTRACE=344; -const int YY_parse_CLASS::CMD_SCREENSHOT=345; -const int YY_parse_CLASS::CMD_PWD=346; -const int YY_parse_CLASS::CMD_DIR=347; -const int YY_parse_CLASS::CMD_RESOURCE_GET=348; -const int YY_parse_CLASS::CMD_RESOURCE_SET=349; -const int YY_parse_CLASS::CMD_ATTACH=350; -const int YY_parse_CLASS::CMD_DETACH=351; -const int YY_parse_CLASS::CMD_MON_RESET=352; -const int YY_parse_CLASS::CMD_TAPECTRL=353; -const int YY_parse_CLASS::CMD_CARTFREEZE=354; -const int YY_parse_CLASS::CMD_CPUHISTORY=355; -const int YY_parse_CLASS::CMD_MEMMAPZAP=356; -const int YY_parse_CLASS::CMD_MEMMAPSHOW=357; -const int YY_parse_CLASS::CMD_MEMMAPSAVE=358; -const int YY_parse_CLASS::CMD_COMMENT=359; -const int YY_parse_CLASS::CMD_LIST=360; -const int YY_parse_CLASS::CMD_EXPORT=361; -const int YY_parse_CLASS::CMD_AUTOSTART=362; -const int YY_parse_CLASS::CMD_AUTOLOAD=363; -const int YY_parse_CLASS::CMD_LABEL_ASGN=364; -const int YY_parse_CLASS::L_PAREN=365; -const int YY_parse_CLASS::R_PAREN=366; -const int YY_parse_CLASS::ARG_IMMEDIATE=367; -const int YY_parse_CLASS::REG_A=368; -const int YY_parse_CLASS::REG_X=369; -const int YY_parse_CLASS::REG_Y=370; -const int YY_parse_CLASS::COMMA=371; -const int YY_parse_CLASS::INST_SEP=372; -const int YY_parse_CLASS::REG_B=373; -const int YY_parse_CLASS::REG_C=374; -const int YY_parse_CLASS::REG_D=375; -const int YY_parse_CLASS::REG_E=376; -const int YY_parse_CLASS::REG_H=377; -const int YY_parse_CLASS::REG_L=378; -const int YY_parse_CLASS::REG_AF=379; -const int YY_parse_CLASS::REG_BC=380; -const int YY_parse_CLASS::REG_DE=381; -const int YY_parse_CLASS::REG_HL=382; -const int YY_parse_CLASS::REG_IX=383; -const int YY_parse_CLASS::REG_IY=384; -const int YY_parse_CLASS::REG_SP=385; -const int YY_parse_CLASS::REG_IXH=386; -const int YY_parse_CLASS::REG_IXL=387; -const int YY_parse_CLASS::REG_IYH=388; -const int YY_parse_CLASS::REG_IYL=389; -const int YY_parse_CLASS::STRING=390; -const int YY_parse_CLASS::FILENAME=391; -const int YY_parse_CLASS::R_O_L=392; -const int YY_parse_CLASS::OPCODE=393; -const int YY_parse_CLASS::LABEL=394; -const int YY_parse_CLASS::BANKNAME=395; -const int YY_parse_CLASS::CPUTYPE=396; -const int YY_parse_CLASS::MON_REGISTER=397; -const int YY_parse_CLASS::COMPARE_OP=398; -const int YY_parse_CLASS::RADIX_TYPE=399; -const int YY_parse_CLASS::INPUT_SPEC=400; -const int YY_parse_CLASS::CMD_CHECKPT_ON=401; -const int YY_parse_CLASS::CMD_CHECKPT_OFF=402; -const int YY_parse_CLASS::TOGGLE=403; -const int YY_parse_CLASS::MASK=404; +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) -#line 341 "/usr/share/bison++/bison.cc" - /* const YY_parse_CLASS::token */ +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (YYID (0)) +# endif +# endif + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (YYID (0)) + #endif -/*apres const */ -YY_parse_CLASS::YY_parse_CLASS(YY_parse_CONSTRUCTOR_PARAM) YY_parse_CONSTRUCTOR_INIT -{ -#if YY_parse_DEBUG != 0 -YY_parse_DEBUG_FLAG=0; -#endif -YY_parse_CONSTRUCTOR_CODE; -}; -#endif - #line 352 "/usr/share/bison++/bison.cc" +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 295 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 1656 +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 156 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 52 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 272 +/* YYNRULES -- Number of states. */ +#define YYNSTATES 542 -#define YYFINAL 542 -#define YYFLAG -32768 -#define YYNTBASE 156 +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 404 -#define YYTRANSLATE(x) ((unsigned)(x) <= 404 ? yytranslate[x] : 207) +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) -static const short yytranslate[] = { 0, - 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, 154, - 155, 152, 150, 2, 151, 2, 153, 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, 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, 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, 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, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 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, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149 +/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +static const yytype_uint8 yytranslate[] = +{ + 0, 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, + 154, 155, 152, 150, 2, 151, 2, 153, 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, 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, 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, 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, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 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, 103, 104, + 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, + 145, 146, 147, 148, 149 }; -#if YY_parse_DEBUG != 0 -static const short yyprhs[] = { 0, - 0, 2, 5, 7, 9, 12, 14, 16, 18, 20, - 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, - 42, 44, 47, 51, 55, 61, 65, 68, 72, 75, - 79, 82, 87, 90, 94, 98, 101, 106, 109, 114, - 117, 122, 125, 130, 133, 135, 138, 142, 146, 152, - 156, 162, 166, 172, 176, 182, 186, 189, 194, 200, - 201, 207, 211, 215, 218, 224, 230, 236, 242, 248, - 252, 255, 259, 262, 266, 269, 273, 276, 280, 283, - 286, 289, 294, 300, 306, 312, 315, 319, 322, 328, - 331, 337, 340, 344, 348, 352, 358, 362, 365, 371, - 377, 382, 386, 389, 393, 396, 400, 403, 406, 409, - 413, 417, 420, 424, 428, 432, 436, 440, 443, 447, - 450, 454, 460, 464, 469, 472, 477, 482, 485, 489, - 495, 501, 507, 511, 516, 522, 527, 533, 538, 544, - 550, 553, 557, 562, 566, 570, 576, 580, 586, 590, - 593, 597, 602, 605, 608, 610, 612, 613, 615, 617, - 619, 621, 624, 626, 627, 629, 632, 636, 638, 642, - 644, 646, 648, 650, 654, 656, 660, 663, 664, 666, - 670, 672, 674, 675, 677, 679, 681, 683, 685, 687, - 689, 693, 697, 701, 705, 709, 713, 715, 718, 719, - 723, 727, 731, 735, 737, 739, 741, 745, 747, 749, - 751, 754, 756, 758, 760, 762, 764, 766, 768, 770, - 772, 774, 776, 778, 780, 782, 784, 786, 788, 790, - 794, 798, 801, 804, 806, 808, 811, 813, 817, 821, - 825, 831, 837, 841, 845, 849, 853, 857, 861, 867, - 873, 879, 885, 886, 888, 890, 892, 894, 896, 898, - 900, 902, 904, 906, 908, 910, 912, 914, 916, 918, - 920 +#if YYDEBUG +/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in + YYRHS. */ +static const yytype_uint16 yyprhs[] = +{ + 0, 0, 3, 5, 8, 10, 12, 15, 17, 19, + 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, + 41, 43, 45, 47, 50, 54, 58, 64, 68, 71, + 75, 78, 82, 85, 90, 93, 97, 101, 104, 109, + 112, 117, 120, 125, 128, 133, 136, 138, 141, 145, + 149, 155, 159, 165, 169, 175, 179, 185, 189, 192, + 197, 203, 204, 210, 214, 218, 221, 227, 233, 239, + 245, 251, 255, 258, 262, 265, 269, 272, 276, 279, + 283, 286, 289, 292, 297, 303, 309, 315, 318, 322, + 325, 331, 334, 340, 343, 347, 351, 355, 361, 365, + 368, 374, 380, 385, 389, 392, 396, 399, 403, 406, + 409, 412, 416, 420, 423, 427, 431, 435, 439, 443, + 446, 450, 453, 457, 463, 467, 472, 475, 480, 485, + 488, 492, 498, 504, 510, 514, 519, 525, 530, 536, + 541, 547, 553, 556, 560, 565, 569, 573, 579, 583, + 589, 593, 596, 600, 605, 608, 611, 613, 615, 616, + 618, 620, 622, 624, 627, 629, 630, 632, 635, 639, + 641, 645, 647, 649, 651, 653, 657, 659, 663, 666, + 667, 669, 673, 675, 677, 678, 680, 682, 684, 686, + 688, 690, 692, 696, 700, 704, 708, 712, 716, 718, + 721, 722, 726, 730, 734, 738, 740, 742, 744, 748, + 750, 752, 754, 757, 759, 761, 763, 765, 767, 769, + 771, 773, 775, 777, 779, 781, 783, 785, 787, 789, + 791, 793, 797, 801, 804, 807, 809, 811, 814, 816, + 820, 824, 828, 834, 840, 844, 848, 852, 856, 860, + 864, 870, 876, 882, 888, 889, 891, 893, 895, 897, + 899, 901, 903, 905, 907, 909, 911, 913, 915, 917, + 919, 921, 923 }; -static const short yyrhs[] = { 157, - 0, 204, 22, 0, 22, 0, 159, 0, 157, 159, - 0, 23, 0, 22, 0, 1, 0, 160, 0, 162, - 0, 165, 0, 163, 0, 166, 0, 167, 0, 168, - 0, 169, 0, 170, 0, 171, 0, 172, 0, 173, - 0, 13, 0, 67, 158, 0, 67, 188, 158, 0, - 67, 140, 158, 0, 67, 188, 187, 140, 158, 0, - 38, 186, 158, 0, 46, 158, 0, 46, 186, 158, - 0, 87, 158, 0, 87, 141, 158, 0, 100, 158, - 0, 100, 187, 191, 158, 0, 26, 158, 0, 49, - 176, 158, 0, 50, 176, 158, 0, 58, 158, 0, - 58, 187, 191, 158, 0, 57, 158, 0, 57, 187, - 191, 158, 0, 29, 158, 0, 29, 187, 191, 158, - 0, 30, 158, 0, 30, 187, 191, 158, 0, 85, - 158, 0, 161, 0, 39, 158, 0, 39, 188, 158, - 0, 39, 180, 158, 0, 68, 188, 187, 176, 158, - 0, 68, 176, 158, 0, 69, 188, 187, 176, 158, - 0, 69, 176, 158, 0, 70, 186, 187, 139, 158, - 0, 71, 139, 158, 0, 71, 188, 187, 139, 158, - 0, 72, 188, 158, 0, 72, 158, 0, 109, 21, - 186, 158, 0, 109, 21, 186, 24, 158, 0, 0, - 55, 186, 164, 205, 158, 0, 55, 186, 158, 0, - 56, 183, 158, 0, 56, 158, 0, 37, 184, 187, - 186, 158, 0, 48, 184, 187, 186, 158, 0, 36, - 184, 187, 195, 158, 0, 35, 184, 187, 197, 158, - 0, 43, 144, 187, 183, 158, 0, 43, 183, 158, - 0, 43, 158, 0, 76, 183, 158, 0, 76, 158, - 0, 77, 183, 158, 0, 77, 158, 0, 78, 183, - 158, 0, 78, 158, 0, 79, 183, 158, 0, 79, - 158, 0, 101, 158, 0, 102, 158, 0, 102, 187, - 191, 158, 0, 102, 187, 191, 183, 158, 0, 103, - 176, 187, 191, 158, 0, 44, 178, 183, 192, 158, - 0, 44, 158, 0, 86, 183, 158, 0, 86, 158, - 0, 62, 178, 183, 192, 158, 0, 62, 158, 0, - 45, 178, 183, 192, 158, 0, 45, 158, 0, 146, - 182, 158, 0, 147, 182, 158, 0, 34, 182, 158, - 0, 34, 182, 187, 191, 158, 0, 52, 182, 158, - 0, 52, 158, 0, 53, 182, 15, 193, 158, 0, - 54, 182, 187, 135, 158, 0, 54, 182, 1, 158, - 0, 25, 148, 158, 0, 25, 158, 0, 42, 144, - 158, 0, 42, 158, 0, 60, 188, 158, 0, 106, - 158, 0, 65, 158, 0, 51, 158, 0, 63, 174, - 158, 0, 59, 191, 158, 0, 61, 158, 0, 61, - 174, 158, 0, 64, 174, 158, 0, 7, 191, 158, - 0, 66, 174, 158, 0, 82, 174, 158, 0, 89, - 158, 0, 92, 175, 158, 0, 91, 158, 0, 90, - 176, 158, 0, 90, 176, 187, 191, 158, 0, 93, - 135, 158, 0, 94, 135, 135, 158, 0, 97, 158, - 0, 97, 187, 191, 158, 0, 98, 187, 191, 158, - 0, 99, 158, 0, 104, 175, 158, 0, 31, 176, - 177, 185, 158, 0, 83, 176, 177, 185, 158, 0, - 32, 176, 177, 184, 158, 0, 32, 176, 1, 0, - 32, 176, 177, 1, 0, 84, 176, 177, 184, 158, - 0, 84, 176, 177, 1, 0, 33, 176, 177, 186, - 158, 0, 33, 176, 177, 1, 0, 27, 191, 191, - 185, 158, 0, 28, 191, 191, 186, 158, 0, 105, - 158, 0, 105, 177, 158, 0, 95, 176, 191, 158, - 0, 96, 191, 158, 0, 107, 176, 158, 0, 107, - 176, 187, 202, 158, 0, 108, 176, 158, 0, 108, - 176, 187, 202, 158, 0, 73, 176, 158, 0, 74, - 158, 0, 75, 176, 158, 0, 80, 186, 195, 158, - 0, 81, 158, 0, 88, 158, 0, 137, 0, 137, - 0, 0, 136, 0, 1, 0, 191, 0, 1, 0, - 178, 14, 0, 14, 0, 0, 142, 0, 188, 142, - 0, 180, 116, 181, 0, 181, 0, 179, 21, 202, - 0, 200, 0, 1, 0, 184, 0, 186, 0, 186, - 187, 186, 0, 9, 0, 188, 187, 9, 0, 187, - 186, 0, 0, 189, 0, 188, 187, 189, 0, 139, - 0, 116, 0, 0, 16, 0, 17, 0, 18, 0, - 19, 0, 20, 0, 190, 0, 202, 0, 191, 150, - 191, 0, 191, 151, 191, 0, 191, 152, 191, 0, - 191, 153, 191, 0, 154, 191, 155, 0, 154, 191, - 1, 0, 199, 0, 15, 193, 0, 0, 193, 143, - 193, 0, 193, 143, 1, 0, 110, 193, 111, 0, - 110, 193, 1, 0, 194, 0, 179, 0, 202, 0, - 195, 187, 196, 0, 196, 0, 202, 0, 135, 0, - 197, 198, 0, 198, 0, 202, 0, 149, 0, 135, - 0, 202, 0, 179, 0, 4, 0, 12, 0, 11, - 0, 10, 0, 12, 0, 11, 0, 10, 0, 3, - 0, 4, 0, 5, 0, 6, 0, 201, 0, 203, - 117, 204, 0, 204, 117, 204, 0, 204, 117, 0, - 138, 206, 0, 204, 0, 203, 0, 112, 202, 0, - 202, 0, 202, 116, 114, 0, 202, 116, 115, 0, - 110, 202, 111, 0, 110, 202, 116, 114, 111, 0, - 110, 202, 111, 116, 115, 0, 110, 125, 111, 0, - 110, 126, 111, 0, 1... [truncated message content] |
From: <fa...@us...> - 2012-01-01 18:29:45
|
Revision: 25111 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=25111&view=rev Author: fabbo Date: 2012-01-01 18:29:37 +0000 (Sun, 01 Jan 2012) Log Message: ----------- Break is on exec by default (again) Modified Paths: -------------- trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.h trunk/vice/src/monitor/mon_parse.y Modified: trunk/vice/src/monitor/mon_parse.c =================================================================== --- trunk/vice/src/monitor/mon_parse.c 2012-01-01 15:00:27 UTC (rev 25110) +++ trunk/vice/src/monitor/mon_parse.c 2012-01-01 18:29:37 UTC (rev 25111) @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ +/* A Bison parser, made by GNU Bison 2.4.1. */ + /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software - Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.2" +#define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -195,7 +196,7 @@ /* Line 189 of yacc.c */ -#line 199 "mon_parse.c" +#line 200 "../../../src/monitor/mon_parse.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -543,7 +544,7 @@ /* Line 214 of yacc.c */ -#line 547 "mon_parse.c" +#line 548 "../../../src/monitor/mon_parse.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -555,7 +556,7 @@ /* Line 264 of yacc.c */ -#line 559 "mon_parse.c" +#line 560 "../../../src/monitor/mon_parse.c" #ifdef short # undef short @@ -605,7 +606,7 @@ #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS +# if YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -1707,18 +1708,9 @@ /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ + Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif #define YYRECOVERING() (!!yyerrstatus) @@ -1775,7 +1767,7 @@ we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ @@ -2514,217 +2506,217 @@ { case 2: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 186 "mon_parse.y" { (yyval.i) = 0; } break; case 3: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 187 "mon_parse.y" { (yyval.i) = 0; } break; case 4: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 188 "mon_parse.y" { new_cmd = 1; asm_mode = 0; (yyval.i) = 0; } break; case 9: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 197 "mon_parse.y" { return ERR_EXPECT_END_CMD; } break; case 22: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 212 "mon_parse.y" { return ERR_BAD_CMD; } break; case 23: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 216 "mon_parse.y" { mon_bank(e_default_space, NULL); } break; case 24: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 218 "mon_parse.y" { mon_bank((yyvsp[(2) - (3)].i), NULL); } break; case 25: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 220 "mon_parse.y" { mon_bank(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 26: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 222 "mon_parse.y" { mon_bank((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 27: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 224 "mon_parse.y" { mon_jump((yyvsp[(2) - (3)].a)); } break; case 28: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 226 "mon_parse.y" { mon_display_io_regs(0); } break; case 29: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 228 "mon_parse.y" { mon_display_io_regs((yyvsp[(2) - (3)].a)); } break; case 30: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 230 "mon_parse.y" { monitor_cpu_type_set(""); } break; case 31: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 232 "mon_parse.y" { monitor_cpu_type_set((yyvsp[(2) - (3)].str)); } break; case 32: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 234 "mon_parse.y" { mon_cpuhistory(-1); } break; case 33: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 236 "mon_parse.y" { mon_cpuhistory((yyvsp[(3) - (4)].i)); } break; case 34: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 238 "mon_parse.y" { mon_instruction_return(); } break; case 35: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 240 "mon_parse.y" { machine_write_snapshot((yyvsp[(2) - (3)].str),0,0,0); /* FIXME */ } break; case 36: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 242 "mon_parse.y" { machine_read_snapshot((yyvsp[(2) - (3)].str), 0); } break; case 37: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 244 "mon_parse.y" { mon_instructions_step(-1); } break; case 38: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 246 "mon_parse.y" { mon_instructions_step((yyvsp[(3) - (4)].i)); } break; case 39: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 248 "mon_parse.y" { mon_instructions_next(-1); } break; case 40: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 250 "mon_parse.y" { mon_instructions_next((yyvsp[(3) - (4)].i)); } break; case 41: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 252 "mon_parse.y" { mon_stack_up(-1); } break; case 42: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 254 "mon_parse.y" { mon_stack_up((yyvsp[(3) - (4)].i)); } break; case 43: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 256 "mon_parse.y" { mon_stack_down(-1); } break; case 44: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 258 "mon_parse.y" { mon_stack_down((yyvsp[(3) - (4)].i)); } break; case 45: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 260 "mon_parse.y" { mon_display_screen(); } break; case 47: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 265 "mon_parse.y" { (monitor_cpu_for_memspace[default_memspace]->mon_register_print)(default_memspace); } break; case 48: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 267 "mon_parse.y" { (monitor_cpu_for_memspace[(yyvsp[(2) - (3)].i)]->mon_register_print)((yyvsp[(2) - (3)].i)); } break; case 50: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 272 "mon_parse.y" { /* What about the memspace? */ @@ -2734,7 +2726,7 @@ case 51: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 277 "mon_parse.y" { /* What about the memspace? */ @@ -2744,56 +2736,56 @@ case 52: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 282 "mon_parse.y" { mon_save_symbols((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 53: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 284 "mon_parse.y" { mon_save_symbols(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 54: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 286 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(2) - (5)].a), (yyvsp[(4) - (5)].str)); } break; case 55: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 288 "mon_parse.y" { mon_remove_name_from_symbol_table(e_default_space, (yyvsp[(2) - (3)].str)); } break; case 56: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 290 "mon_parse.y" { mon_remove_name_from_symbol_table((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 57: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 292 "mon_parse.y" { mon_print_symbol_table((yyvsp[(2) - (3)].i)); } break; case 58: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 294 "mon_parse.y" { mon_print_symbol_table(e_default_space); } break; case 59: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 296 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(3) - (4)].a), mon_prepend_dot_to_name((yyvsp[(1) - (4)].str))); @@ -2802,7 +2794,7 @@ case 60: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 300 "mon_parse.y" { mon_add_name_to_symbol_table((yyvsp[(3) - (5)].a), mon_prepend_dot_to_name((yyvsp[(1) - (5)].str))); @@ -2811,188 +2803,188 @@ case 61: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 306 "mon_parse.y" { mon_start_assemble_mode((yyvsp[(2) - (2)].a), NULL); } break; case 62: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 307 "mon_parse.y" { } break; case 63: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 309 "mon_parse.y" { mon_start_assemble_mode((yyvsp[(2) - (3)].a), NULL); } break; case 64: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 311 "mon_parse.y" { mon_disassemble_lines((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1]); } break; case 65: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 313 "mon_parse.y" { mon_disassemble_lines(BAD_ADDR, BAD_ADDR); } break; case 66: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 317 "mon_parse.y" { mon_memory_move((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1], (yyvsp[(4) - (5)].a)); } break; case 67: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 319 "mon_parse.y" { mon_memory_compare((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1], (yyvsp[(4) - (5)].a)); } break; case 68: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 321 "mon_parse.y" { mon_memory_fill((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1],(unsigned char *)(yyvsp[(4) - (5)].str)); } break; case 69: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 323 "mon_parse.y" { mon_memory_hunt((yyvsp[(2) - (5)].range)[0], (yyvsp[(2) - (5)].range)[1],(unsigned char *)(yyvsp[(4) - (5)].str)); } break; case 70: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 325 "mon_parse.y" { mon_memory_display((yyvsp[(2) - (5)].rt), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], DF_PETSCII); } break; case 71: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 327 "mon_parse.y" { mon_memory_display(default_radix, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_PETSCII); } break; case 72: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 329 "mon_parse.y" { mon_memory_display(default_radix, BAD_ADDR, BAD_ADDR, DF_PETSCII); } break; case 73: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 331 "mon_parse.y" { mon_memory_display_data((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], 8, 8); } break; case 74: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 333 "mon_parse.y" { mon_memory_display_data(BAD_ADDR, BAD_ADDR, 8, 8); } break; case 75: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 335 "mon_parse.y" { mon_memory_display_data((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], 24, 21); } break; case 76: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 337 "mon_parse.y" { mon_memory_display_data(BAD_ADDR, BAD_ADDR, 24, 21); } break; case 77: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 339 "mon_parse.y" { mon_memory_display(0, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_PETSCII); } break; case 78: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 341 "mon_parse.y" { mon_memory_display(0, BAD_ADDR, BAD_ADDR, DF_PETSCII); } break; case 79: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 343 "mon_parse.y" { mon_memory_display(0, (yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], DF_SCREEN_CODE); } break; case 80: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 345 "mon_parse.y" { mon_memory_display(0, BAD_ADDR, BAD_ADDR, DF_SCREEN_CODE); } break; case 81: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 347 "mon_parse.y" { mon_memmap_zap(); } break; case 82: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 349 "mon_parse.y" { mon_memmap_show(-1,BAD_ADDR,BAD_ADDR); } break; case 83: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 351 "mon_parse.y" { mon_memmap_show((yyvsp[(3) - (4)].i),BAD_ADDR,BAD_ADDR); } break; case 84: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 353 "mon_parse.y" { mon_memmap_show((yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].range)[0],(yyvsp[(4) - (5)].range)[1]); } break; case 85: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 355 "mon_parse.y" { mon_memmap_save((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].i)); } break; case 86: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 359 "mon_parse.y" { if ((yyvsp[(2) - (5)].i)) { temp = mon_breakpoint_add_checkpoint((yyvsp[(3) - (5)].range)[0], (yyvsp[(3) - (5)].range)[1], TRUE, (yyvsp[(2) - (5)].i), FALSE); } else { - temp = mon_breakpoint_add_checkpoint((yyvsp[(3) - (5)].range)[0], (yyvsp[(3) - (5)].range)[1], TRUE, e_store, FALSE); + temp = mon_breakpoint_add_checkpoint((yyvsp[(3) - (5)].range)[0], (yyvsp[(3) - (5)].range)[1], TRUE, e_exec, FALSE); } mon_breakpoint_set_checkpoint_condition(temp, (yyvsp[(4) - (5)].cond_node)); } @@ -3000,14 +2992,14 @@ case 87: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 368 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 88: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 371 "mon_parse.y" { mon_breakpoint_add_checkpoint((yyvsp[(2) - (3)].range)[0], (yyvsp[(2) - (3)].range)[1], TRUE, e_exec, TRUE); @@ -3016,14 +3008,14 @@ case 89: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 375 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 90: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 378 "mon_parse.y" { if ((yyvsp[(2) - (5)].i)) { @@ -3037,14 +3029,14 @@ case 91: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 387 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 92: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 390 "mon_parse.y" { if ((yyvsp[(2) - (5)].i)) { @@ -3058,84 +3050,84 @@ case 93: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 399 "mon_parse.y" { mon_breakpoint_print_checkpoints(); } break; case 94: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 404 "mon_parse.y" { mon_breakpoint_switch_checkpoint(e_ON, (yyvsp[(2) - (3)].i)); } break; case 95: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 406 "mon_parse.y" { mon_breakpoint_switch_checkpoint(e_OFF, (yyvsp[(2) - (3)].i)); } break; case 96: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 408 "mon_parse.y" { mon_breakpoint_set_ignore_count((yyvsp[(2) - (3)].i), -1); } break; case 97: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 410 "mon_parse.y" { mon_breakpoint_set_ignore_count((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].i)); } break; case 98: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 412 "mon_parse.y" { mon_breakpoint_delete_checkpoint((yyvsp[(2) - (3)].i)); } break; case 99: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 414 "mon_parse.y" { mon_breakpoint_delete_checkpoint(-1); } break; case 100: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 416 "mon_parse.y" { mon_breakpoint_set_checkpoint_condition((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].cond_node)); } break; case 101: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 418 "mon_parse.y" { mon_breakpoint_set_checkpoint_command((yyvsp[(2) - (5)].i), (yyvsp[(4) - (5)].str)); } break; case 102: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 420 "mon_parse.y" { return ERR_EXPECT_STRING; } break; case 103: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 424 "mon_parse.y" { sidefx = (((yyvsp[(2) - (3)].action) == e_TOGGLE) ? (sidefx ^ 1) : (yyvsp[(2) - (3)].action)); } break; case 104: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 426 "mon_parse.y" { mon_out("I/O side effects are %s\n", @@ -3145,14 +3137,14 @@ case 105: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 431 "mon_parse.y" { default_radix = (yyvsp[(2) - (3)].rt); } break; case 106: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 433 "mon_parse.y" { const char *p; @@ -3174,483 +3166,483 @@ case 107: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 451 "mon_parse.y" { monitor_change_device((yyvsp[(2) - (3)].i)); } break; case 108: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 453 "mon_parse.y" { mon_export(); } break; case 109: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 455 "mon_parse.y" { mon_quit(); YYACCEPT; } break; case 110: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 457 "mon_parse.y" { exit_mon = 1; YYACCEPT; } break; case 111: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 461 "mon_parse.y" { mon_drive_execute_disk_cmd((yyvsp[(2) - (3)].str)); } break; case 112: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 463 "mon_parse.y" { mon_out("\t%d\n",(yyvsp[(2) - (3)].i)); } break; case 113: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 465 "mon_parse.y" { mon_command_print_help(NULL); } break; case 114: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 467 "mon_parse.y" { mon_command_print_help((yyvsp[(2) - (3)].str)); } break; case 115: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 469 "mon_parse.y" { printf("SYSTEM COMMAND: %s\n",(yyvsp[(2) - (3)].str)); } break; case 116: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 471 "mon_parse.y" { mon_print_convert((yyvsp[(2) - (3)].i)); } break; case 117: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 473 "mon_parse.y" { mon_change_dir((yyvsp[(2) - (3)].str)); } break; case 118: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 475 "mon_parse.y" { mon_keyboard_feed((yyvsp[(2) - (3)].str)); } break; case 119: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 477 "mon_parse.y" { mon_backtrace(); } break; case 120: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 479 "mon_parse.y" { mon_show_dir((yyvsp[(2) - (3)].str)); } break; case 121: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 481 "mon_parse.y" { mon_show_pwd(); } break; case 122: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 483 "mon_parse.y" { mon_screenshot_save((yyvsp[(2) - (3)].str),-1); } break; case 123: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 485 "mon_parse.y" { mon_screenshot_save((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].i)); } break; case 124: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 487 "mon_parse.y" { mon_resource_get((yyvsp[(2) - (3)].str)); } break; case 125: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 489 "mon_parse.y" { mon_resource_set((yyvsp[(2) - (4)].str),(yyvsp[(3) - (4)].str)); } break; case 126: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 491 "mon_parse.y" { mon_reset_machine(-1); } break; case 127: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 493 "mon_parse.y" { mon_reset_machine((yyvsp[(3) - (4)].i)); } break; case 128: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 495 "mon_parse.y" { mon_tape_ctrl((yyvsp[(3) - (4)].i)); } break; case 129: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 497 "mon_parse.y" { mon_cart_freeze(); } break; case 130: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 499 "mon_parse.y" { } break; case 131: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 503 "mon_parse.y" { mon_file_load((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].a), FALSE); } break; case 132: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 505 "mon_parse.y" { mon_file_load((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].a), TRUE); } break; case 133: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 507 "mon_parse.y" { mon_file_save((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], FALSE); } break; case 134: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 509 "mon_parse.y" { return ERR_EXPECT_DEVICE_NUM; } break; case 135: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 511 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 136: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 513 "mon_parse.y" { mon_file_save((yyvsp[(2) - (5)].str), (yyvsp[(3) - (5)].i), (yyvsp[(4) - (5)].range)[0], (yyvsp[(4) - (5)].range)[1], TRUE); } break; case 137: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 515 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 138: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 517 "mon_parse.y" { mon_file_verify((yyvsp[(2) - (5)].str),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 139: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 519 "mon_parse.y" { return ERR_EXPECT_ADDRESS; } break; case 140: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 521 "mon_parse.y" { mon_drive_block_cmd(0,(yyvsp[(2) - (5)].i),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 141: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 523 "mon_parse.y" { mon_drive_block_cmd(1,(yyvsp[(2) - (5)].i),(yyvsp[(3) - (5)].i),(yyvsp[(4) - (5)].a)); } break; case 142: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 525 "mon_parse.y" { mon_drive_list(-1); } break; case 143: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 527 "mon_parse.y" { mon_drive_list((yyvsp[(2) - (3)].i)); } break; case 144: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 529 "mon_parse.y" { mon_attach((yyvsp[(2) - (4)].str),(yyvsp[(3) - (4)].i)); } break; case 145: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 531 "mon_parse.y" { mon_detach((yyvsp[(2) - (3)].i)); } break; case 146: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 533 "mon_parse.y" { mon_autostart((yyvsp[(2) - (3)].str),0,1); } break; case 147: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 535 "mon_parse.y" { mon_autostart((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].i),1); } break; case 148: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 537 "mon_parse.y" { mon_autostart((yyvsp[(2) - (3)].str),0,0); } break; case 149: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 539 "mon_parse.y" { mon_autostart((yyvsp[(2) - (5)].str),(yyvsp[(4) - (5)].i),0); } break; case 150: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 543 "mon_parse.y" { mon_record_commands((yyvsp[(2) - (3)].str)); } break; case 151: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 545 "mon_parse.y" { mon_end_recording(); } break; case 152: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 547 "mon_parse.y" { mon_playback_init((yyvsp[(2) - (3)].str)); } break; case 153: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 551 "mon_parse.y" { mon_memory_fill((yyvsp[(2) - (4)].a), BAD_ADDR, (unsigned char *)(yyvsp[(3) - (4)].str)); } break; case 154: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 553 "mon_parse.y" { printf("Not yet.\n"); } break; case 155: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 557 "mon_parse.y" { yydebug = 1; } break; case 156: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 560 "mon_parse.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 157: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 563 "mon_parse.y" { (yyval.str) = (yyvsp[(1) - (1)].str); } break; case 158: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 564 "mon_parse.y" { (yyval.str) = NULL; } break; case 160: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 568 "mon_parse.y" { return ERR_EXPECT_FILENAME; } break; case 162: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 572 "mon_parse.y" { return ERR_EXPECT_DEVICE_NUM; } break; case 163: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 575 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (2)].i) | (yyvsp[(2) - (2)].i); } break; case 164: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 576 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 165: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 577 "mon_parse.y" { (yyval.i) = 0; } break; case 166: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 580 "mon_parse.y" { (yyval.i) = new_reg(default_memspace, (yyvsp[(1) - (1)].reg)); } break; case 167: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 581 "mon_parse.y" { (yyval.i) = new_reg((yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].reg)); } break; case 170: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 589 "mon_parse.y" { (monitor_cpu_for_memspace[reg_memspace((yyvsp[(1) - (3)].i))]->mon_register_set_val)(reg_memspace((yyvsp[(1) - (3)].i)), reg_regid((yyvsp[(1) - (3)].i)), (WORD) (yyvsp[(3) - (3)].i)); } break; case 171: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 592 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 172: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 593 "mon_parse.y" { return ERR_EXPECT_CHECKNUM; } break; case 174: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 597 "mon_parse.y" { (yyval.range)[0] = (yyvsp[(1) - (1)].a); (yyval.range)[1] = BAD_ADDR; } break; case 175: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 600 "mon_parse.y" { (yyval.range)[0] = (yyvsp[(1) - (3)].a); (yyval.range)[1] = (yyvsp[(3) - (3)].a); } break; case 176: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 602 "mon_parse.y" { if (resolve_range(e_default_space, (yyval.range), (yyvsp[(1) - (1)].str))) return ERR_ADDR_TOO_BIG; } break; case 177: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 604 "mon_parse.y" { if (resolve_range((yyvsp[(1) - (3)].i), (yyval.range), (yyvsp[(3) - (3)].str))) return ERR_ADDR_TOO_BIG; } break; case 178: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 607 "mon_parse.y" { (yyval.a) = (yyvsp[(2) - (2)].a); } break; case 179: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 608 "mon_parse.y" { (yyval.a) = BAD_ADDR; } break; case 180: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 612 "mon_parse.y" { (yyval.a) = new_addr(e_default_space,(yyvsp[(1) - (1)].i)); @@ -3660,7 +3652,7 @@ case 181: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 617 "mon_parse.y" { (yyval.a) = new_addr((yyvsp[(1) - (3)].i), (yyvsp[(3) - (3)].i)); @@ -3670,7 +3662,7 @@ case 182: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 622 "mon_parse.y" { temp = mon_symbol_table_lookup_addr(e_default_space, (yyvsp[(1) - (1)].str)); @@ -3683,119 +3675,119 @@ case 185: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 635 "mon_parse.y" { (yyval.i) = e_comp_space; } break; case 186: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 636 "mon_parse.y" { (yyval.i) = e_disk8_space; } break; case 187: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 637 "mon_parse.y" { (yyval.i) = e_disk9_space; } break; case 188: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 638 "mon_parse.y" { (yyval.i) = e_disk10_space; } break; case 189: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 639 "mon_parse.y" { (yyval.i) = e_disk11_space; } break; case 190: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 642 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); if (!CHECK_ADDR((yyvsp[(1) - (1)].i))) return ERR_ADDR_TOO_BIG; } break; case 191: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 644 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 192: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 646 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) + (yyvsp[(3) - (3)].i); } break; case 193: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 647 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) - (yyvsp[(3) - (3)].i); } break; case 194: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 648 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (3)].i) * (yyvsp[(3) - (3)].i); } break; case 195: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 649 "mon_parse.y" { (yyval.i) = ((yyvsp[(3) - (3)].i)) ? ((yyvsp[(1) - (3)].i) / (yyvsp[(3) - (3)].i)) : 1; } break; case 196: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 650 "mon_parse.y" { (yyval.i) = (yyvsp[(2) - (3)].i); } break; case 197: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 651 "mon_parse.y" { return ERR_MISSING_CLOSE_PAREN; } break; case 198: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 652 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 199: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 655 "mon_parse.y" { (yyval.cond_node) = (yyvsp[(2) - (2)].cond_node); } break; case 200: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 656 "mon_parse.y" { (yyval.cond_node) = 0; } break; case 201: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 659 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->is_parenthized = FALSE; @@ -3805,35 +3797,35 @@ case 202: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 664 "mon_parse.y" { return ERR_INCOMPLETE_COMPARE_OP; } break; case 203: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 666 "mon_parse.y" { (yyval.cond_node) = (yyvsp[(2) - (3)].cond_node); (yyval.cond_node)->is_parenthized = TRUE; } break; case 204: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 668 "mon_parse.y" { return ERR_MISSING_CLOSE_PAREN; } break; case 205: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 670 "mon_parse.y" { (yyval.cond_node) = (yyvsp[(1) - (1)].cond_node); } break; case 206: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 673 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->operation = e_INV; @@ -3845,7 +3837,7 @@ case 207: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 679 "mon_parse.y" { (yyval.cond_node) = new_cond; (yyval.cond_node)->operation = e_INV; @@ -3857,140 +3849,140 @@ case 210: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 691 "mon_parse.y" { mon_add_number_to_buffer((yyvsp[(1) - (1)].i)); } break; case 211: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 692 "mon_parse.y" { mon_add_string_to_buffer((yyvsp[(1) - (1)].str)); } break; case 214: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 699 "mon_parse.y" { mon_add_number_to_buffer((yyvsp[(1) - (1)].i)); } break; case 215: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 700 "mon_parse.y" { mon_add_number_masked_to_buffer((yyvsp[(1) - (1)].i), 0x00); } break; case 216: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 701 "mon_parse.y" { mon_add_string_to_buffer((yyvsp[(1) - (1)].str)); } break; case 217: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 704 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 218: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 705 "mon_parse.y" { (yyval.i) = (monitor_cpu_for_memspace[reg_memspace((yyvsp[(1) - (1)].i))]->mon_register_get_val)(reg_memspace((yyvsp[(1) - (1)].i)), reg_regid((yyvsp[(1) - (1)].i))); } break; case 219: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 708 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 220: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 709 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 221: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 710 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 222: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 711 "mon_parse.y" { (yyval.i) = strtol((yyvsp[(1) - (1)].str), NULL, 10); } break; case 223: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 714 "mon_parse.y" { (yyval.i) = resolve_datatype(B_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 224: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 715 "mon_parse.y" { (yyval.i) = resolve_datatype(O_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 225: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 716 "mon_parse.y" { (yyval.i) = resolve_datatype(D_NUMBER,(yyvsp[(1) - (1)].str)); } break; case 226: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 719 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 227: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 720 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 228: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 721 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 229: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 722 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 230: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 723 "mon_parse.y" { (yyval.i) = (yyvsp[(1) - (1)].i); } break; case 234: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 731 "mon_parse.y" { (yyval.i) = 0; if ((yyvsp[(1) - (2)].str)) { @@ -4005,14 +3997,14 @@ case 236: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 742 "mon_parse.y" { asm_mode = 0; } break; case 237: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 745 "mon_parse.y" { if ((yyvsp[(2) - (2)].i) > 0xff) (yyval.i) = join_ints(ASM_ADDR_MODE_IMMEDIATE_16,(yyvsp[(2) - (2)].i)); @@ -4022,7 +4014,7 @@ case 238: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 749 "mon_parse.y" { if ((yyvsp[(1) - (1)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE,(yyvsp[(1) - (1)].i)); @@ -4033,7 +4025,7 @@ case 239: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 754 "mon_parse.y" { if ((yyvsp[(1) - (3)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE_X,(yyvsp[(1) - (3)].i)); @@ -4044,7 +4036,7 @@ case 240: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 759 "mon_parse.y" { if ((yyvsp[(1) - (3)].i) < 0x100) (yyval.i) = join_ints(ASM_ADDR_MODE_ZERO_PAGE_Y,(yyvsp[(1) - (3)].i)); @@ -4055,232 +4047,232 @@ case 241: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 765 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABS_INDIRECT,(yyvsp[(2) - (3)].i)); } break; case 242: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 767 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_INDIRECT_X,(yyvsp[(2) - (5)].i)); } break; case 243: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 769 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_INDIRECT_Y,(yyvsp[(2) - (5)].i)); } break; case 244: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 770 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_BC,0); } break; case 245: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 771 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_DE,0); } break; case 246: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 772 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_HL,0); } break; case 247: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 773 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_IX,0); } break; case 248: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 774 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_IY,0); } break; case 249: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 775 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IND_SP,0); } break; case 250: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 777 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_A,(yyvsp[(2) - (5)].i)); } break; case 251: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 779 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_HL,(yyvsp[(2) - (5)].i)); } break; case 252: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 781 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_IX,(yyvsp[(2) - (5)].i)); } break; case 253: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 783 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ABSOLUTE_IY,(yyvsp[(2) - (5)].i)); } break; case 254: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 784 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_IMPLIED,0); } break; case 255: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 785 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_ACCUMULATOR,0); } break; case 256: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 786 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_B,0); } break; case 257: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 787 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_C,0); } break; case 258: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 788 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_D,0); } break; case 259: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 789 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_E,0); } break; case 260: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 790 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_H,0); } break; case 261: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 791 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IXH,0); } break; case 262: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 792 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IYH,0); } break; case 263: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 793 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_L,0); } break; case 264: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 794 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IXL,0); } break; case 265: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 795 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IYL,0); } break; case 266: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 796 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_AF,0); } break; case 267: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 797 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_BC,0); } break; case 268: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 798 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_DE,0); } break; case 269: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 799 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_HL,0); } break; case 270: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 800 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IX,0); } break; case 271: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 801 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_IY,0); } break; case 272: -/* Line 1464 of yacc.c */ +/* Line 1455 of yacc.c */ #line 802 "mon_parse.y" { (yyval.i) = join_ints(ASM_ADDR_MODE_REG_SP,0); } break; -/* Line 1464 of yacc.c */ -#line 4284 "mon_parse.c" +/* Line 1455 of yacc.c */ +#line 4276 "../../../src/monitor/mon_parse.c" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -4491,7 +4483,7 @@ -/* Line 1684 of yacc.c */ +/* Line 1675 of yacc.c */ #line 806 "mon_parse.y" Modified: trunk/vice/src/monitor/mon_parse.h =================================================================== --- trunk/vice/src/monitor/mon_parse.h 2012-01-01 15:00:27 UTC (rev 25110) +++ trunk/vice/src/monitor/mon_parse.h 2012-01-01 18:29:37 UTC (rev 25111) @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ +/* A Bison parser, made by GNU Bison 2.4.1. */ + /* Skeleton interface for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software - Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -343,7 +344,7 @@ typedef union YYSTYPE { -/* Line 1685 of yacc.c */ +/* Line 1676 of yacc.c */ #line 127 "mon_parse.y" MON_ADDR a; @@ -358,8 +359,8 @@ -/* Line 1685 of yacc.c */ -#line 363 "mon_parse.h" +/* Line 1676 of yacc.c */ +#line 364 "../../../src/monitor/mon_parse.h" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ Modified: trunk/vice/src/monitor/mon_parse.y =================================================================== --- trunk/vice/src/monitor/mon_parse.y 2012-01-01 15:00:27 UTC (rev 25110) +++ trunk/vice/src/monitor/mon_parse.y 2012-01-01 18:29:37 UTC (rev 25111) @@ -360,7 +360,7 @@ if ($2) { temp = mon_breakpoint_add_checkpoint($3[0], $3[1], TRUE, $2, FALSE); } else { - temp = mon_breakpoint_add_checkpoint($3[0], $3[1], TRUE, e_store, FALSE); + temp = mon_breakpoint_add_checkpoint($3[0], $3[1], TRUE, e_exec, FALSE); } mon_breakpoint_set_checkpoint_condition(temp, $4); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2012-03-16 20:10:35
|
Revision: 25445 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=25445&view=rev Author: skoe Date: 2012-03-16 20:10:26 +0000 (Fri, 16 Mar 2012) Log Message: ----------- Warnings fixed Modified Paths: -------------- trunk/vice/src/monitor/mon_lex.c trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.h trunk/vice/src/monitor/mon_parse.y Modified: trunk/vice/src/monitor/mon_lex.c =================================================================== --- trunk/vice/src/monitor/mon_lex.c 2012-03-16 17:45:55 UTC (rev 25444) +++ trunk/vice/src/monitor/mon_lex.c 2012-03-16 20:10:26 UTC (rev 25445) @@ -53,7 +53,6 @@ typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,6 +83,8 @@ #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -140,7 +141,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -1484,7 +1493,7 @@ } -#line 1488 "mon_lex.c" +#line 1497 "mon_lex.c" #define INITIAL 0 #define FNAME 1 @@ -1576,7 +1585,12 @@ /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif /* Copy whatever the last rule matched to the standard output. */ @@ -1584,7 +1598,7 @@ /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO fwrite( yytext, yyleng, 1, yyout ) +#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, @@ -1595,7 +1609,7 @@ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - int n; \ + size_t n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ @@ -1695,7 +1709,7 @@ } -#line 1699 "mon_lex.c" +#line 1713 "mon_lex.c" if ( !(yy_init) ) { @@ -3012,7 +3026,7 @@ #line 464 "mon_lex.l" ECHO; YY_BREAK -#line 3016 "mon_lex.c" +#line 3030 "mon_lex.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(FNAME): case YY_STATE_EOF(CMD): @@ -3747,8 +3761,8 @@ /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ Modified: trunk/vice/src/monitor/mon_parse.c =================================================================== --- trunk/vice/src/monitor/mon_parse.c 2012-03-16 17:45:55 UTC (rev 25444) +++ trunk/vice/src/monitor/mon_parse.c 2012-03-16 20:10:26 UTC (rev 25445) @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ +/* A Bison parser, made by GNU Bison 2.4.1. */ + /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software - Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.2" +#define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -195,7 +196,7 @@ /* Line 189 of yacc.c */ -#line 199 "mon_parse.c" +#line 200 "mon_parse.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -566,7 +567,7 @@ /* Line 214 of yacc.c */ -#line 570 "mon_parse.c" +#line 571 "mon_parse.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -578,7 +579,7 @@ /* Line 264 of yacc.c */ -#line 582 "mon_parse.c" +#line 583 "mon_parse.c" #ifdef short # undef short @@ -628,7 +629,7 @@ #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS +# if YYENABLE_NLS # if ENABLE_NLS # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -791,18 +792,18 @@ #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 301 +#define YYFINAL 302 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1752 +#define YYLAST 1715 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 167 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 54 +#define YYNNTS 55 /* YYNRULES -- Number of rules. */ -#define YYNRULES 301 +#define YYNRULES 302 /* YYNRULES -- Number of states. */ -#define YYNSTATES 602 +#define YYNSTATES 603 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -879,132 +880,132 @@ 488, 492, 496, 499, 505, 511, 517, 521, 526, 532, 537, 543, 548, 554, 560, 563, 567, 572, 576, 580, 586, 590, 596, 600, 603, 607, 612, 615, 618, 620, - 622, 623, 625, 627, 629, 631, 634, 636, 637, 639, - 642, 646, 648, 652, 654, 656, 658, 660, 664, 666, - 670, 673, 674, 676, 680, 682, 684, 685, 687, 689, - 691, 693, 695, 697, 699, 703, 707, 711, 715, 719, - 723, 725, 728, 729, 733, 737, 741, 745, 747, 749, - 751, 755, 757, 759, 761, 764, 766, 768, 770, 772, + 622, 623, 625, 627, 629, 631, 634, 636, 638, 639, + 641, 644, 648, 650, 654, 656, 658, 660, 662, 666, + 668, 672, 675, 676, 678, 682, 684, 686, 687, 689, + 691, 693, 695, 697, 699, 701, 705, 709, 713, 717, + 721, 725, 727, 730, 731, 735, 739, 743, 747, 749, + 751, 753, 757, 759, 761, 763, 766, 768, 770, 772, 774, 776, 778, 780, 782, 784, 786, 788, 790, 792, - 794, 796, 798, 800, 804, 808, 811, 814, 816, 818, - 821, 823, 827, 831, 835, 841, 847, 851, 855, 859, - 863, 867, 871, 877, 883, 889, 895, 896, 898, 900, + 794, 796, 798, 800, 802, 806, 810, 813, 816, 818, + 820, 823, 825, 829, 833, 837, 843, 849, 853, 857, + 861, 865, 869, 873, 879, 885, 891, 897, 898, 900, 902, 904, 906, 908, 910, 912, 914, 916, 918, 920, - 922, 924, 926, 928, 930, 932, 935, 939, 943, 948, - 952, 957, 960, 964, 968, 972, 976, 982, 988, 995, - 1001, 1008, 1013, 1019, 1025, 1031, 1037, 1041, 1043, 1045, - 1047, 1049 + 922, 924, 926, 928, 930, 932, 934, 937, 941, 945, + 950, 954, 959, 962, 966, 970, 974, 978, 984, 990, + 997, 1003, 1010, 1015, 1021, 1027, 1033, 1039, 1043, 1045, + 1047, 1049, 1051 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { - 168, 0, -1, 169, -1, 216, 22, -1, 22, -1, + 168, 0, -1, 169, -1, 217, 22, -1, 22, -1, 171, -1, 169, 171, -1, 23, -1, 22, -1, 1, -1, 172, -1, 174, -1, 177, -1, 175, -1, 178, -1, 179, -1, 180, -1, 181, -1, 182, -1, 183, -1, 184, -1, 185, -1, 13, -1, 67, 170, -1, - 67, 200, 170, -1, 67, 151, 170, -1, 67, 200, - 199, 151, 170, -1, 38, 198, 170, -1, 46, 170, - -1, 46, 198, 170, -1, 87, 170, -1, 87, 152, - 170, -1, 100, 170, -1, 100, 199, 203, 170, -1, + 67, 201, 170, -1, 67, 151, 170, -1, 67, 201, + 200, 151, 170, -1, 38, 199, 170, -1, 46, 170, + -1, 46, 199, 170, -1, 87, 170, -1, 87, 152, + 170, -1, 100, 170, -1, 100, 200, 204, 170, -1, 26, 170, -1, 49, 188, 170, -1, 50, 188, 170, - -1, 58, 170, -1, 58, 199, 203, 170, -1, 57, - 170, -1, 57, 199, 203, 170, -1, 29, 170, -1, - 29, 199, 203, 170, -1, 30, 170, -1, 30, 199, - 203, 170, -1, 85, 170, -1, 173, -1, 39, 170, - -1, 39, 200, 170, -1, 39, 192, 170, -1, 68, - 200, 199, 188, 170, -1, 68, 188, 170, -1, 69, - 200, 199, 188, 170, -1, 69, 188, 170, -1, 70, - 198, 199, 150, 170, -1, 71, 150, 170, -1, 71, - 200, 199, 150, 170, -1, 72, 200, 170, -1, 72, - 170, -1, 111, 21, 198, 170, -1, 111, 21, 198, - 24, 170, -1, -1, 55, 198, 176, 217, 170, -1, - 55, 198, 170, -1, 56, 195, 170, -1, 56, 170, - -1, 37, 196, 199, 198, 170, -1, 48, 196, 199, - 198, 170, -1, 36, 196, 199, 207, 170, -1, 35, - 196, 199, 209, 170, -1, 43, 155, 199, 195, 170, - -1, 43, 195, 170, -1, 43, 170, -1, 76, 195, - 170, -1, 76, 170, -1, 77, 195, 170, -1, 77, - 170, -1, 78, 195, 170, -1, 78, 170, -1, 79, - 195, 170, -1, 79, 170, -1, 101, 170, -1, 102, - 170, -1, 102, 199, 203, 170, -1, 102, 199, 203, - 195, 170, -1, 103, 188, 199, 203, 170, -1, 44, - 190, 195, 204, 170, -1, 44, 170, -1, 86, 195, - 170, -1, 86, 170, -1, 62, 190, 195, 204, 170, - -1, 62, 170, -1, 45, 190, 195, 204, 170, -1, - 45, 170, -1, 157, 194, 170, -1, 158, 194, 170, - -1, 34, 194, 170, -1, 34, 194, 199, 203, 170, - -1, 52, 194, 170, -1, 52, 170, -1, 53, 194, - 15, 205, 170, -1, 54, 194, 199, 146, 170, -1, - 54, 194, 1, 170, -1, 25, 159, 170, -1, 25, + -1, 58, 170, -1, 58, 200, 204, 170, -1, 57, + 170, -1, 57, 200, 204, 170, -1, 29, 170, -1, + 29, 200, 204, 170, -1, 30, 170, -1, 30, 200, + 204, 170, -1, 85, 170, -1, 173, -1, 39, 170, + -1, 39, 201, 170, -1, 39, 193, 170, -1, 68, + 201, 200, 188, 170, -1, 68, 188, 170, -1, 69, + 201, 200, 188, 170, -1, 69, 188, 170, -1, 70, + 199, 200, 150, 170, -1, 71, 150, 170, -1, 71, + 201, 200, 150, 170, -1, 72, 201, 170, -1, 72, + 170, -1, 111, 21, 199, 170, -1, 111, 21, 199, + 24, 170, -1, -1, 55, 199, 176, 218, 170, -1, + 55, 199, 170, -1, 56, 196, 170, -1, 56, 170, + -1, 37, 197, 200, 199, 170, -1, 48, 197, 200, + 199, 170, -1, 36, 197, 200, 208, 170, -1, 35, + 197, 200, 210, 170, -1, 43, 155, 200, 196, 170, + -1, 43, 196, 170, -1, 43, 170, -1, 76, 196, + 170, -1, 76, 170, -1, 77, 196, 170, -1, 77, + 170, -1, 78, 196, 170, -1, 78, 170, -1, 79, + 196, 170, -1, 79, 170, -1, 101, 170, -1, 102, + 170, -1, 102, 200, 204, 170, -1, 102, 200, 204, + 196, 170, -1, 103, 188, 200, 204, 170, -1, 44, + 191, 196, 205, 170, -1, 44, 170, -1, 86, 196, + 170, -1, 86, 170, -1, 62, 191, 196, 205, 170, + -1, 62, 170, -1, 45, 191, 196, 205, 170, -1, + 45, 170, -1, 157, 195, 170, -1, 158, 195, 170, + -1, 34, 195, 170, -1, 34, 195, 200, 204, 170, + -1, 52, 195, 170, -1, 52, 170, -1, 53, 195, + 15, 206, 170, -1, 54, 195, 200, 146, 170, -1, + 54, 195, 1, 170, -1, 25, 159, 170, -1, 25, 170, -1, 42, 155, 170, -1, 42, 170, -1, 60, - 200, 170, -1, 108, 170, -1, 65, 170, -1, 51, - 170, -1, 63, 186, 170, -1, 59, 203, 170, -1, + 201, 170, -1, 108, 170, -1, 65, 170, -1, 51, + 170, -1, 63, 186, 170, -1, 59, 204, 170, -1, 61, 170, -1, 61, 186, 170, -1, 64, 186, 170, - -1, 7, 203, 170, -1, 66, 186, 170, -1, 82, + -1, 7, 204, 170, -1, 66, 186, 170, -1, 82, 186, 170, -1, 89, 170, -1, 92, 187, 170, -1, - 91, 170, -1, 90, 188, 170, -1, 90, 188, 199, - 203, 170, -1, 93, 146, 170, -1, 94, 146, 146, - 170, -1, 97, 170, -1, 97, 199, 203, 170, -1, - 98, 199, 203, 170, -1, 99, 170, -1, 104, 187, + 91, 170, -1, 90, 188, 170, -1, 90, 188, 200, + 204, 170, -1, 93, 146, 170, -1, 94, 146, 146, + 170, -1, 97, 170, -1, 97, 200, 204, 170, -1, + 98, 200, 204, 170, -1, 99, 170, -1, 104, 187, 170, -1, 106, 107, 170, -1, 106, 170, -1, 31, - 188, 189, 197, 170, -1, 83, 188, 189, 197, 170, - -1, 32, 188, 189, 196, 170, -1, 32, 188, 1, - -1, 32, 188, 189, 1, -1, 84, 188, 189, 196, + 188, 189, 198, 170, -1, 83, 188, 189, 198, 170, + -1, 32, 188, 189, 197, 170, -1, 32, 188, 1, + -1, 32, 188, 189, 1, -1, 84, 188, 189, 197, 170, -1, 84, 188, 189, 1, -1, 33, 188, 189, - 198, 170, -1, 33, 188, 189, 1, -1, 27, 203, - 203, 197, 170, -1, 28, 203, 203, 198, 170, -1, - 105, 170, -1, 105, 189, 170, -1, 95, 188, 203, - 170, -1, 96, 203, 170, -1, 109, 188, 170, -1, - 109, 188, 199, 214, 170, -1, 110, 188, 170, -1, - 110, 188, 199, 214, 170, -1, 73, 188, 170, -1, - 74, 170, -1, 75, 188, 170, -1, 80, 198, 207, + 199, 170, -1, 33, 188, 189, 1, -1, 27, 204, + 204, 198, 170, -1, 28, 204, 204, 199, 170, -1, + 105, 170, -1, 105, 189, 170, -1, 95, 188, 204, + 170, -1, 96, 204, 170, -1, 109, 188, 170, -1, + 109, 188, 200, 215, 170, -1, 110, 188, 170, -1, + 110, 188, 200, 215, 170, -1, 73, 188, 170, -1, + 74, 170, -1, 75, 188, 170, -1, 80, 199, 208, 170, -1, 81, 170, -1, 88, 170, -1, 148, -1, - 148, -1, -1, 147, -1, 1, -1, 203, -1, 1, - -1, 190, 14, -1, 14, -1, -1, 153, -1, 200, - 153, -1, 192, 118, 193, -1, 193, -1, 191, 21, - 214, -1, 212, -1, 1, -1, 196, -1, 198, -1, - 198, 199, 198, -1, 9, -1, 200, 199, 9, -1, - 199, 198, -1, -1, 201, -1, 200, 199, 201, -1, - 150, -1, 118, -1, -1, 16, -1, 17, -1, 18, - -1, 19, -1, 20, -1, 202, -1, 214, -1, 203, - 161, 203, -1, 203, 162, 203, -1, 203, 163, 203, - -1, 203, 164, 203, -1, 165, 203, 166, -1, 165, - 203, 1, -1, 211, -1, 15, 205, -1, -1, 205, - 154, 205, -1, 205, 154, 1, -1, 112, 205, 113, - -1, 112, 205, 1, -1, 206, -1, 191, -1, 214, - -1, 207, 199, 208, -1, 208, -1, 214, -1, 146, - -1, 209, 210, -1, 210, -1, 214, -1, 160, -1, - 146, -1, 214, -1, 191, -1, 4, -1, 12, -1, - 11, -1, 10, -1, 12, -1, 11, -1, 10, -1, - 3, -1, 4, -1, 5, -1, 6, -1, 213, -1, - 215, 119, 216, -1, 216, 119, 216, -1, 216, 119, - -1, 149, 218, -1, 216, -1, 215, -1, 114, 214, - -1, 214, -1, 214, 118, 116, -1, 214, 118, 117, - -1, 112, 214, 113, -1, 112, 214, 118, 116, 113, - -1, 112, 214, 113, 118, 117, -1, 112, 134, 113, - -1, 112, 135, 113, -1, 112, 136, 113, -1, 112, - 137, 113, -1, 112, 138, 113, -1, 112, 139, 113, - -1, 112, 214, 113, 118, 115, -1, 112, 214, 113, - 118, 136, -1, 112, 214, 113, 118, 137, -1, 112, - 214, 113, 118, 138, -1, -1, 115, -1, 127, -1, - 128, -1, 129, -1, 130, -1, 131, -1, 140, -1, - 142, -1, 132, -1, 141, -1, 143, -1, 133, -1, - 134, -1, 135, -1, 136, -1, 137, -1, 138, -1, - 139, -1, 122, 214, -1, 214, 118, 220, -1, 118, - 219, 144, -1, 118, 219, 144, 144, -1, 118, 145, - 219, -1, 118, 145, 145, 219, -1, 118, 219, -1, - 127, 118, 219, -1, 115, 118, 219, -1, 129, 118, - 219, -1, 214, 118, 125, -1, 120, 214, 118, 219, - 121, -1, 120, 118, 219, 144, 121, -1, 120, 118, - 219, 144, 144, 121, -1, 120, 118, 145, 219, 121, - -1, 120, 118, 145, 145, 219, 121, -1, 120, 118, - 219, 121, -1, 120, 127, 118, 219, 121, -1, 120, - 115, 118, 219, 121, -1, 120, 129, 118, 219, 121, - -1, 120, 214, 118, 125, 121, -1, 120, 214, 121, - -1, 116, -1, 117, -1, 220, -1, 123, -1, 124, - -1 + 148, -1, -1, 147, -1, 1, -1, 204, -1, 1, + -1, 190, 14, -1, 14, -1, 190, -1, -1, 153, + -1, 201, 153, -1, 193, 118, 194, -1, 194, -1, + 192, 21, 215, -1, 213, -1, 1, -1, 197, -1, + 199, -1, 199, 200, 199, -1, 9, -1, 201, 200, + 9, -1, 200, 199, -1, -1, 202, -1, 201, 200, + 202, -1, 150, -1, 118, -1, -1, 16, -1, 17, + -1, 18, -1, 19, -1, 20, -1, 203, -1, 215, + -1, 204, 161, 204, -1, 204, 162, 204, -1, 204, + 163, 204, -1, 204, 164, 204, -1, 165, 204, 166, + -1, 165, 204, 1, -1, 212, -1, 15, 206, -1, + -1, 206, 154, 206, -1, 206, 154, 1, -1, 112, + 206, 113, -1, 112, 206, 1, -1, 207, -1, 192, + -1, 215, -1, 208, 200, 209, -1, 209, -1, 215, + -1, 146, -1, 210, 211, -1, 211, -1, 215, -1, + 160, -1, 146, -1, 215, -1, 192, -1, 4, -1, + 12, -1, 11, -1, 10, -1, 12, -1, 11, -1, + 10, -1, 3, -1, 4, -1, 5, -1, 6, -1, + 214, -1, 216, 119, 217, -1, 217, 119, 217, -1, + 217, 119, -1, 149, 219, -1, 217, -1, 216, -1, + 114, 215, -1, 215, -1, 215, 118, 116, -1, 215, + 118, 117, -1, 112, 215, 113, -1, 112, 215, 118, + 116, 113, -1, 112, 215, 113, 118, 117, -1, 112, + 134, 113, -1, 112, 135, 113, -1, 112, 136, 113, + -1, 112, 137, 113, -1, 112, 138, 113, -1, 112, + 139, 113, -1, 112, 215, 113, 118, 115, -1, 112, + 215, 113, 118, 136, -1, 112, 215, 113, 118, 137, + -1, 112, 215, 113, 118, 138, -1, -1, 115, -1, + 127, -1, 128, -1, 129, -1, 130, -1, 131, -1, + 140, -1, 142, -1, 132, -1, 141, -1, 143, -1, + 133, -1, 134, -1, 135, -1, 136, -1, 137, -1, + 138, -1, 139, -1, 122, 215, -1, 215, 118, 221, + -1, 118, 220, 144, -1, 118, 220, 144, 144, -1, + 118, 145, 220, -1, 118, 145, 145, 220, -1, 118, + 220, -1, 127, 118, 220, -1, 115, 118, 220, -1, + 129, 118, 220, -1, 215, 118, 125, -1, 120, 215, + 118, 220, 121, -1, 120, 118, 220, 144, 121, -1, + 120, 118, 220, 144, 144, 121, -1, 120, 118, 145, + 220, 121, -1, 120, 118, 145, 145, 220, 121, -1, + 120, 118, 220, 121, -1, 120, 127, 118, 220, 121, + -1, 120, 115, 118, 220, 121, -1, 120, 129, 118, + 220, 121, -1, 120, 215, 118, 125, 121, -1, 120, + 215, 121, -1, 116, -1, 117, -1, 221, -1, 123, + -1, 124, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ @@ -1026,21 +1027,21 @@ 503, 505, 507, 511, 513, 515, 517, 519, 521, 523, 525, 527, 529, 531, 533, 535, 537, 539, 541, 543, 545, 547, 551, 553, 555, 559, 561, 565, 569, 572, - 573, 576, 577, 580, 581, 584, 585, 586, 589, 590, - 593, 594, 597, 601, 602, 605, 606, 609, 610, 612, - 616, 617, 620, 625, 630, 640, 641, 644, 645, 646, - 647, 648, 651, 653, 655, 656, 657, 658, 659, 660, - 661, 664, 665, 667, 672, 674, 676, 678, 682, 688, - 696, 697, 700, 701, 704, 705, 708, 709, 710, 713, - 714, 717, 718, 719, 720, 723, 724, 725, 728, 729, - 730, 731, 732, 735, 736, 737, 740, 750, 751, 754, - 761, 769, 777, 785, 787, 789, 791, 792, 793, 794, - 795, 796, 797, 799, 801, 803, 805, 806, 807, 808, - 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, - 819, 820, 821, 822, 823, 825, 826, 841, 845, 849, - 853, 857, 861, 865, 869, 873, 885, 900, 904, 908, - 912, 916, 920, 924, 928, 932, 944, 953, 954, 955, - 959, 960 + 573, 576, 577, 580, 581, 584, 585, 588, 589, 592, + 593, 596, 597, 600, 604, 605, 608, 609, 612, 613, + 615, 619, 620, 623, 628, 633, 643, 644, 647, 648, + 649, 650, 651, 654, 656, 658, 659, 660, 661, 662, + 663, 664, 667, 668, 670, 675, 677, 679, 681, 685, + 691, 699, 700, 703, 704, 707, 708, 711, 712, 713, + 716, 717, 720, 721, 722, 723, 726, 727, 728, 731, + 732, 733, 734, 735, 738, 739, 740, 743, 753, 754, + 757, 764, 772, 780, 788, 790, 792, 794, 795, 796, + 797, 798, 799, 800, 802, 804, 806, 808, 809, 810, + 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, + 821, 822, 823, 824, 825, 826, 828, 829, 844, 848, + 852, 856, 860, 864, 868, 872, 876, 888, 903, 907, + 911, 915, 919, 923, 927, 931, 935, 947, 956, 957, + 958, 962, 963 }; #endif @@ -1087,7 +1088,7 @@ "checkpoint_rules", "checkpoint_control_rules", "monitor_state_rules", "monitor_misc_rules", "disk_rules", "cmd_file_rules", "data_entry_rules", "monitor_debug_rules", "rest_of_line", "opt_rest_of_line", "filename", - "device_num", "opt_mem_op", "register", "reg_list", "reg_asgn", + "device_num", "mem_op", "opt_mem_op", "register", "reg_list", "reg_asgn", "checkpt_num", "address_opt_range", "address_range", "opt_address", "address", "opt_sep", "memspace", "memloc", "memaddr", "expression", "opt_if_cond_expr", "cond_expr", "compare_operand", "data_list", @@ -1141,21 +1142,21 @@ 181, 181, 181, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 183, 183, 183, 184, 184, 185, 186, 187, - 187, 188, 188, 189, 189, 190, 190, 190, 191, 191, - 192, 192, 193, 194, 194, 195, 195, 196, 196, 196, - 197, 197, 198, 198, 198, 199, 199, 200, 200, 200, - 200, 200, 201, 202, 203, 203, 203, 203, 203, 203, - 203, 204, 204, 205, 205, 205, 205, 205, 206, 206, - 207, 207, 208, 208, 209, 209, 210, 210, 210, 211, - 211, 212, 212, 212, 212, 213, 213, 213, 214, 214, - 214, 214, 214, 215, 215, 215, 216, 217, 217, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 219, 219, 219, - 220, 220 + 187, 188, 188, 189, 189, 190, 190, 191, 191, 192, + 192, 193, 193, 194, 195, 195, 196, 196, 197, 197, + 197, 198, 198, 199, 199, 199, 200, 200, 201, 201, + 201, 201, 201, 202, 203, 204, 204, 204, 204, 204, + 204, 204, 205, 205, 206, 206, 206, 206, 206, 207, + 207, 208, 208, 209, 209, 210, 210, 211, 211, 211, + 212, 212, 213, 213, 213, 213, 214, 214, 214, 215, + 215, 215, 215, 215, 216, 216, 216, 217, 218, 218, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 220, 220, + 220, 221, 221 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1177,21 +1178,21 @@ 3, 3, 2, 5, 5, 5, 3, 4, 5, 4, 5, 4, 5, 5, 2, 3, 4, 3, 3, 5, 3, 5, 3, 2, 3, 4, 2, 2, 1, 1, - 0, 1, 1, 1, 1, 2, 1, 0, 1, 2, - 3, 1, 3, 1, 1, 1, 1, 3, 1, 3, - 2, 0, 1, 3, 1, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, - 1, 2, 0, 3, 3, 3, 3, 1, 1, 1, - 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 2, 1, 1, 0, 1, + 2, 3, 1, 3, 1, 1, 1, 1, 3, 1, + 3, 2, 0, 1, 3, 1, 1, 0, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, + 3, 1, 2, 0, 3, 3, 3, 3, 1, 1, + 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 2, 2, 1, 1, 2, - 1, 3, 3, 3, 5, 5, 3, 3, 3, 3, - 3, 3, 5, 5, 5, 5, 0, 1, 1, 1, + 1, 1, 1, 1, 3, 3, 2, 2, 1, 1, + 2, 1, 3, 3, 3, 5, 5, 3, 3, 3, + 3, 3, 3, 5, 5, 5, 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 3, 3, 4, 3, - 4, 2, 3, 3, 3, 3, 5, 5, 6, 5, - 6, 4, 5, 5, 5, 5, 3, 1, 1, 1, - 1, 1 + 1, 1, 1, 1, 1, 1, 2, 3, 3, 4, + 3, 4, 2, 3, 3, 3, 3, 5, 5, 6, + 5, 6, 4, 5, 5, 5, 5, 3, 1, 1, + 1, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1206,515 +1207,507 @@ 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, 160, 0, - 0, 0, 0, 0, 186, 0, 0, 0, 0, 0, - 160, 0, 0, 0, 0, 0, 0, 256, 0, 0, + 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, + 160, 0, 0, 0, 0, 0, 0, 257, 0, 0, 0, 2, 5, 10, 46, 11, 13, 12, 14, 15, - 16, 17, 18, 19, 20, 21, 0, 228, 229, 230, - 231, 227, 226, 225, 187, 188, 189, 190, 191, 168, - 0, 220, 0, 0, 200, 232, 219, 9, 8, 7, - 0, 104, 34, 0, 0, 185, 41, 0, 43, 0, - 162, 161, 0, 0, 0, 174, 221, 224, 223, 222, - 0, 173, 178, 184, 186, 186, 186, 182, 192, 193, - 186, 186, 0, 186, 47, 0, 0, 171, 0, 0, - 106, 186, 72, 0, 175, 186, 166, 87, 0, 93, - 0, 28, 0, 186, 0, 0, 110, 9, 99, 0, - 0, 0, 0, 65, 0, 39, 0, 37, 0, 0, - 0, 158, 113, 0, 91, 0, 0, 0, 109, 0, - 0, 23, 0, 0, 186, 0, 186, 186, 0, 186, - 58, 0, 0, 153, 0, 74, 0, 76, 0, 78, - 0, 80, 0, 0, 156, 0, 0, 0, 45, 89, - 0, 0, 30, 157, 119, 0, 121, 159, 0, 0, - 0, 0, 0, 126, 0, 0, 129, 32, 0, 81, - 82, 0, 186, 0, 9, 144, 0, 163, 0, 132, - 108, 0, 0, 0, 0, 0, 257, 0, 0, 0, - 258, 259, 260, 261, 262, 265, 268, 269, 270, 271, - 272, 273, 274, 263, 266, 264, 267, 240, 236, 0, - 0, 1, 6, 3, 0, 169, 0, 0, 0, 0, - 116, 103, 186, 0, 0, 0, 164, 186, 136, 0, - 0, 96, 0, 0, 0, 0, 0, 0, 27, 0, - 0, 0, 49, 48, 105, 0, 71, 165, 202, 202, - 29, 0, 35, 36, 98, 0, 0, 0, 63, 0, - 64, 0, 0, 112, 107, 114, 202, 111, 115, 117, - 25, 24, 0, 51, 0, 53, 0, 0, 55, 0, - 57, 152, 154, 73, 75, 77, 79, 213, 0, 211, - 212, 118, 186, 0, 88, 31, 122, 0, 120, 124, - 0, 0, 147, 0, 0, 0, 0, 0, 130, 145, - 131, 148, 0, 150, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 239, 0, 297, 298, 300, 301, 0, - 281, 299, 0, 0, 0, 0, 0, 275, 0, 0, - 0, 94, 95, 199, 198, 194, 195, 196, 197, 0, - 0, 0, 42, 44, 0, 137, 0, 141, 0, 0, - 218, 217, 0, 215, 216, 177, 179, 183, 0, 0, - 172, 170, 0, 0, 0, 0, 0, 0, 208, 0, - 207, 209, 102, 0, 238, 237, 0, 40, 38, 0, - 0, 0, 0, 0, 0, 155, 0, 0, 139, 0, - 0, 125, 146, 127, 128, 33, 83, 0, 0, 0, - 0, 0, 59, 246, 247, 248, 249, 250, 251, 243, - 0, 283, 0, 279, 277, 0, 0, 0, 0, 0, - 0, 296, 282, 284, 241, 242, 285, 276, 142, 180, - 143, 133, 135, 140, 97, 69, 214, 68, 66, 70, - 201, 86, 92, 67, 0, 0, 100, 101, 0, 235, - 62, 90, 26, 50, 52, 54, 56, 210, 134, 138, - 123, 84, 85, 149, 151, 60, 0, 0, 280, 278, - 0, 0, 0, 291, 0, 0, 0, 0, 0, 206, - 205, 204, 203, 233, 234, 252, 245, 253, 254, 255, - 244, 293, 0, 289, 287, 0, 292, 294, 295, 286, - 290, 288 + 16, 17, 18, 19, 20, 21, 0, 229, 230, 231, + 232, 228, 227, 226, 188, 189, 190, 191, 192, 169, + 0, 221, 0, 0, 201, 233, 220, 9, 8, 7, + 0, 104, 34, 0, 0, 186, 41, 0, 43, 0, + 162, 161, 0, 0, 0, 175, 222, 225, 224, 223, + 0, 174, 179, 185, 187, 187, 187, 183, 193, 194, + 187, 187, 0, 187, 47, 0, 0, 172, 0, 0, + 106, 187, 72, 0, 176, 187, 166, 87, 167, 0, + 93, 0, 28, 0, 187, 0, 0, 110, 9, 99, + 0, 0, 0, 0, 65, 0, 39, 0, 37, 0, + 0, 0, 158, 113, 0, 91, 0, 0, 0, 109, + 0, 0, 23, 0, 0, 187, 0, 187, 187, 0, + 187, 58, 0, 0, 153, 0, 74, 0, 76, 0, + 78, 0, 80, 0, 0, 156, 0, 0, 0, 45, + 89, 0, 0, 30, 157, 119, 0, 121, 159, 0, + 0, 0, 0, 0, 126, 0, 0, 129, 32, 0, + 81, 82, 0, 187, 0, 9, 144, 0, 163, 0, + 132, 108, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 259, 260, 261, 262, 263, 266, 269, 270, 271, + 272, 273, 274, 275, 264, 267, 265, 268, 241, 237, + 0, 0, 1, 6, 3, 0, 170, 0, 0, 0, + 0, 116, 103, 187, 0, 0, 0, 164, 187, 136, + 0, 0, 96, 0, 0, 0, 0, 0, 0, 27, + 0, 0, 0, 49, 48, 105, 0, 71, 165, 203, + 203, 29, 0, 35, 36, 98, 0, 0, 0, 63, + 0, 64, 0, 0, 112, 107, 114, 203, 111, 115, + 117, 25, 24, 0, 51, 0, 53, 0, 0, 55, + 0, 57, 152, 154, 73, 75, 77, 79, 214, 0, + 212, 213, 118, 187, 0, 88, 31, 122, 0, 120, + 124, 0, 0, 147, 0, 0, 0, 0, 0, 130, + 145, 131, 148, 0, 150, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 240, 0, 298, 299, 301, 302, + 0, 282, 300, 0, 0, 0, 0, 0, 276, 0, + 0, 0, 94, 95, 200, 199, 195, 196, 197, 198, + 0, 0, 0, 42, 44, 0, 137, 0, 141, 0, + 0, 219, 218, 0, 216, 217, 178, 180, 184, 0, + 0, 173, 171, 0, 0, 0, 0, 0, 0, 209, + 0, 208, 210, 102, 0, 239, 238, 0, 40, 38, + 0, 0, 0, 0, 0, 0, 155, 0, 0, 139, + 0, 0, 125, 146, 127, 128, 33, 83, 0, 0, + 0, 0, 0, 59, 247, 248, 249, 250, 251, 252, + 244, 0, 284, 0, 280, 278, 0, 0, 0, 0, + 0, 0, 297, 283, 285, 242, 243, 286, 277, 142, + 181, 143, 133, 135, 140, 97, 69, 215, 68, 66, + 70, 202, 86, 92, 67, 0, 0, 100, 101, 0, + 236, 62, 90, 26, 50, 52, 54, 56, 211, 134, + 138, 123, 84, 85, 149, 151, 60, 0, 0, 281, + 279, 0, 0, 0, 292, 0, 0, 0, 0, 0, + 207, 206, 205, 204, 234, 235, 253, 246, 254, 255, + 256, 245, 294, 0, 290, 288, 0, 293, 295, 296, + 287, 291, 289 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 90, 91, 131, 92, 93, 94, 95, 96, 349, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 203, - 248, 142, 266, 178, 121, 166, 167, 150, 173, 174, - 439, 175, 440, 122, 157, 158, 267, 464, 469, 470, - 378, 379, 452, 453, 124, 151, 125, 159, 474, 106, - 476, 298, 420, 421 + -1, 90, 91, 131, 92, 93, 94, 95, 96, 350, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 204, + 249, 142, 267, 178, 179, 121, 166, 167, 150, 173, + 174, 440, 175, 441, 122, 157, 158, 268, 465, 470, + 471, 379, 380, 453, 454, 124, 151, 125, 159, 475, + 106, 477, 299, 421, 422 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -399 +#define YYPACT_NINF -396 static const yytype_int16 yypact[] = { - 1152, 879, -399, -399, 39, 261, 879, 879, 78, 78, - 6, 6, 6, 522, 1541, 1541, 1541, 1563, 318, 19, - 990, 1132, 1132, 1415, 1541, 6, 6, 261, 639, 522, - 522, 1563, 1267, 78, 78, 879, 723, 178, 1132, -111, - -111, 261, -111, 593, 293, 293, 1563, 437, 1004, 6, - 261, 6, 1267, 1267, 1267, 1267, 1563, 261, -111, 6, - 6, 261, 1267, 117, 261, 261, 6, 261, -85, -68, - -54, 6, 879, 78, -83, 261, 78, 261, 78, 6, - -85, 105, 275, 261, 6, 6, 86, 1606, 522, 522, - 93, 1286, -399, -399, -399, -399, -399, -399, -399, -399, - -399, -399, -399, -399, -399, -399, 77, -399, -399, -399, - -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, - 879, -399, -48, 25, -399, -399, -399, -399, -399, -399, - 261, -399, -399, 710, 710, -399, -399, 879, -399, 879, - -399, -399, 13, 493, 13, -399, -399, -399, -399, -399, - 78, -399, -399, -399, -83, -83, -83, -399, -399, -399, - -83, -83, 261, -83, -399, 113, 229, -399, 54, 261, - -399, -83, -399, 261, -399, 345, -399, -399, 1523, -399, - 1523, -399, 261, -83, 261, 261, -399, 332, -399, 261, - 99, 72, 136, -399, 261, -399, 879, -399, 879, 25, - 261, -399, -399, 261, -399, 1523, 261, 261, -399, 261, - 261, -399, 145, 261, -83, 261, -83, -83, 261, -83, - -399, 261, 261, -399, 261, -399, 261, -399, 261, -399, - 261, -399, 261, 927, -399, 261, 13, 13, -399, -399, - 261, 261, -399, -399, -399, 78, -399, -399, 261, 261, - -20, 879, 25, -399, 879, 879, -399, -399, 879, -399, - -399, 879, -83, 261, 425, -399, 261, 30, 261, -399, - -399, 1634, 1634, 1563, 965, 676, 38, 357, 901, 676, - 42, -399, 46, -399, -399, -399, -399, -399, -399, -399, - -399, -399, -399, -399, -399, -399, -399, 58, -399, 261, - 261, -399, -399, -399, 9, -399, 879, 879, 879, 879, - -399, -399, 129, 947, 25, 25, -399, 245, 1444, 1464, - 1505, -399, 879, 276, 1563, 700, 927, 1563, -399, 676, - 676, 209, -399, -399, -399, 1541, -399, -399, 205, 205, - -399, 1563, -399, -399, -399, 1395, 261, 91, -399, 75, - -399, 25, 25, -399, -399, -399, 205, -399, -399, -399, - -399, -399, 87, -399, 6, -399, 6, 95, -399, 98, - -399, -399, -399, -399, -399, -399, -399, -399, 1585, -399, - -399, -399, 245, 1484, -399, -399, -399, 879, -399, -399, - 261, 25, -399, 25, 25, 25, 753, 879, -399, -399, - -399, -399, 676, -399, 676, 218, 142, 146, 148, 151, - 158, 159, -64, -399, 235, -399, -399, -399, -399, 391, - 131, -399, 171, 430, 177, 181, 84, -399, 235, 235, - 509, -399, -399, -399, -399, -113, -113, -399, -399, 261, - 1563, 261, -399, -399, 261, -399, 261, -399, 261, 25, - -399, -399, 211, -399, -399, -399, -399, -399, 1585, 261, - -399, -399, 261, 1395, 261, 261, 261, 1395, -399, 90, - -399, -399, -399, 261, 130, 182, 261, -399, -399, 261, - 261, 261, 261, 261, 261, -399, 927, 261, -399, 261, - 25, -399, -399, -399, -399, -399, -399, 261, 25, 261, - 261, 261, -399, -399, -399, -399, -399, -399, -399, 185, - 184, -399, 235, -399, 160, 235, 476, -106, 235, 235, - 763, -399, -399, -399, -399, -399, -399, -399, -399, -399, - -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, - 161, -399, -399, -399, 7, 1046, -399, -399, 75, 75, - -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, - -399, -399, -399, -399, -399, -399, 353, 204, -399, -399, - 197, 235, 199, -399, -57, 202, 203, 206, 222, -399, - -399, -399, -399, -399, -399, -399, -399, -399, -399, -399, - -399, -399, 224, -399, -399, 248, -399, -399, -399, -399, - -399, -399 + 1185, 917, -396, -396, 25, 193, 917, 917, 88, 88, + 6, 6, 6, 608, 1171, 1171, 1171, 1515, 616, 13, + 1046, 1149, 1149, 1432, 1171, 6, 6, 193, 1102, 608, + 608, 1515, 1297, 88, 88, 917, 759, 65, 1149, -126, + -126, 193, -126, 207, 425, 425, 1515, 253, 711, 6, + 193, 6, 1297, 1297, 1297, 1297, 1515, 193, -126, 6, + 6, 193, 1297, 41, 193, 193, 6, 193, -124, -90, + -70, 6, 917, 88, -67, 193, 88, 193, 88, 6, + -124, 472, 80, 193, 6, 6, 76, 1556, 608, 608, + 109, 1319, -396, -396, -396, -396, -396, -396, -396, -396, + -396, -396, -396, -396, -396, -396, 91, -396, -396, -396, + -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, + 917, -396, -27, 18, -396, -396, -396, -396, -396, -396, + 193, -396, -396, 754, 754, -396, -396, 917, -396, 917, + -396, -396, 111, 498, 111, -396, -396, -396, -396, -396, + 88, -396, -396, -396, -67, -67, -67, -396, -396, -396, + -67, -67, 193, -67, -396, 114, 73, -396, 32, 193, + -396, -67, -396, 193, -396, 144, -396, -396, 123, 1171, + -396, 1171, -396, 193, -67, 193, 193, -396, 221, -396, + 193, 137, 16, 61, -396, 193, -396, 917, -396, 917, + 18, 193, -396, -396, 193, -396, 1171, 193, 193, -396, + 193, 193, -396, 117, 193, -67, 193, -67, -67, 193, + -67, -396, 193, 193, -396, 193, -396, 193, -396, 193, + -396, 193, -396, 193, 328, -396, 193, 111, 111, -396, + -396, 193, 193, -396, -396, -396, 88, -396, -396, 193, + 193, 30, 917, 18, -396, 917, 917, -396, -396, 917, + -396, -396, 917, -67, 193, 414, -396, 193, 392, 193, + -396, -396, 1597, 1597, 1515, 656, 882, 46, 389, 1585, + 882, 59, -396, 70, -396, -396, -396, -396, -396, -396, + -396, -396, -396, -396, -396, -396, -396, -396, 71, -396, + 193, 193, -396, -396, -396, 9, -396, 917, 917, 917, + 917, -396, -396, 56, 955, 18, 18, -396, 124, 1455, + 1477, 279, -396, 917, 454, 1515, 734, 328, 1515, -396, + 882, 882, 229, -396, -396, -396, 1171, -396, -396, 177, + 177, -396, 1515, -396, -396, -396, 998, 193, 49, -396, + 48, -396, 18, 18, -396, -396, -396, 177, -396, -396, + -396, -396, -396, 51, -396, 6, -396, 6, 55, -396, + 78, -396, -396, -396, -396, -396, -396, -396, -396, 1535, + -396, -396, -396, 124, 1497, -396, -396, -396, 917, -396, + -396, 193, 18, -396, 18, 18, 18, 861, 917, -396, + -396, -396, -396, 882, -396, 882, 426, 108, 125, 126, + 139, 143, 150, -95, -396, 188, -396, -396, -396, -396, + 404, 121, -396, 159, 415, 163, 168, 42, -396, 188, + 188, 553, -396, -396, -396, -396, -114, -114, -396, -396, + 193, 1515, 193, -396, -396, 193, -396, 193, -396, 193, + 18, -396, -396, 977, -396, -396, -396, -396, -396, 1535, + 193, -396, -396, 193, 998, 193, 193, 193, 998, -396, + 36, -396, -396, -396, 193, 173, 174, 193, -396, -396, + 193, 193, 193, 193, 193, 193, -396, 328, 193, -396, + 193, 18, -396, -396, -396, -396, -396, -396, 193, 18, + 193, 193, 193, -396, -396, -396, -396, -396, -396, -396, + 176, 184, -396, 188, -396, 166, 188, 478, -106, 188, + 188, 575, -396, -396, -396, -396, -396, -396, -396, -396, + -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, + -396, 160, -396, -396, -396, 7, 1073, -396, -396, 48, + 48, -396, -396, -396, -396, -396, -396, -396, -396, -396, + -396, -396, -396, -396, -396, -396, -396, 231, 203, -396, + -396, 197, 188, 198, -396, -20, 216, 220, 223, 230, + -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, + -396, -396, -396, 232, -396, -396, 235, -396, -396, -396, + -396, -396, -396 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -399, -399, -399, 356, 259, -399, -399, -399, -399, -399, - -399, -399, -399, -399, -399, -399, -399, -399, -399, 141, - 286, 416, 188, 107, -17, -399, 50, 74, 4, -3, - -308, 29, -6, 621, -194, -399, 731, -317, -398, -399, - 47, -101, -399, -65, -399, -399, -399, -1, -399, -345, - -399, -399, 271, -39 + -396, -396, -396, 357, 233, -396, -396, -396, -396, -396, + -396, -396, -396, -396, -396, -396, -396, -396, -396, 192, + 248, 276, 354, -396, 39, -17, -396, 20, 171, -23, + -3, -293, 29, -6, 670, -310, -396, 647, -275, -395, + -396, 37, -128, -396, -83, -396, -396, -396, -1, -396, + -346, -396, -396, 523, -68 }; /* 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 -187 +#define YYTABLE_NINF -188 static const yytype_int16 yytable[] = { - 126, 165, 137, 139, 475, 126, 126, 140, 579, 444, - 433, 154, 160, 161, 316, 573, 107, 108, 109, 110, - 127, 183, 465, 111, 112, 113, 127, 196, 198, 114, - 115, 116, 117, 118, 126, 135, 194, 201, 574, 479, - 127, 128, 129, 155, 155, 155, 162, 128, 129, 509, - 308, 309, 182, 155, 510, 127, 226, 228, 230, 232, - 192, 128, 129, 247, 594, 540, 240, 254, 255, 544, - 258, 126, 261, 346, 487, 217, 128, 129, 249, 127, - 126, -186, -186, -186, -186, 233, 297, 595, -186, -186, - -186, 127, 250, 301, -186, -186, -186, -186, -186, 303, - 128, 129, 189, 190, 191, 305, 264, 273, 107, 108, - 109, 110, 128, 129, 345, 111, 112, 113, 127, 126, - 580, 114, 115, 116, 117, 118, 390, 128, 129, 180, - -181, 457, 126, 126, 330, 457, 126, 127, 126, 128, - 129, 126, 126, 126, 322, 205, 127, 582, 323, 324, - 325, -181, -181, 141, 326, 327, 414, 329, 128, 129, - 428, 545, 299, 300, 429, 335, 119, 128, 129, 324, - 306, 307, 308, 309, 169, 434, 430, 341, 120, 127, - 206, 207, 338, 209, 339, 347, 306, 307, 308, 309, - 135, 306, 307, 308, 309, 126, 135, 126, 130, 235, - 128, 129, 520, 583, 584, 521, 362, 305, 364, 356, - 366, 367, 127, 369, 107, 108, 109, 110, -186, 127, - 463, 111, 112, 113, 87, 114, 115, 116, 117, 118, - 127, -186, 380, 128, 129, 126, 126, 473, 480, 387, - 128, 129, 501, -186, 545, 483, -181, 135, 484, 548, - 126, 128, 129, 126, 126, 503, 397, 126, 119, 504, - 126, 505, 127, 135, 506, 402, 404, -181, -181, 241, - 120, 507, 508, 412, 413, 514, 127, 426, 427, 107, - 108, 109, 110, 128, 129, -61, 111, 112, 113, 515, - 306, 307, 308, 309, 140, 518, -186, 128, 129, 519, - 567, 549, 405, 566, 569, 126, 126, 126, 126, 114, - 115, 116, 117, 118, 165, 545, 446, 590, 591, 127, - 593, 126, 454, 596, 597, 380, 201, 598, 468, 460, - 317, 319, 320, -174, 114, 115, 116, 117, 118, 462, - 128, 129, 441, 599, 471, 600, -176, 331, 155, 448, - 302, 415, 416, 455, -174, -174, 459, 450, 417, 418, - -176, 132, 119, 135, 136, 138, 263, -176, -176, 601, - 466, 451, 486, 458, 164, 170, 172, 177, 179, 181, - 489, 461, 268, 186, 188, 557, 126, 536, 193, 195, - 197, 527, 0, 202, 204, 0, 126, 208, 0, 211, - 497, 499, 0, 500, 220, 0, 223, 0, 225, 227, - 229, 231, 155, 234, 0, 0, 0, 238, 239, 242, - 243, 244, 450, 246, 382, 383, -164, 143, 144, 253, - 0, 256, 257, 259, 260, 0, 451, 265, 269, 270, - 141, 184, 185, 0, 0, 0, 468, -164, -164, 0, - 468, 454, 486, 114, 115, 116, 117, 118, 0, 0, - 213, 215, 471, 135, 0, 222, 471, 224, 585, 529, - 586, 119, 0, 415, 416, 236, 237, 0, 0, 310, - 417, 418, 245, 0, 0, 380, 311, 251, 0, 587, - 588, 589, 0, 0, 318, 262, 107, 108, 109, 110, - 271, 272, 419, 111, 112, 113, 321, 415, 416, 114, - 115, 116, 117, 118, 417, 418, 0, 0, 328, 0, - 0, 0, 332, 145, 333, 334, 146, 0, 468, 336, - 0, 0, 147, 148, 149, 0, 512, 0, 340, 0, - 342, 343, 0, 0, 471, 344, 415, 416, 348, 0, - 350, 0, 0, 417, 418, 353, 354, 0, 0, 355, - 0, 0, 357, 358, 0, 359, 360, 0, 361, 363, - 0, 365, 0, 0, 368, 516, 0, 370, 371, 0, - 372, 0, 373, 0, 374, 0, 375, 218, 376, 0, - 0, 381, 415, 416, 127, 0, 384, 385, 0, 417, - 418, 386, 0, 0, 388, 389, 0, 0, 392, 114, - 115, 116, 117, 118, 0, 128, 129, 0, 0, 398, - 0, 571, 399, 0, 400, 524, 525, 401, 403, 0, - 0, 0, 417, 418, 526, 156, 156, 156, 163, 168, - 187, 156, 0, 146, 163, 156, 119, 0, 0, 147, - 148, 149, 163, 156, 0, 431, 432, 200, 120, 0, - 0, 128, 129, 0, 212, 214, 216, 163, 219, 221, - 442, 443, 0, 156, 156, 156, 156, 163, 0, 107, - 108, 109, 110, 156, 0, 511, 111, 112, 113, 0, - 513, 0, 0, 0, 517, 0, 0, 0, 0, 522, - 523, 0, 472, 107, 108, 109, 110, 477, 478, 456, - 111, 112, 113, 107, 108, 109, 110, 0, 0, 0, - 111, 112, 113, 0, 0, 0, 114, 115, 116, 117, - 118, 0, 123, 0, 485, 0, 0, 133, 134, 114, - 115, 116, 117, 118, 210, 0, 491, 492, 0, 493, - 494, 495, 496, 0, 127, 0, 107, 108, 109, 110, - 0, 502, 152, 111, 112, 113, 199, 0, 0, 114, - 115, 116, 117, 118, 0, 128, 129, 0, 0, 0, - 481, 0, 482, 568, 0, 0, 570, 572, 0, 575, - 576, 578, 0, 0, 0, 528, 0, 530, 0, 156, - 531, 156, 532, 252, 533, 534, 0, 0, 535, 0, - 0, 0, 0, 0, 537, 538, 0, 0, 539, 0, - 541, 542, 543, 0, 0, 546, 156, 0, 0, 547, - 0, 0, 550, 0, 0, 551, 552, 553, 554, 555, - 556, 0, 592, 558, 0, 559, 560, 0, 0, 0, - 0, 304, 0, 561, 562, 563, 564, 565, 0, 0, - 0, 0, 0, 119, 312, 313, 0, 0, 314, 0, - 315, 306, 307, 308, 309, 120, 0, 0, 0, 415, - 416, 0, 107, 108, 109, 110, 417, 418, 577, 111, - 112, 113, 0, 0, 163, 114, 115, 116, 117, 118, - 0, 0, 0, 153, 107, 108, 109, 110, 0, 0, - 0, 111, 112, 113, 306, 307, 308, 309, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 351, 0, 352, - 107, 108, 109, 110, 163, 0, 0, 111, 112, 113, - 156, 163, 0, 0, 0, 163, 0, 0, 163, 0, - 107, 108, 109, 110, 0, 0, 156, 111, 112, 113, - 0, 0, 163, 114, 115, 116, 117, 118, 107, 108, + 126, 165, 137, 139, 476, 126, 126, 140, 580, 195, + 434, 154, 160, 161, 127, 574, 458, 347, 510, 127, + 458, 184, 202, 511, 248, 445, 127, 197, 199, 227, + 229, 231, 233, 127, 126, 128, 129, 127, 575, 241, + 128, 129, 127, 155, 155, 155, 162, 128, 129, 309, + 310, 135, 183, 155, 128, 129, 250, -182, 128, 129, + 193, 181, 127, 128, 129, 466, 127, 255, 256, 541, + 259, 126, 262, 545, 127, 218, 251, 206, -182, -182, + 126, 127, 480, 128, 129, 234, 298, 128, 129, 127, + 488, -187, -187, -187, -187, 128, 129, 274, -187, -187, + -187, 595, 128, 129, -187, -187, -187, -187, -187, 302, + 128, 129, 317, 304, 107, 108, 109, 110, 127, 126, + 581, 111, 112, 113, 596, -182, 306, 114, 115, 116, + 117, 118, 126, 126, 135, 331, 126, 338, 126, 128, + 129, 126, 126, 126, 323, -177, -182, -182, 324, 325, + 326, 583, 346, 141, 327, 328, 339, 330, 340, -177, + 521, 546, -187, 522, 415, 336, -177, -177, 169, 325, + 307, 308, 309, 310, 135, 435, 391, 429, 342, 307, + 308, 309, 310, 357, 130, 306, 348, 269, 430, 431, + 546, 332, 464, 242, 127, 474, 126, 87, 126, 190, + 191, 192, 481, 584, 585, 484, 135, 363, 127, 365, + -61, 367, 368, 202, 370, 128, 129, 307, 308, 309, + 310, 504, -175, 114, 115, 116, 117, 118, 485, 128, + 129, 207, 208, 381, 210, 135, 126, 126, 505, 506, + 388, -187, 135, -175, -175, 114, 115, 116, 117, 118, + 236, 126, 507, -187, 126, 126, 508, 398, 126, 300, + 301, 126, 135, 509, 119, 515, 403, 405, -187, 114, + 115, 116, 117, 118, 413, 414, 120, 516, 427, 428, + 448, 519, 107, 108, 109, 110, 520, 143, 144, 111, + 112, 113, 549, 550, 567, 114, 115, 116, 117, 118, + 568, 185, 186, 406, 416, 417, 126, 126, 126, 126, + 570, 418, 419, 463, 546, 165, 591, 447, 592, 594, + 214, 216, 126, 455, 303, 223, 381, 225, 264, 469, + 461, 107, 108, 109, 110, 237, 238, 597, 111, 112, + 113, 598, 246, 442, 599, 472, 586, 252, 587, 155, + 449, 600, 462, 601, 456, 263, 602, 460, 211, 558, + 272, 273, 132, 528, 459, 136, 138, 588, 589, 590, + 537, 467, 0, 487, 498, 164, 170, 172, 177, 180, + 182, 490, 119, 0, 187, 189, 0, 126, 0, 194, + 196, 198, 0, 0, 203, 205, 0, 126, 209, 0, + 212, 0, 500, 219, 501, 221, 0, 224, 0, 226, + 228, 230, 232, 155, 235, -164, 0, 0, 239, 240, + 243, 244, 245, 0, 247, 0, 140, 127, 0, 153, + 254, 0, 257, 258, 260, 261, -164, -164, 266, 270, + 271, 114, 115, 116, 117, 118, 0, 469, 128, 129, + 502, 469, 455, 487, 0, 0, 0, 107, 108, 109, + 110, 0, 0, 472, 111, 112, 113, 472, 0, 0, + 530, 0, 0, 265, 378, 107, 108, 109, 110, 0, + 311, 0, 111, 112, 113, 0, 381, 312, 114, 115, + 116, 117, 118, 0, 128, 129, 318, 320, 321, 319, + 0, 107, 108, 109, 110, 416, 417, 322, 111, 112, + ... [truncated message content] |
From: <bla...@us...> - 2012-04-08 19:01:06
|
Revision: 25551 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=25551&view=rev Author: blackystardust Date: 2012-04-08 19:00:58 +0000 (Sun, 08 Apr 2012) Log Message: ----------- Added FULL6809 and H6309 addressing modes for disassembly purposes. Modified Paths: -------------- trunk/vice/src/monitor/asm.h trunk/vice/src/monitor/mon_disassemble.c trunk/vice/src/monitor/mon_disassemble.h Modified: trunk/vice/src/monitor/asm.h =================================================================== --- trunk/vice/src/monitor/asm.h 2012-04-08 18:59:58 UTC (rev 25550) +++ trunk/vice/src/monitor/asm.h 2012-04-08 19:00:58 UTC (rev 25551) @@ -46,18 +46,18 @@ ASM_ADDR_MODE_ABSOLUTE_X, ASM_ADDR_MODE_ABSOLUTE_Y, ASM_ADDR_MODE_ABS_INDIRECT, - ASM_ADDR_MODE_INDIRECT_X, /* 10 */ + ASM_ADDR_MODE_INDIRECT_X, /* 10 */ ASM_ADDR_MODE_INDIRECT_Y, ASM_ADDR_MODE_RELATIVE, /* more modes needed for z80 */ - ASM_ADDR_MODE_ABSOLUTE_A, /* 13 */ + ASM_ADDR_MODE_ABSOLUTE_A, /* 13 */ ASM_ADDR_MODE_ABSOLUTE_HL, ASM_ADDR_MODE_ABSOLUTE_IX, ASM_ADDR_MODE_ABSOLUTE_IY, ASM_ADDR_MODE_ABS_INDIRECT_ZP, ASM_ADDR_MODE_IMMEDIATE_16, ASM_ADDR_MODE_REG_B, - ASM_ADDR_MODE_REG_C, /* 20 */ + ASM_ADDR_MODE_REG_C, /* 20 */ ASM_ADDR_MODE_REG_D, ASM_ADDR_MODE_REG_E, ASM_ADDR_MODE_REG_H, @@ -67,7 +67,7 @@ ASM_ADDR_MODE_REG_IXL, ASM_ADDR_MODE_REG_IYL, ASM_ADDR_MODE_REG_AF, - ASM_ADDR_MODE_REG_BC, /* 30 */ + ASM_ADDR_MODE_REG_BC, /* 30 */ ASM_ADDR_MODE_REG_DE, ASM_ADDR_MODE_REG_HL, ASM_ADDR_MODE_REG_IX, @@ -77,20 +77,34 @@ ASM_ADDR_MODE_REG_IND_DE, ASM_ADDR_MODE_REG_IND_HL, ASM_ADDR_MODE_REG_IND_IX, - ASM_ADDR_MODE_REG_IND_IY, /* 40 */ + ASM_ADDR_MODE_REG_IND_IY, /* 40 */ ASM_ADDR_MODE_REG_IND_SP, /* more modes needed for 6809 */ - ASM_ADDR_MODE_ILLEGAL, /* 42 */ - ASM_ADDR_MODE_IMM_BYTE, /* 43 looks like ASM_ADDR_MODE_IMMEDIATE, */ - ASM_ADDR_MODE_IMM_WORD, /* 44 looks like ASM_ADDR_MODE_IMMEDIATE_16, */ - ASM_ADDR_MODE_DIRECT, /* 45 looks like ASM_ADDR_MODE_ZERO_PAGE, */ - ASM_ADDR_MODE_EXTENDED, /* 46 looks like ASM_ADDR_MODE_ABSOLUTE, */ - ASM_ADDR_MODE_INDEXED, /* 47 post-byte determines sub-mode */ - ASM_ADDR_MODE_REL_BYTE, /* 48 */ - ASM_ADDR_MODE_REL_WORD, /* 48 */ - ASM_ADDR_MODE_REG_POST, /* 50 */ - ASM_ADDR_MODE_SYS_POST, /* 51 */ - ASM_ADDR_MODE_USR_POST /* 52 */ + ASM_ADDR_MODE_ILLEGAL, /* 42 */ + ASM_ADDR_MODE_IMM_BYTE, /* 43 looks like ASM_ADDR_MODE_IMMEDIATE */ + ASM_ADDR_MODE_IMM_WORD, /* 44 looks like ASM_ADDR_MODE_IMMEDIATE_16 */ + ASM_ADDR_MODE_DIRECT, /* 45 looks like ASM_ADDR_MODE_ZERO_PAGE */ + ASM_ADDR_MODE_EXTENDED, /* 46 looks like ASM_ADDR_MODE_ABSOLUTE */ + ASM_ADDR_MODE_INDEXED, /* 47 post-byte determines sub-mode */ + ASM_ADDR_MODE_REL_BYTE, /* 48 */ + ASM_ADDR_MODE_REL_WORD, /* 48 */ + ASM_ADDR_MODE_REG_POST, /* 50 */ + ASM_ADDR_MODE_SYS_POST, /* 51 */ + ASM_ADDR_MODE_USR_POST, /* 52 */ + /* more modes needed for FULL 6809 */ + ASM_ADDR_MODE_F6809_INDEXED, /* 53 post-byte determines sub-mode (FULL 6809) */ + /* more modes needed for 6309 */ + ASM_ADDR_MODE_IM_DIRECT, /* 54 #$xx,<$xx */ + ASM_ADDR_MODE_IM_EXTENDED, /* 55 #$xx,$xxxx */ + ASM_ADDR_MODE_IM_INDEXED, /* 56 #$xx,sub-mode */ + ASM_ADDR_MODE_BITWISE, /* 57 R,x,x,<$xx */ + ASM_ADDR_MODE_TFM_PP, /* 58 R+,R+ */ + ASM_ADDR_MODE_TFM_MM, /* 59 R-,R- */ + ASM_ADDR_MODE_TFM_PC, /* 60 R+,R */ + ASM_ADDR_MODE_TFM_CP, /* 61 R,R+ */ + ASM_ADDR_MODE_IMM_DWORD, /* 62 #$xxxxxxxx */ + ASM_ADDR_MODE_H6309_INDEXED, /* 63 post-byte determines sub-mode (6309 indexed) */ + ASM_ADDR_MODE_H6309_REG_POST /* 64 (6309 post) */ }; typedef enum asm_addr_mode asm_addr_mode_t; @@ -99,38 +113,54 @@ * as found in the index post-byte. */ -#define ASM_ADDR_MODE_INDEXED_INC1 0x00 -#define ASM_ADDR_MODE_INDEXED_INC2 0x01 -#define ASM_ADDR_MODE_INDEXED_DEC1 0x02 -#define ASM_ADDR_MODE_INDEXED_DEC2 0x03 -#define ASM_ADDR_MODE_INDEXED_OFF0 0x04 -#define ASM_ADDR_MODE_INDEXED_OFFB 0x05 -#define ASM_ADDR_MODE_INDEXED_OFFA 0x06 -#define ASM_ADDR_MODE_INDEXED_07 0x07 -#define ASM_ADDR_MODE_INDEXED_OFF8 0x08 -#define ASM_ADDR_MODE_INDEXED_OFF16 0x09 -#define ASM_ADDR_MODE_INDEXED_0A 0x0A -#define ASM_ADDR_MODE_INDEXED_OFFD 0x0B -#define ASM_ADDR_MODE_INDEXED_OFFPC8 0x0C -#define ASM_ADDR_MODE_INDEXED_OFFPC16 0x0D -#define ASM_ADDR_MODE_INDEXED_0E 0x0E -#define ASM_ADDR_MODE_INDEXED_0F 0x0F -#define ASM_ADDR_MODE_INDEXED_10 0x10 -#define ASM_ADDR_MODE_INDEXED_INC2_IND 0x11 -#define ASM_ADDR_MODE_INDEXED_12 0x12 -#define ASM_ADDR_MODE_INDEXED_DEC2_IND 0x13 -#define ASM_ADDR_MODE_INDEXED_OFF0_IND 0x14 -#define ASM_ADDR_MODE_INDEXED_OFFB_IND 0x15 -#define ASM_ADDR_MODE_INDEXED_OFFA_IND 0x16 -#define ASM_ADDR_MODE_INDEXED_17 0x17 -#define ASM_ADDR_MODE_INDEXED_OFF8_IND 0x18 -#define ASM_ADDR_MODE_INDEXED_OFF16_IND 0x19 -#define ASM_ADDR_MODE_INDEXED_1A 0x1A -#define ASM_ADDR_MODE_INDEXED_OFFD_IND 0x1B -#define ASM_ADDR_MODE_INDEXED_OFFPC8_IND 0x1C -#define ASM_ADDR_MODE_INDEXED_OFFPC16_IND 0x1D -#define ASM_ADDR_MODE_INDEXED_1E 0x1E -#define ASM_ADDR_MODE_EXTENDED_INDIRECT 0x1F +#define ASM_ADDR_MODE_INDEXED_INC1 0x00 +#define ASM_ADDR_MODE_INDEXED_INC2 0x01 +#define ASM_ADDR_MODE_INDEXED_DEC1 0x02 +#define ASM_ADDR_MODE_INDEXED_DEC2 0x03 +#define ASM_ADDR_MODE_INDEXED_OFF0 0x04 +#define ASM_ADDR_MODE_INDEXED_OFFB 0x05 +#define ASM_ADDR_MODE_INDEXED_OFFA 0x06 +#define ASM_ADDR_MODE_INDEXED_07 0x07 +#define ASM_ADDR_MODE_INDEXED_F6809_OFF0 0x07 +#define ASM_ADDR_MODE_INDEXED_H6309_OFFE 0x07 +#define ASM_ADDR_MODE_INDEXED_OFF8 0x08 +#define ASM_ADDR_MODE_INDEXED_OFF16 0x09 +#define ASM_ADDR_MODE_INDEXED_0A 0x0A +#define ASM_ADDR_MODE_INDEXED_F6809_OFFPCORFF 0x0A +#define ASM_ADDR_MODE_INDEXED_H6309_OFFF 0x0A +#define ASM_ADDR_MODE_INDEXED_OFFD 0x0B +#define ASM_ADDR_MODE_INDEXED_OFFPC8 0x0C +#define ASM_ADDR_MODE_INDEXED_OFFPC16 0x0D +#define ASM_ADDR_MODE_INDEXED_0E 0x0E +#define ASM_ADDR_MODE_INDEXED_H6309_OFFW 0x0E +#define ASM_ADDR_MODE_INDEXED_0F 0x0F +#define ASM_ADDR_MODE_INDEXED_F6809_EXTENDED 0x0F +#define ASM_ADDR_MODE_INDEXED_H6309_OFFWREL 0x0F +#define ASM_ADDR_MODE_INDEXED_10 0x10 +#define ASM_ADDR_MODE_INDEXED_F6809_INC1_IND 0x10 +#define ASM_ADDR_MODE_INDEXED_H6309_OFFWREL_IND 0x10 +#define ASM_ADDR_MODE_INDEXED_INC2_IND 0x11 +#define ASM_ADDR_MODE_INDEXED_12 0x12 +#define ASM_ADDR_MODE_INDEXED_F6809_DEC1_IND 0x12 +#define ASM_ADDR_MODE_INDEXED_H6309_DEC1_IND 0x12 +#define ASM_ADDR_MODE_INDEXED_DEC2_IND 0x13 +#define ASM_ADDR_MODE_INDEXED_OFF0_IND 0x14 +#define ASM_ADDR_MODE_INDEXED_OFFB_IND 0x15 +#define ASM_ADDR_MODE_INDEXED_OFFA_IND 0x16 +#define ASM_ADDR_MODE_INDEXED_17 0x17 +#define ASM_ADDR_MODE_INDEXED_F6809_OFF0_IND 0x17 +#define ASM_ADDR_MODE_INDEXED_H6309_OFFE_IND 0x17 +#define ASM_ADDR_MODE_INDEXED_OFF8_IND 0x18 +#define ASM_ADDR_MODE_INDEXED_OFF16_IND 0x19 +#define ASM_ADDR_MODE_INDEXED_1A 0x1A +#define ASM_ADDR_MODE_INDEXED_F6809_OFFPCORFF_IND 0x1A +#define ASM_ADDR_MODE_INDEXED_H6309_OFFF_IND 0x1A +#define ASM_ADDR_MODE_INDEXED_OFFD_IND 0x1B +#define ASM_ADDR_MODE_INDEXED_OFFPC8_IND 0x1C +#define ASM_ADDR_MODE_INDEXED_OFFPC16_IND 0x1D +#define ASM_ADDR_MODE_INDEXED_1E 0x1E +#define ASM_ADDR_MODE_INDEXED_H6309_OFFW_IND 0x1E +#define ASM_ADDR_MODE_EXTENDED_INDIRECT 0x1F struct asm_opcode_info_s { const char *mnemonic; @@ -148,4 +178,3 @@ struct monitor_cpu_type_s; #endif - Modified: trunk/vice/src/monitor/mon_disassemble.c =================================================================== --- trunk/vice/src/monitor/mon_disassemble.c 2012-04-08 18:59:58 UTC (rev 25550) +++ trunk/vice/src/monitor/mon_disassemble.c 2012-04-08 19:00:58 UTC (rev 25551) @@ -48,11 +48,29 @@ } } -char *reg6809[] = { +static char *get_6309_bitwise_reg(BYTE val) +{ + switch (val & 0xc0) { + case 0x00: + return "CC"; + case 0x80: + return "A"; + case 0xC0: + return "B"; + } + return "?"; +} + +static char *reg6809[] = { "D", "X", "Y", "U", "S", "PC", "?R6", "?R7", "A", "B", "CC", "DP", "?RC", "?RD", "?RE", "?RF" }; +static char *reg6309[] = { + "D", "X", "Y", "U", "S", "PC", "W", "V", + "A", "B", "CC", "DP", "0", "0", "E", "F" +}; + char index_reg6809[] = { 'X', 'Y', 'U', 'S' }; static const char *mon_disassemble_to_string_internal(MEMSPACE memspace, @@ -85,162 +103,169 @@ opinfo = (mon_cpu_type->asm_opcode_info_get)(x, p1, p2); string = opinfo->mnemonic; addr_mode = opinfo->addr_mode; - opc_size = (mon_cpu_type->asm_addr_mode_get_size) - ((unsigned int)(addr_mode), x, p1, p2); + opc_size = (mon_cpu_type->asm_addr_mode_get_size)((unsigned int)(addr_mode), x, p1, p2); - if (opc_size_p) + if (opc_size_p) { *opc_size_p = opc_size; + } switch (opc_size) { - case 1: - sprintf(buff, "%02X %s", x, string); - break; - case 2: - sprintf(buff, "%02X %02X %s", x, p1 & 0xff, string); - break; - case 3: - sprintf(buff, "%02X %02X %02X %s", x, p1 & 0xff, p2 & 0xff, string); - break; - case 4: - sprintf(buff, "%02X %02X %02X %02X %s", x, p1 & 0xff, p2 & 0xff, - p3 & 0xff, string); - break; - case 5: - sprintf(buff, "%02X%02X%02X %02X%02X %s", x, p1 & 0xff, p2 & 0xff, - p3 & 0xff, p4 & 0xFF, string); - break; - default: - mon_out("Invalid opcode length: %d\n", opc_size); - sprintf(buff, " %s", string); + case 1: + sprintf(buff, "%02X %s", x, string); + break; + case 2: + sprintf(buff, "%02X %02X %s", x, p1 & 0xff, string); + break; + case 3: + sprintf(buff, "%02X %02X %02X %s", x, p1 & 0xff, p2 & 0xff, string); + break; + case 4: + sprintf(buff, "%02X %02X %02X %02X %s", x, p1 & 0xff, p2 & 0xff, p3 & 0xff, string); + break; + case 5: + sprintf(buff, "%02X%02X%02X %02X%02X %s", x, p1 & 0xff, p2 & 0xff, p3 & 0xff, p4 & 0xFF, string); + break; + default: + mon_out("Invalid opcode length: %d\n", opc_size); + sprintf(buff, " %s", string); } while (*++buffp); /* Print arguments of the machine instruction. */ switch (addr_mode) { - case ASM_ADDR_MODE_IMPLIED: - break; + case ASM_ADDR_MODE_IMPLIED: + break; - case ASM_ADDR_MODE_ACCUMULATOR: - sprintf(buffp, " A"); - break; + case ASM_ADDR_MODE_ACCUMULATOR: + sprintf(buffp, " A"); + break; - case ASM_ADDR_MODE_IMMEDIATE: - sprintf(buffp, (hex_mode ? " #$%02X" : " %3d"), ival); - break; + case ASM_ADDR_MODE_IMMEDIATE: + sprintf(buffp, (hex_mode ? " #$%02X" : " %3d"), ival); + break; - case ASM_ADDR_MODE_ZERO_PAGE: - sprintf(buffp, (hex_mode ? " $%02X" : " %3d"), ival); - break; + case ASM_ADDR_MODE_ZERO_PAGE: + sprintf(buffp, (hex_mode ? " $%02X" : " %3d"), ival); + break; - case ASM_ADDR_MODE_ZERO_PAGE_X: - if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) - sprintf(buffp, (hex_mode ? " $%02X,X" : " %3d,X"), ival); - else - sprintf(buffp, " %s,X", addr_name); - break; + case ASM_ADDR_MODE_ZERO_PAGE_X: + if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, (hex_mode ? " $%02X,X" : " %3d,X"), ival); + } else { + sprintf(buffp, " %s,X", addr_name); + } + break; - case ASM_ADDR_MODE_ZERO_PAGE_Y: - if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) - sprintf(buffp, (hex_mode ? " $%02X,Y" : " %3d,Y"), ival); - else - sprintf(buffp, " %s,Y", addr_name); - break; + case ASM_ADDR_MODE_ZERO_PAGE_Y: + if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, (hex_mode ? " $%02X,Y" : " %3d,Y"), ival); + } else { + sprintf(buffp, " %s,Y", addr_name); + } + break; - case ASM_ADDR_MODE_ABSOLUTE: - ival |= (WORD)((p2 & 0xff) << 8); - if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { - sprintf(buffp, " %s", addr_name); - } else { - if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, - (WORD)(ival - 1)))) - sprintf(buffp, " %s+1", addr_name); - else - sprintf(buffp, (hex_mode ? " $%04X" : " %5d"), ival); - } - break; + case ASM_ADDR_MODE_ABSOLUTE: + ival |= (WORD)((p2 & 0xff) << 8); + if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, " %s", addr_name); + } else { + if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, (WORD)(ival - 1)))) { + sprintf(buffp, " %s+1", addr_name); + } else { + sprintf(buffp, (hex_mode ? " $%04X" : " %5d"), ival); + } + } + break; - case ASM_ADDR_MODE_ABSOLUTE_X: - ival |= (WORD)((p2 & 0xff) << 8); - if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) - sprintf(buffp, (hex_mode ? " $%04X,X" : " %5d,X"), ival); - else - sprintf(buffp, " %s,X", addr_name); - break; + case ASM_ADDR_MODE_ABSOLUTE_X: + ival |= (WORD)((p2 & 0xff) << 8); + if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, (hex_mode ? " $%04X,X" : " %5d,X"), ival); + } else { + sprintf(buffp, " %s,X", addr_name); + } + break; - case ASM_ADDR_MODE_ABSOLUTE_Y: - ival |= (WORD)((p2 & 0xff) << 8); - if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) - sprintf(buffp, (hex_mode ? " $%04X,Y" : " %5d,Y"), ival); - else - sprintf(buffp, " %s,Y", addr_name); - break; + case ASM_ADDR_MODE_ABSOLUTE_Y: + ival |= (WORD)((p2 & 0xff) << 8); + if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, (hex_mode ? " $%04X,Y" : " %5d,Y"), ival); + } else { + sprintf(buffp, " %s,Y", addr_name); + } + break; - case ASM_ADDR_MODE_ABS_INDIRECT: - ival |= (WORD)((p2 & 0xff) << 8); - if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) - sprintf(buffp, (hex_mode ? " ($%04X)" : " (%5d)"), ival); - else - sprintf(buffp, " (%s)", addr_name); - break; + case ASM_ADDR_MODE_ABS_INDIRECT: + ival |= (WORD)((p2 & 0xff) << 8); + if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, (hex_mode ? " ($%04X)" : " (%5d)"), ival); + } else { + sprintf(buffp, " (%s)", addr_name); + } + break; - case ASM_ADDR_MODE_INDIRECT_X: - if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) - sprintf(buffp, (hex_mode ? " ($%02X,X)" : " (%3d,X)"), ival); - else - sprintf(buffp, " (%s,X)", addr_name); - break; + case ASM_ADDR_MODE_INDIRECT_X: + if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, (hex_mode ? " ($%02X,X)" : " (%3d,X)"), ival); + } else { + sprintf(buffp, " (%s,X)", addr_name); + } + break; - case ASM_ADDR_MODE_INDIRECT_Y: - if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) - sprintf(buffp, (hex_mode ? " ($%02X),Y" : " (%3d),Y"), ival); - else - sprintf(buffp, " (%s),Y", addr_name); - break; + case ASM_ADDR_MODE_INDIRECT_Y: + if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, (hex_mode ? " ($%02X),Y" : " (%3d),Y"), ival); + } else { + sprintf(buffp, " (%s),Y", addr_name); + } + break; - case ASM_ADDR_MODE_RELATIVE: - if (0x80 & ival) - ival -= 256; - ival += addr; - ival += 2; - if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) - sprintf(buffp, (hex_mode ? " $%04X" : " %5d"), ival); - else - sprintf(buffp, " %s", addr_name); - break; + case ASM_ADDR_MODE_RELATIVE: + if (0x80 & ival) { + ival -= 256; + } + ival += addr; + ival += 2; + if (!(addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, (hex_mode ? " $%04X" : " %5d"), ival); + } else { + sprintf(buffp, " %s", addr_name); + } + break; - case ASM_ADDR_MODE_ABSOLUTE_A: - ival |= (WORD)((p2 & 0xff) << 8); - if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { - sprintf(buffp, " (%s),A", addr_name); - } else { - if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, - (WORD)(ival - 1)))) - sprintf(buffp, " (%s+1),A", addr_name); - else - sprintf(buffp, (hex_mode ? " ($%04X),A" : " (%5d),A"), ival); - } - break; + case ASM_ADDR_MODE_ABSOLUTE_A: + ival |= (WORD)((p2 & 0xff) << 8); + if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, " (%s),A", addr_name); + } else { + if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, (WORD)(ival - 1)))) { + sprintf(buffp, " (%s+1),A", addr_name); + } else { + sprintf(buffp, (hex_mode ? " ($%04X),A" : " (%5d),A"), ival); + } + } + break; - case ASM_ADDR_MODE_ABSOLUTE_HL: - ival |= (WORD)((p2 & 0xff) << 8); - if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { - sprintf(buffp, " (%s),HL", addr_name); - } else { - if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, - (WORD)(ival - 1)))) - sprintf(buffp, " (%s+1),HL", addr_name); - else - sprintf(buffp, (hex_mode ? " ($%04X),HL" : " (%5d),HL"), ival); - } - break; + case ASM_ADDR_MODE_ABSOLUTE_HL: + ival |= (WORD)((p2 & 0xff) << 8); + if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, " (%s),HL", addr_name); + } else { + if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, (WORD)(ival - 1)))) { + sprintf(buffp, " (%s+1),HL", addr_name); + } else { + sprintf(buffp, (hex_mode ? " ($%04X),HL" : " (%5d),HL"), ival); + } + } + break; - case ASM_ADDR_MODE_ABSOLUTE_IX: - ival = (WORD)((p2 & 0xff) | ((p3 & 0xff) << 8)); - if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { - sprintf(buffp, " (%s),IX", addr_name); - } else { - if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, + case ASM_ADDR_MODE_ABSOLUTE_IX: + ival = (WORD)((p2 & 0xff) | ((p3 & 0xff) << 8)); + if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, " (%s),IX", addr_name); + } else { + if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, (WORD)(ival - 1)))) sprintf(buffp, " (%s+1),IX", addr_name); else @@ -248,302 +273,1014 @@ } break; - case ASM_ADDR_MODE_ABSOLUTE_IY: - ival = (WORD)((p2 & 0xff) | ((p3 & 0xff) << 8)); - if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { - sprintf(buffp, " (%s),IY", addr_name); - } else { - if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, - (WORD)(ival - 1)))) - sprintf(buffp, " (%s+1),IY", addr_name); - else - sprintf(buffp, (hex_mode ? " ($%04X),IY" : " (%5d),IY"), ival); - } - break; + case ASM_ADDR_MODE_ABSOLUTE_IY: + ival = (WORD)((p2 & 0xff) | ((p3 & 0xff) << 8)); + if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, ival))) { + sprintf(buffp, " (%s),IY", addr_name); + } else { + if ((addr_name = mon_symbol_table_lookup_name(e_comp_space, (WORD)(ival - 1)))) { + sprintf(buffp, " (%s+1),IY", addr_name); + } else { + sprintf(buffp, (hex_mode ? " ($%04X),IY" : " (%5d),IY"), ival); + } + } + break; - case ASM_ADDR_MODE_IMMEDIATE_16: - ival |= (WORD)((p2 & 0xff) << 8); - sprintf(buffp, (hex_mode ? " #$%04X" : " %5d"), ival); - break; + case ASM_ADDR_MODE_IMMEDIATE_16: + ival |= (WORD)((p2 & 0xff) << 8); + sprintf(buffp, (hex_mode ? " #$%04X" : " %5d"), ival); + break; - case ASM_ADDR_MODE_REG_B: - sprintf(buffp, " B"); - break; + case ASM_ADDR_MODE_REG_B: + sprintf(buffp, " B"); + break; - case ASM_ADDR_MODE_REG_C: - sprintf(buffp, " C"); - break; + case ASM_ADDR_MODE_REG_C: + sprintf(buffp, " C"); + break; - case ASM_ADDR_MODE_REG_D: - sprintf(buffp, " D"); - break; + case ASM_ADDR_MODE_REG_D: + sprintf(buffp, " D"); + break; - case ASM_ADDR_MODE_REG_E: - sprintf(buffp, " E"); - break; + case ASM_ADDR_MODE_REG_E: + sprintf(buffp, " E"); + break; - case ASM_ADDR_MODE_REG_H: - sprintf(buffp, " H"); - break; + case ASM_ADDR_MODE_REG_H: + sprintf(buffp, " H"); + break; - case ASM_ADDR_MODE_REG_IXH: - sprintf(buffp, " IXH"); - break; + case ASM_ADDR_MODE_REG_IXH: + sprintf(buffp, " IXH"); + break; - case ASM_ADDR_MODE_REG_IYH: - sprintf(buffp, " IYH"); - break; + case ASM_ADDR_MODE_REG_IYH: + sprintf(buffp, " IYH"); + break; - case ASM_ADDR_MODE_REG_L: - sprintf(buffp, " L"); - break; + case ASM_ADDR_MODE_REG_L: + sprintf(buffp, " L"); + break; - case ASM_ADDR_MODE_REG_IXL: - sprintf(buffp, " IXL"); - break; + case ASM_ADDR_MODE_REG_IXL: + sprintf(buffp, " IXL"); + break; - case ASM_ADDR_MODE_REG_IYL: - sprintf(buffp, " IYL"); - break; + case ASM_ADDR_MODE_REG_IYL: + sprintf(buffp, " IYL"); + break; - case ASM_ADDR_MODE_REG_AF: - sprintf(buffp, " AF"); - break; + case ASM_ADDR_MODE_REG_AF: + sprintf(buffp, " AF"); + break; - case ASM_ADDR_MODE_REG_BC: - sprintf(buffp, " BC"); - break; + case ASM_ADDR_MODE_REG_BC: + sprintf(buffp, " BC"); + break; - case ASM_ADDR_MODE_REG_DE: - sprintf(buffp, " DE"); - break; + case ASM_ADDR_MODE_REG_DE: + sprintf(buffp, " DE"); + break; - case ASM_ADDR_MODE_REG_HL: - sprintf(buffp, " HL"); - break; + case ASM_ADDR_MODE_REG_HL: + sprintf(buffp, " HL"); + break; - case ASM_ADDR_MODE_REG_IX: - sprintf(buffp, " IX"); - break; + case ASM_ADDR_MODE_REG_IX: + sprintf(buffp, " IX"); + break; - case ASM_ADDR_MODE_REG_IY: - sprintf(buffp, " IY"); - break; + case ASM_ADDR_MODE_REG_IY: + sprintf(buffp, " IY"); + break; - case ASM_ADDR_MODE_REG_SP: - sprintf(buffp, " SP"); - break; + case ASM_ADDR_MODE_REG_SP: + sprintf(buffp, " SP"); + break; - case ASM_ADDR_MODE_REG_IND_BC: - sprintf(buffp, " (BC)"); - break; + case ASM_ADDR_MODE_REG_IND_BC: + sprintf(buffp, " (BC)"); + break; - case ASM_ADDR_MODE_REG_IND_DE: - sprintf(buffp, " (DE)"); - break; + case ASM_ADDR_MODE_REG_IND_DE: + sprintf(buffp, " (DE)"); + break; - case ASM_ADDR_MODE_REG_IND_HL: - sprintf(buffp, " (HL)"); - break; + case ASM_ADDR_MODE_REG_IND_HL: + sprintf(buffp, " (HL)"); + break; - case ASM_ADDR_MODE_REG_IND_IX: - sprintf(buffp, " (IX)"); - break; + case ASM_ADDR_MODE_REG_IND_IX: + sprintf(buffp, " (IX)"); + break; - case ASM_ADDR_MODE_REG_IND_IY: - sprintf(buffp, " (IY)"); - break; + case ASM_ADDR_MODE_REG_IND_IY: + sprintf(buffp, " (IY)"); + break; - case ASM_ADDR_MODE_REG_IND_SP: - sprintf(buffp, " (SP)"); - break; + case ASM_ADDR_MODE_REG_IND_SP: + sprintf(buffp, " (SP)"); + break; - /* 6809 modes */ - case ASM_ADDR_MODE_ILLEGAL: - break; + /* 6809 modes */ + case ASM_ADDR_MODE_ILLEGAL: + break; - case ASM_ADDR_MODE_IMM_BYTE: - SKIP_PREFIX(); - sprintf(buffp, " #$%02X", opc[prefix+1]); - break; + case ASM_ADDR_MODE_IMM_BYTE: + SKIP_PREFIX(); + sprintf(buffp, " #$%02X", opc[prefix + 1]); + break; - case ASM_ADDR_MODE_IMM_WORD: - SKIP_PREFIX(); - ival = (opc[prefix+1] << 8) + opc[prefix+2]; - sprintf(buffp, " #$%04X", ival); - break; + case ASM_ADDR_MODE_IMM_WORD: + SKIP_PREFIX(); + ival = (opc[prefix + 1] << 8) + opc[prefix + 2]; + sprintf(buffp, " #$%04X", ival); + break; - case ASM_ADDR_MODE_DIRECT: - SKIP_PREFIX(); - sprintf(buffp, " <$%02X", opc[prefix+1]); - break; + case ASM_ADDR_MODE_IMM_DWORD: + SKIP_PREFIX(); + ival = (opc[prefix + 1] << 24) + (opc[prefix + 2] << 16) + (opc[prefix + 3] << 8) + opc[prefix + 4]; + sprintf(buffp, " #$%08X", ival); + break; - case ASM_ADDR_MODE_EXTENDED: - SKIP_PREFIX(); - ival = (opc[prefix+1] << 8) + opc[prefix+2]; - sprintf(buffp, " $%04X", ival); - break; + case ASM_ADDR_MODE_DIRECT: + SKIP_PREFIX(); + sprintf(buffp, " <$%02X", opc[prefix + 1]); + break; - case ASM_ADDR_MODE_INDEXED: { /* post-byte determines sub-mode */ - char R; - SKIP_PREFIX(); - ival = opc[prefix+1]; - R = index_reg6809[(ival >> 5) & 0x3]; + case ASM_ADDR_MODE_IM_DIRECT: + SKIP_PREFIX(); + sprintf(buffp, " #$%02X,<$%02X", opc[prefix + 1], opc[prefix + 2]); + break; - if ((ival & 0x80) == 0) { - int offset = ival & 0x1F; - if (offset & 0x10) { /* sign extend 5-bit value */ - offset -= 0x20; - } - sprintf(buffp, " %d,%c", offset, R); + case ASM_ADDR_MODE_EXTENDED: + SKIP_PREFIX(); + ival = (opc[prefix + 1] << 8) + opc[prefix + 2]; + sprintf(buffp, " $%04X", ival); break; - } - switch (ival & 0x1f) { - /* ASM_ADDR_MODE_INDEXED_INC1 0x00*/ - case 0x00: - sprintf(buffp, " ,%c+", R); + case ASM_ADDR_MODE_IM_EXTENDED: + SKIP_PREFIX(); + ival = (opc[prefix + 2] << 8) + opc[prefix + 3]; + sprintf(buffp, " #$%02X,$%04X", opc[prefix + 1], ival); break; - /* ASM_ADDR_MODE_INDEXED_INC2 0x01*/ - case 0x01: - sprintf(buffp, " ,%c++", R); + + case ASM_ADDR_MODE_INDEXED: /* post-byte determines sub-mode */ + { + char R; + SKIP_PREFIX(); + ival = opc[prefix + 1]; + R = index_reg6809[(ival >> 5) & 3]; + + if ((ival & 0x80) == 0) { + int offset = ival & 0x1F; + if (offset & 0x10) { /* sign extend 5-bit value */ + offset -= 0x20; + } + sprintf(buffp, " %d,%c", offset, R); + break; + } + + switch (ival & 0x1f) { + + /* ASM_ADDR_MODE_INDEXED_INC1 0x00*/ + case 0x00: + sprintf(buffp, " ,%c+", R); + break; + + /* ASM_ADDR_MODE_INDEXED_INC2 0x01*/ + case 0x01: + sprintf(buffp, " ,%c++", R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC1 0x02*/ + case 0x02: + sprintf(buffp, " ,-%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC2 0x03*/ + case 0x03: + sprintf(buffp, " ,--%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF0 0x04*/ + case 0x04: + sprintf(buffp, " ,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFB 0x05*/ + case 0x05: + sprintf(buffp, " B,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFA 0x06*/ + case 0x06: + sprintf(buffp, " A,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF8 0x08*/ + case 0x08: /* TODO should be signed! */ + sprintf(buffp, " $%02X,%c", opc[prefix + 2], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF16 0x09*/ + case 0x09: /* TODO should signed! */ + sprintf(buffp, " $%04X,%c", (opc[prefix + 2] << 8) + opc[prefix + 3], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFD 0x0B*/ + case 0x0B: + sprintf(buffp, " D,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC8 0x0C*/ + case 0x0C: + sprintf(buffp, " $%04X,PCR /* $%02X,PC */", (SIGNED_CHAR)opc[prefix + 2] + addr + opc_size, opc[prefix + 2]); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC16 0x0D*/ + case 0x0D: + ival = (opc[prefix + 2] << 8) + opc[prefix + 3]; + sprintf(buffp, " $%04X,PCR /* $%04X,PC */", (WORD)(ival + addr + opc_size), ival); + break; + + /* ASM_ADDR_MODE_INDEXED_INC2_IND 0x11*/ + case 0x11: + sprintf(buffp, " [,%c++]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC2_IND 0x13*/ + case 0x13: + sprintf(buffp, " [,--%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF0_IND 0x14*/ + case 0x14: + sprintf(buffp, " [,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFB_IND 0x15*/ + case 0x15: + sprintf(buffp, " [B,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFA_IND 0x16*/ + case 0x16: + sprintf(buffp, " [A,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF8_IND 0x18*/ + case 0x18: + sprintf(buffp, " [$%02X,%c]", opc[prefix + 2], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF16_IND 0x19*/ + case 0x19: + sprintf(buffp, " [$%04X,%c]", (opc[prefix + 2] << 8) + opc[prefix + 3], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFD_IND 0x1B*/ + case 0x1B: + sprintf(buffp, " [D,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC8_IND 0x1C*/ + case 0x1C: + sprintf(buffp, " [$%04X,PCR] /* [$%02X,PC] */", (SIGNED_CHAR)opc[prefix + 2] + addr + opc_size, opc[prefix + 2]); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC16_IND 0x1D*/ + case 0x1D: + ival = (opc[prefix + 2] << 8) + opc[prefix + 3]; + sprintf(buffp, " [$%04X,PCR] /* [$%04X,PC] */", (WORD)(ival + addr + opc_size), ival); + break; + + /* ASM_ADDR_MODE_EXTENDED_INDIRECT 0x1F*/ + case 0x1F: + sprintf(buffp, " [$%04X]", ((opc[prefix + 2] << 8) + opc[prefix + 3])); + break; + + /* ASM_ADDR_MODE_INDEXED_07 0x07*/ + /* ASM_ADDR_MODE_INDEXED_0A 0x0A*/ + /* ASM_ADDR_MODE_INDEXED_0E 0x0E*/ + /* ASM_ADDR_MODE_INDEXED_0F 0x0F*/ + /* ASM_ADDR_MODE_INDEXED_10 0x10*/ + /* ASM_ADDR_MODE_INDEXED_12 0x12*/ + /* ASM_ADDR_MODE_INDEXED_17 0x17*/ + /* ASM_ADDR_MODE_INDEXED_1A 0x1A*/ + /* ASM_ADDR_MODE_INDEXED_1E 0x1E*/ + default: + sprintf(buffp, " ???"); + break; + } + } break; - /* ASM_ADDR_MODE_INDEXED_DEC1 0x02*/ - case 0x02: - sprintf(buffp, " ,-%c", R); + + case ASM_ADDR_MODE_F6809_INDEXED: /* post-byte determines sub-mode */ + { + char R; + SKIP_PREFIX(); + ival = opc[prefix + 1]; + R = index_reg6809[(ival >> 5) & 3]; + + if ((ival & 0x80) == 0) { + int offset = ival & 0x1F; + if (offset & 0x10) { /* sign extend 5-bit value */ + offset -= 0x20; + } + sprintf(buffp, " %d,%c", offset, R); + break; + } + + switch (ival & 0x1f) { + + /* ASM_ADDR_MODE_INDEXED_INC1 0x00*/ + case 0x00: + sprintf(buffp, " ,%c+", R); + break; + + /* ASM_ADDR_MODE_INDEXED_INC2 0x01*/ + case 0x01: + sprintf(buffp, " ,%c++", R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC1 0x02*/ + case 0x02: + sprintf(buffp, " ,-%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC2 0x03*/ + case 0x03: + sprintf(buffp, " ,--%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF0 0x04*/ + /* ASM_ADDR_MODE_INDEXED_F6809_OFF0 0x07*/ + case 0x04: + case 0x07: + sprintf(buffp, " ,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFB 0x05*/ + case 0x05: + sprintf(buffp, " B,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFA 0x06*/ + case 0x06: + sprintf(buffp, " A,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF8 0x08*/ + case 0x08: /* TODO should be signed! */ + sprintf(buffp, " $%02X,%c", opc[prefix + 2], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF16 0x09*/ + case 0x09: /* TODO should signed! */ + sprintf(buffp, " $%04X,%c", (opc[prefix + 2] << 8) + opc[prefix + 3], R); + break; + + /* ASM_ADDR_MODE_INDEXED_F6809_OFFPCORFF 0x0A*/ + case 0x0A: + sprintf(buffp, " PCL"); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFD 0x0B*/ + case 0x0B: + sprintf(buffp, " D,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC8 0x0C*/ + case 0x0C: + sprintf(buffp, " $%04X,PCR /* $%02X,PC */", (SIGNED_CHAR)opc[prefix + 2] + addr + opc_size, opc[prefix + 2]); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC16 0x0D*/ + case 0x0D: + ival = (opc[prefix + 2] << 8) + opc[prefix + 3]; + sprintf(buffp, " $%04X,PCR /* $%04X,PC */", (WORD)(ival + addr + opc_size), ival); + break; + + /* ASM_ADDR_MODE_INDEXED_F6809_EXTENDED 0x0F*/ + case 0x0F: + ival = (opc[prefix + 2] << 8) + opc[prefix + 3]; + sprintf(buffp, " $%04X", ival); + break; + + /* ASM_ADDR_MODE_INDEXED_F6809_INC1_IND 0x10*/ + case 0x10: + sprintf(buffp, " [,%c+]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_INC2_IND 0x11*/ + case 0x11: + sprintf(buffp, " [,%c++]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_F6809_DEC1_IND 0x12*/ + case 0x12: + sprintf(buffp, " [,-%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC2_IND 0x13*/ + case 0x13: + sprintf(buffp, " [,--%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF0_IND 0x14*/ + /* ASM_ADDR_MODE_INDEXED_F6809_OFF0_IND 0x17*/ + case 0x14: + case 0x17: + sprintf(buffp, " [,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFB_IND 0x15*/ + case 0x15: + sprintf(buffp, " [B,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFA_IND 0x16*/ + case 0x16: + sprintf(buffp, " [A,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF8_IND 0x18*/ + case 0x18: + sprintf(buffp, " [$%02X,%c]", opc[prefix + 2], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF16_IND 0x19*/ + case 0x19: + sprintf(buffp, " [$%04X,%c]", (opc[prefix + 2] << 8) + opc[prefix + 3], R); + break; + + /* ASM_ADDR_MODE_INDEXED_F6809_OFFPCORFF_IND 0x1A*/ + case 0x1A: + sprintf(buffp, " [PCL]"); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFD_IND 0x1B*/ + case 0x1B: + sprintf(buffp, " [D,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC8_IND 0x1C*/ + case 0x1C: + sprintf(buffp, " [$%04X,PCR] /* [$%02X,PC] */", (SIGNED_CHAR)opc[prefix + 2] + addr + opc_size, opc[prefix + 2]); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC16_IND 0x1D*/ + case 0x1D: + ival = (opc[prefix + 2] << 8) + opc[prefix + 3]; + sprintf(buffp, " [$%04X,PCR] /* [$%04X,PC] */", (WORD)(ival + addr + opc_size), ival); + break; + + /* ASM_ADDR_MODE_EXTENDED_INDIRECT 0x1F*/ + case 0x1F: + sprintf(buffp, " [$%04X]", ((opc[prefix + 2] << 8) + opc[prefix + 3])); + break; + + /* ASM_ADDR_MODE_INDEXED_0E 0x0E*/ + /* ASM_ADDR_MODE_INDEXED_1E 0x1E*/ + default: + sprintf(buffp, " ???"); + break; + } + } break; - /* ASM_ADDR_MODE_INDEXED_DEC2 0x03*/ - case 0x03: - sprintf(buffp, " ,--%c", R); + + case ASM_ADDR_MODE_H6309_INDEXED: /* post-byte determines sub-mode */ + { + char R; + SKIP_PREFIX(); + ival = opc[prefix + 1]; + R = index_reg6809[(ival >> 5) & 3]; + + if ((ival & 0x80) == 0) { + int offset = ival & 0x1F; + if (offset & 0x10) { /* sign extend 5-bit value */ + offset -= 0x20; + } + sprintf(buffp, " %d,%c", offset, R); + break; + } + + switch (ival & 0x1f) { + + /* ASM_ADDR_MODE_INDEXED_INC1 0x00*/ + case 0x00: + sprintf(buffp, " ,%c+", R); + break; + + /* ASM_ADDR_MODE_INDEXED_INC2 0x01*/ + case 0x01: + sprintf(buffp, " ,%c++", R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC1 0x02*/ + case 0x02: + sprintf(buffp, " ,-%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC2 0x03*/ + case 0x03: + sprintf(buffp, " ,--%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF0 0x04*/ + case 0x04: + sprintf(buffp, " ,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFB 0x05*/ + case 0x05: + sprintf(buffp, " B,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFA 0x06*/ + case 0x06: + sprintf(buffp, " A,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFE 0x07*/ + case 0x07: + sprintf(buffp, " E,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF8 0x08*/ + case 0x08: /* TODO should be signed! */ + sprintf(buffp, " $%02X,%c", opc[prefix + 2], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF16 0x09*/ + case 0x09: /* TODO should signed! */ + sprintf(buffp, " $%04X,%c", (opc[prefix + 2] << 8) + opc[prefix + 3], R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFF 0x0A*/ + case 0x0A: + sprintf(buffp, " F,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFD 0x0B*/ + case 0x0B: + sprintf(buffp, " D,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC8 0x0C*/ + case 0x0C: + sprintf(buffp, " $%04X,PCR /* $%02X,PC */", (SIGNED_CHAR)opc[prefix + 2] + addr + opc_size, opc[prefix + 2]); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC16 0x0D*/ + case 0x0D: + ival = (opc[prefix + 2] << 8) + opc[prefix + 3]; + sprintf(buffp, " $%04X,PCR /* $%04X,PC */", (WORD)(ival + addr + opc_size), ival); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFW 0x0E*/ + case 0x0E: + sprintf(buffp, " W,%c", R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFWREL 0x0F*/ + case 0x0F: + switch (ival & 0x60) { + + /* ,W */ + case 0x00: + sprintf(buffp, " ,W"); + break; + + /* 16bit,W */ + case 0x20: + sprintf(buffp, " $%04X,W", (opc[prefix + 2] << 8) + opc[prefix + 3]); + break; + + /* ,W++ */ + case 0x40: + sprintf(buffp, " ,W++"); + break; + + /* ,--W */ + case 0x60: + sprintf(buffp, " ,--W"); + break; + } + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFWREL_IND 0x10*/ + case 0x10: + switch (ival & 0x60) { + + /* [,W] */ + case 0x00: + sprintf(buffp, " [,W]"); + break; + + /* [16bit,W] */ + case 0x20: + sprintf(buffp, " [$%04X,W]", (opc[prefix + 2] << 8) + opc[prefix + 3]); + break; + + /* [,W++] */ + case 0x40: + sprintf(buffp, " [,W++]"); + break; + + /* [,--W] */ + case 0x60: + sprintf(buffp, " [,--W]"); + break; + } + break; + + /* ASM_ADDR_MODE_INDEXED_INC2_IND 0x11*/ + case 0x11: + sprintf(buffp, " [,%c++]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_DEC1_IND 0x12*/ + case 0x12: + sprintf(buffp, " [,-%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC2_IND 0x13*/ + case 0x13: + sprintf(buffp, " [,--%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF0_IND 0x14*/ + case 0x14: + sprintf(buffp, " [,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFB_IND 0x15*/ + case 0x15: + sprintf(buffp, " [B,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFA_IND 0x16*/ + case 0x16: + sprintf(buffp, " [A,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFE_IND 0x17*/ + case 0x17: + sprintf(buffp, " [E,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF8_IND 0x18*/ + case 0x18: + sprintf(buffp, " [$%02X,%c]", opc[prefix + 2], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF16_IND 0x19*/ + case 0x19: + sprintf(buffp, " [$%04X,%c]", (opc[prefix + 2] << 8) + opc[prefix + 3], R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFF_IND 0x1A*/ + case 0x1A: + sprintf(buffp, " [F,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFD_IND 0x1B*/ + case 0x1B: + sprintf(buffp, " [D,%c]", R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC8_IND 0x1C*/ + case 0x1C: + sprintf(buffp, " [$%04X,PCR] /* [$%02X,PC] */", (SIGNED_CHAR)opc[prefix + 2] + addr + opc_size, opc[prefix + 2]); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC16_IND 0x1D*/ + case 0x1D: + ival = (opc[prefix + 2] << 8) + opc[prefix + 3]; + sprintf(buffp, " [$%04X,PCR] /* [$%04X,PC] */", (WORD)(ival + addr + opc_size), ival); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFW_IND 0x1E*/ + case 0x1E: + sprintf(buffp, " [W,%c]", R); + break; + + /* ASM_ADDR_MODE_EXTENDED_INDIRECT 0x1F*/ + case 0x1F: + sprintf(buffp, " [$%04X]", ((opc[prefix + 2] << 8) + opc[prefix + 3])); + break; + } + } break; - /* ASM_ADDR_MODE_INDEXED_OFF0 0x04*/ - case 0x04: - sprintf(buffp, " ,%c", R); + + case ASM_ADDR_MODE_IM_INDEXED: /* post-byte determines sub-mode */ + { + char R; + SKIP_PREFIX(); + ival = opc[prefix + 2]; + R = index_reg6809[(ival >> 5) & 3]; + + if ((ival & 0x80) == 0) { + int offset = ival & 0x1F; + if (offset & 0x10) { /* sign extend 5-bit value */ + offset -= 0x20; + } + sprintf(buffp, " #$%02X,%d,%c", opc[prefix + 1], offset, R); + break; + } + + switch (ival & 0x1f) { + + /* ASM_ADDR_MODE_INDEXED_INC1 0x00*/ + case 0x00: + sprintf(buffp, " #$%02X,%c+", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_INC2 0x01*/ + case 0x01: + sprintf(buffp, " #$%02X,%c++", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC1 0x02*/ + case 0x02: + sprintf(buffp, " #$%02X,-%c", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC2 0x03*/ + case 0x03: + sprintf(buffp, " #$%02X,--%c", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF0 0x04*/ + case 0x04: + sprintf(buffp, " #$%02X,%c", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFB 0x05*/ + case 0x05: + sprintf(buffp, " #$%02X,B,%c", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFA 0x06*/ + case 0x06: + sprintf(buffp, " #$%02X,A,%c", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFE 0x07*/ + case 0x07: + sprintf(buffp, " #$%02X,E,%c", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF8 0x08*/ + case 0x08: /* TODO should be signed! */ + sprintf(buffp, " #$%02X,$%02X,%c", opc[prefix + 1], opc[prefix + 3], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF16 0x09*/ + case 0x09: /* TODO should signed! */ + sprintf(buffp, " #$%02X,$%04X,%c", opc[prefix + 1], (opc[prefix + 3] << 8) + opc[prefix + 4], R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFF 0x0A*/ + case 0x0A: + sprintf(buffp, " #$%02X,F,%c", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFD 0x0B*/ + case 0x0B: + sprintf(buffp, " #$%02X,D,%c", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC8 0x0C*/ + case 0x0C: + sprintf(buffp, " #$%02X,$%04X,PCR /* $%02X,PC */", opc[prefix + 1], (SIGNED_CHAR)opc[prefix + 3] + addr + opc_size, opc[prefix + 3]); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFPC16 0x0D*/ + case 0x0D: + ival = (opc[prefix + 3] << 8) + opc[prefix + 4]; + sprintf(buffp, " #$%02X,$%04X,PCR /* $%04X,PC */", opc[prefix + 1], (WORD)(ival + addr + opc_size), ival); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFW 0x0E*/ + case 0x0E: + sprintf(buffp, " #$%02X,W,%c", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFWREL 0x0F*/ + case 0x0F: + switch (ival & 0x60) { + + /* ,W */ + case 0x00: + sprintf(buffp, " #$%02X,W", opc[prefix + 1]); + break; + + /* 16bit,W */ + case 0x20: + sprintf(buffp, " #$%02X,$%04X,W", opc[prefix + 1], (opc[prefix + 3] << 8) + opc[prefix + 4]); + break; + + /* ,W++ */ + case 0x40: + sprintf(buffp, " #$%02X,W++", opc[prefix + 1]); + break; + + /* ,--W */ + case 0x60: + sprintf(buffp, " #$%02X,--W", opc[prefix + 1]); + break; + } + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFWREL_IND 0x10*/ + case 0x10: + switch (ival & 0x60) { + + /* [,W] */ + case 0x00: + sprintf(buffp, " #$%02X,[,W]", opc[prefix + 1]); + break; + + /* [16bit,W] */ + case 0x20: + sprintf(buffp, " #$%02X,[$%04X,W]", opc[prefix + 1], (opc[prefix + 3] << 8) + opc[prefix + 4]); + break; + + /* [,W++] */ + case 0x40: + sprintf(buffp, " #$%02X,[,W++]", opc[prefix + 1]); + break; + + /* [,--W] */ + case 0x60: + sprintf(buffp, " #$%02X,[,--W]", opc[prefix + 1]); + break; + } + break; + + /* ASM_ADDR_MODE_INDEXED_INC2_IND 0x11*/ + case 0x11: + sprintf(buffp, " #$%02X,[,%c++]", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_DEC1_IND 0x12*/ + case 0x12: + sprintf(buffp, " #$%02X,[,-%c]", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_DEC2_IND 0x13*/ + case 0x13: + sprintf(buffp, " #$%02X,[,--%c]", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF0_IND 0x14*/ + case 0x14: + sprintf(buffp, " #$%02X,[,%c]", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFB_IND 0x15*/ + case 0x15: + sprintf(buffp, " #$%02X,[B,%c]", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFFA_IND 0x16*/ + case 0x16: + sprintf(buffp, " #$%02X,[A,%c]", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFE_IND 0x17*/ + case 0x17: + sprintf(buffp, " #$%02X,[E,%c]", opc[prefix + 1], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF8_IND 0x18*/ + case 0x18: + sprintf(buffp, " #$%02X,[$%02X,%c]", opc[prefix + 1], opc[prefix + 3], R); + break; + + /* ASM_ADDR_MODE_INDEXED_OFF16_IND 0x19*/ + case 0x19: + sprintf(buffp, " #$%02X,[$%04X,%c]", opc[prefix + 1], (opc[prefix + 3] << 8) + opc[prefix + 4], R); + break; + + /* ASM_ADDR_MODE_INDEXED_H6309_OFFF_IND 0x1A*/ + case 0x1A: + sprintf(buffp, " #$%02X,[F,%c]", opc[prefix + 1], R); + ... [truncated message content] |
From: <gp...@us...> - 2012-06-10 20:05:59
|
Revision: 25782 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=25782&view=rev Author: gpz Date: 2012-06-10 20:05:53 +0000 (Sun, 10 Jun 2012) Log Message: ----------- do not leave the monitor when singlestepping a single instruction Modified Paths: -------------- trunk/vice/src/monitor/monitor.c trunk/vice/src/monitor/montypes.h Modified: trunk/vice/src/monitor/monitor.c =================================================================== --- trunk/vice/src/monitor/monitor.c 2012-06-10 19:55:02 UTC (rev 25781) +++ trunk/vice/src/monitor/monitor.c 2012-06-10 20:05:53 UTC (rev 25782) @@ -139,9 +139,12 @@ static char *last_cmd = NULL; int exit_mon = 0; -int mon_console_close_on_leaving = 1; +/* flag used by the single-stepping commands to prevent switching forth and back + * to the emulator window when stepping a single instruction. note that this is + * different from what keep_monitor_open does :) + */ +static int mon_console_suspend_on_leaving = 1; - int sidefx; RADIXTYPE default_radix; MEMSPACE default_memspace; @@ -1799,7 +1802,7 @@ exit_mon = 1; if (instruction_count == 1) { - mon_console_close_on_leaving = 0; + mon_console_suspend_on_leaving = 0; } monitor_mask[default_memspace] |= MI_STEP; @@ -1817,7 +1820,7 @@ exit_mon = 1; if (instruction_count == 1) { - mon_console_close_on_leaving = 0; + mon_console_suspend_on_leaving = 0; } monitor_mask[default_memspace] |= MI_STEP; @@ -2188,21 +2191,12 @@ { unsigned int dnr; - mon_console_close_on_leaving = 1; + mon_console_suspend_on_leaving = 1; if (monitor_is_remote()) { static console_t console_log_remote = { 80, 25, 0, 0 }; console_log = &console_log_remote; } else { -#if 0 - if (mon_console_close_on_leaving) { - console_log = uimon_window_open(); - uimon_set_interface(mon_interfaces, NUM_MEMSPACES); - } else { - console_log = uimon_window_resume(); - mon_console_close_on_leaving = 1; - } -#endif if (console_log) { console_log = uimon_window_resume(); } else { @@ -2218,12 +2212,6 @@ return; } - if ((console_log->console_can_stay_open == 1) && (keep_monitor_open == 1)) { - mon_console_close_on_leaving = 0; - } else { - mon_console_close_on_leaving = 1; - } - if ( monitor_is_remote() ) { signals_pipe_set(); } @@ -2311,31 +2299,27 @@ signals_pipe_unset(); } - /* - if there is no log, or if the console can not stay open when the emulation - runs, close the console. - */ - if ((console_log == NULL) || - (console_log->console_can_stay_open == 0) || - (keep_monitor_open == 0) - ) { - mon_console_close_on_leaving = 1; - } - if ( ! monitor_is_remote() ) { - if (mon_console_close_on_leaving) { - uimon_window_close(); - } else { - uimon_window_suspend(); + if (mon_console_suspend_on_leaving) { + /* + if there is no log, or if the console can not stay open when the emulation + runs, close the console. otherwise suspend the window. + */ + if ((console_log == NULL) || + (console_log->console_can_stay_open == 0) || + (keep_monitor_open == 0)) { + uimon_window_close(); + } else { + uimon_window_suspend(); + } } } - if (mon_console_close_on_leaving) { + if (mon_console_suspend_on_leaving) { console_log = NULL; } } - void monitor_startup(MEMSPACE mem) { char prompt[40]; Modified: trunk/vice/src/monitor/montypes.h =================================================================== --- trunk/vice/src/monitor/montypes.h 2012-06-10 19:55:02 UTC (rev 25781) +++ trunk/vice/src/monitor/montypes.h 2012-06-10 20:05:53 UTC (rev 25782) @@ -226,7 +226,7 @@ extern struct console_s *console_log; extern int sidefx; extern int exit_mon; -extern int mon_console_close_on_leaving; + extern RADIXTYPE default_radix; extern MEMSPACE default_memspace; extern bool asm_mode; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2012-06-10 22:19:55
|
Revision: 25783 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=25783&view=rev Author: gpz Date: 2012-06-10 22:19:47 +0000 (Sun, 10 Jun 2012) Log Message: ----------- implement X and G commands as described in the wiki Modified Paths: -------------- trunk/vice/src/monitor/mon_parse.c trunk/vice/src/monitor/mon_parse.h trunk/vice/src/monitor/mon_parse.y trunk/vice/src/monitor/monitor.c trunk/vice/src/monitor/montypes.h Modified: trunk/vice/src/monitor/mon_parse.c =================================================================== --- trunk/vice/src/monitor/mon_parse.c 2012-06-10 20:05:53 UTC (rev 25782) +++ trunk/vice/src/monitor/mon_parse.c 2012-06-10 22:19:47 UTC (rev 25783) @@ -1,9 +1,9 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ +/* A Bison parser, made by GNU Bison 2.4.3. */ /* Skeleton implementation for Bison's Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software - Foundation, Inc. + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 2009, 2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,7 +45,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.2" +#define YYBISON_VERSION "2.4.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -158,7 +158,6 @@ static int resolve_datatype(unsigned guess_type, const char *num); static int resolve_range(enum t_memspace memspace, MON_ADDR range[2], const char *num); -static void mon_quit(void); #ifdef __IBMC__ static void __yy_memcpy (char *to, char *from, int count); @@ -195,7 +194,7 @@ /* Line 189 of yacc.c */ -#line 199 "mon_parse.c" +#line 198 "mon_parse.c" /* Enabling traces. */ #ifndef YYDEBUG @@ -550,7 +549,7 @@ { /* Line 214 of yacc.c */ -#line 127 "mon_parse.y" +#line 126 "mon_parse.y" MON_ADDR a; MON_ADDR range[2]; @@ -566,7 +565,7 @@ /* Line 214 of yacc.c */ -#line 570 "mon_parse.c" +#line 569 "mon_parse.c" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -578,7 +577,7 @@ /* Line 264 of yacc.c */ -#line 582 "mon_parse.c" +#line 581 "mon_parse.c" #ifdef short # undef short @@ -791,18 +790,18 @@ #endif /* YYFINAL -- State number of the termination state. */ -#define YYFINAL 302 +#define YYFINAL 303 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1715 +#define YYLAST 1744 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 167 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 55 /* YYNRULES -- Number of rules. */ -#define YYNRULES 302 +#define YYNRULES 303 /* YYNRULES -- Number of states. */ -#define YYNSTATES 603 +#define YYNSTATES 604 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -866,34 +865,34 @@ 0, 0, 3, 5, 8, 10, 12, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 50, 54, 58, 64, 68, 71, - 75, 78, 82, 85, 90, 93, 97, 101, 104, 109, - 112, 117, 120, 125, 128, 133, 136, 138, 141, 145, - 149, 155, 159, 165, 169, 175, 179, 185, 189, 192, - 197, 203, 204, 210, 214, 218, 221, 227, 233, 239, - 245, 251, 255, 258, 262, 265, 269, 272, 276, 279, - 283, 286, 289, 292, 297, 303, 309, 315, 318, 322, - 325, 331, 334, 340, 343, 347, 351, 355, 361, 365, - 368, 374, 380, 385, 389, 392, 396, 399, 403, 406, - 409, 412, 416, 420, 423, 427, 431, 435, 439, 443, - 446, 450, 453, 457, 463, 467, 472, 475, 480, 485, - 488, 492, 496, 499, 505, 511, 517, 521, 526, 532, - 537, 543, 548, 554, 560, 563, 567, 572, 576, 580, - 586, 590, 596, 600, 603, 607, 612, 615, 618, 620, - 622, 623, 625, 627, 629, 631, 634, 636, 638, 639, - 641, 644, 648, 650, 654, 656, 658, 660, 662, 666, - 668, 672, 675, 676, 678, 682, 684, 686, 687, 689, - 691, 693, 695, 697, 699, 701, 705, 709, 713, 717, - 721, 725, 727, 730, 731, 735, 739, 743, 747, 749, - 751, 753, 757, 759, 761, 763, 766, 768, 770, 772, - 774, 776, 778, 780, 782, 784, 786, 788, 790, 792, - 794, 796, 798, 800, 802, 806, 810, 813, 816, 818, - 820, 823, 825, 829, 833, 837, 843, 849, 853, 857, - 861, 865, 869, 873, 879, 885, 891, 897, 898, 900, - 902, 904, 906, 908, 910, 912, 914, 916, 918, 920, - 922, 924, 926, 928, 930, 932, 934, 937, 941, 945, - 950, 954, 959, 962, 966, 970, 974, 978, 984, 990, - 997, 1003, 1010, 1015, 1021, 1027, 1033, 1039, 1043, 1045, - 1047, 1049, 1051 + 74, 78, 81, 85, 88, 93, 96, 100, 104, 107, + 112, 115, 120, 123, 128, 131, 136, 139, 141, 144, + 148, 152, 158, 162, 168, 172, 178, 182, 188, 192, + 195, 200, 206, 207, 213, 217, 221, 224, 230, 236, + 242, 248, 254, 258, 261, 265, 268, 272, 275, 279, + 282, 286, 289, 292, 295, 300, 306, 312, 318, 321, + 325, 328, 334, 337, 343, 346, 350, 354, 358, 364, + 368, 371, 377, 383, 388, 392, 395, 399, 402, 406, + 409, 412, 415, 419, 423, 426, 430, 434, 438, 442, + 446, 449, 453, 456, 460, 466, 470, 475, 478, 483, + 488, 491, 495, 499, 502, 508, 514, 520, 524, 529, + 535, 540, 546, 551, 557, 563, 566, 570, 575, 579, + 583, 589, 593, 599, 603, 606, 610, 615, 618, 621, + 623, 625, 626, 628, 630, 632, 634, 637, 639, 641, + 642, 644, 647, 651, 653, 657, 659, 661, 663, 665, + 669, 671, 675, 678, 679, 681, 685, 687, 689, 690, + 692, 694, 696, 698, 700, 702, 704, 708, 712, 716, + 720, 724, 728, 730, 733, 734, 738, 742, 746, 750, + 752, 754, 756, 760, 762, 764, 766, 769, 771, 773, + 775, 777, 779, 781, 783, 785, 787, 789, 791, 793, + 795, 797, 799, 801, 803, 805, 809, 813, 816, 819, + 821, 823, 826, 828, 832, 836, 840, 846, 852, 856, + 860, 864, 868, 872, 876, 882, 888, 894, 900, 901, + 903, 905, 907, 909, 911, 913, 915, 917, 919, 921, + 923, 925, 927, 929, 931, 933, 935, 937, 940, 944, + 948, 953, 957, 962, 965, 969, 973, 977, 981, 987, + 993, 1000, 1006, 1013, 1018, 1024, 1030, 1036, 1042, 1046, + 1048, 1050, 1052, 1054 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ @@ -905,142 +904,142 @@ -1, 179, -1, 180, -1, 181, -1, 182, -1, 183, -1, 184, -1, 185, -1, 13, -1, 67, 170, -1, 67, 201, 170, -1, 67, 151, 170, -1, 67, 201, - 200, 151, 170, -1, 38, 199, 170, -1, 46, 170, - -1, 46, 199, 170, -1, 87, 170, -1, 87, 152, - 170, -1, 100, 170, -1, 100, 200, 204, 170, -1, - 26, 170, -1, 49, 188, 170, -1, 50, 188, 170, - -1, 58, 170, -1, 58, 200, 204, 170, -1, 57, - 170, -1, 57, 200, 204, 170, -1, 29, 170, -1, - 29, 200, 204, 170, -1, 30, 170, -1, 30, 200, - 204, 170, -1, 85, 170, -1, 173, -1, 39, 170, - -1, 39, 201, 170, -1, 39, 193, 170, -1, 68, - 201, 200, 188, 170, -1, 68, 188, 170, -1, 69, - 201, 200, 188, 170, -1, 69, 188, 170, -1, 70, - 199, 200, 150, 170, -1, 71, 150, 170, -1, 71, - 201, 200, 150, 170, -1, 72, 201, 170, -1, 72, - 170, -1, 111, 21, 199, 170, -1, 111, 21, 199, - 24, 170, -1, -1, 55, 199, 176, 218, 170, -1, - 55, 199, 170, -1, 56, 196, 170, -1, 56, 170, - -1, 37, 197, 200, 199, 170, -1, 48, 197, 200, - 199, 170, -1, 36, 197, 200, 208, 170, -1, 35, - 197, 200, 210, 170, -1, 43, 155, 200, 196, 170, - -1, 43, 196, 170, -1, 43, 170, -1, 76, 196, - 170, -1, 76, 170, -1, 77, 196, 170, -1, 77, - 170, -1, 78, 196, 170, -1, 78, 170, -1, 79, - 196, 170, -1, 79, 170, -1, 101, 170, -1, 102, - 170, -1, 102, 200, 204, 170, -1, 102, 200, 204, - 196, 170, -1, 103, 188, 200, 204, 170, -1, 44, - 191, 196, 205, 170, -1, 44, 170, -1, 86, 196, - 170, -1, 86, 170, -1, 62, 191, 196, 205, 170, - -1, 62, 170, -1, 45, 191, 196, 205, 170, -1, - 45, 170, -1, 157, 195, 170, -1, 158, 195, 170, - -1, 34, 195, 170, -1, 34, 195, 200, 204, 170, - -1, 52, 195, 170, -1, 52, 170, -1, 53, 195, - 15, 206, 170, -1, 54, 195, 200, 146, 170, -1, - 54, 195, 1, 170, -1, 25, 159, 170, -1, 25, - 170, -1, 42, 155, 170, -1, 42, 170, -1, 60, - 201, 170, -1, 108, 170, -1, 65, 170, -1, 51, - 170, -1, 63, 186, 170, -1, 59, 204, 170, -1, - 61, 170, -1, 61, 186, 170, -1, 64, 186, 170, - -1, 7, 204, 170, -1, 66, 186, 170, -1, 82, - 186, 170, -1, 89, 170, -1, 92, 187, 170, -1, - 91, 170, -1, 90, 188, 170, -1, 90, 188, 200, - 204, 170, -1, 93, 146, 170, -1, 94, 146, 146, - 170, -1, 97, 170, -1, 97, 200, 204, 170, -1, - 98, 200, 204, 170, -1, 99, 170, -1, 104, 187, - 170, -1, 106, 107, 170, -1, 106, 170, -1, 31, - 188, 189, 198, 170, -1, 83, 188, 189, 198, 170, - -1, 32, 188, 189, 197, 170, -1, 32, 188, 1, - -1, 32, 188, 189, 1, -1, 84, 188, 189, 197, - 170, -1, 84, 188, 189, 1, -1, 33, 188, 189, - 199, 170, -1, 33, 188, 189, 1, -1, 27, 204, - 204, 198, 170, -1, 28, 204, 204, 199, 170, -1, - 105, 170, -1, 105, 189, 170, -1, 95, 188, 204, - 170, -1, 96, 204, 170, -1, 109, 188, 170, -1, - 109, 188, 200, 215, 170, -1, 110, 188, 170, -1, - 110, 188, 200, 215, 170, -1, 73, 188, 170, -1, - 74, 170, -1, 75, 188, 170, -1, 80, 199, 208, - 170, -1, 81, 170, -1, 88, 170, -1, 148, -1, - 148, -1, -1, 147, -1, 1, -1, 204, -1, 1, - -1, 190, 14, -1, 14, -1, 190, -1, -1, 153, - -1, 201, 153, -1, 193, 118, 194, -1, 194, -1, - 192, 21, 215, -1, 213, -1, 1, -1, 197, -1, - 199, -1, 199, 200, 199, -1, 9, -1, 201, 200, - 9, -1, 200, 199, -1, -1, 202, -1, 201, 200, - 202, -1, 150, -1, 118, -1, -1, 16, -1, 17, - -1, 18, -1, 19, -1, 20, -1, 203, -1, 215, - -1, 204, 161, 204, -1, 204, 162, 204, -1, 204, - 163, 204, -1, 204, 164, 204, -1, 165, 204, 166, - -1, 165, 204, 1, -1, 212, -1, 15, 206, -1, - -1, 206, 154, 206, -1, 206, 154, 1, -1, 112, - 206, 113, -1, 112, 206, 1, -1, 207, -1, 192, - -1, 215, -1, 208, 200, 209, -1, 209, -1, 215, - -1, 146, -1, 210, 211, -1, 211, -1, 215, -1, - 160, -1, 146, -1, 215, -1, 192, -1, 4, -1, - 12, -1, 11, -1, 10, -1, 12, -1, 11, -1, - 10, -1, 3, -1, 4, -1, 5, -1, 6, -1, - 214, -1, 216, 119, 217, -1, 217, 119, 217, -1, - 217, 119, -1, 149, 219, -1, 217, -1, 216, -1, - 114, 215, -1, 215, -1, 215, 118, 116, -1, 215, - 118, 117, -1, 112, 215, 113, -1, 112, 215, 118, - 116, 113, -1, 112, 215, 113, 118, 117, -1, 112, - 134, 113, -1, 112, 135, 113, -1, 112, 136, 113, - -1, 112, 137, 113, -1, 112, 138, 113, -1, 112, - 139, 113, -1, 112, 215, 113, 118, 115, -1, 112, - 215, 113, 118, 136, -1, 112, 215, 113, 118, 137, - -1, 112, 215, 113, 118, 138, -1, -1, 115, -1, - 127, -1, 128, -1, 129, -1, 130, -1, 131, -1, - 140, -1, 142, -1, 132, -1, 141, -1, 143, -1, - 133, -1, 134, -1, 135, -1, 136, -1, 137, -1, - 138, -1, 139, -1, 122, 215, -1, 215, 118, 221, - -1, 118, 220, 144, -1, 118, 220, 144, 144, -1, - 118, 145, 220, -1, 118, 145, 145, 220, -1, 118, - 220, -1, 127, 118, 220, -1, 115, 118, 220, -1, - 129, 118, 220, -1, 215, 118, 125, -1, 120, 215, - 118, 220, 121, -1, 120, 118, 220, 144, 121, -1, - 120, 118, 220, 144, 144, 121, -1, 120, 118, 145, - 220, 121, -1, 120, 118, 145, 145, 220, 121, -1, - 120, 118, 220, 121, -1, 120, 127, 118, 220, 121, - -1, 120, 115, 118, 220, 121, -1, 120, 129, 118, - 220, 121, -1, 120, 215, 118, 125, 121, -1, 120, - 215, 121, -1, 116, -1, 117, -1, 221, -1, 123, - -1, 124, -1 + 200, 151, 170, -1, 38, 199, 170, -1, 38, 170, + -1, 46, 170, -1, 46, 199, 170, -1, 87, 170, + -1, 87, 152, 170, -1, 100, 170, -1, 100, 200, + 204, 170, -1, 26, 170, -1, 49, 188, 170, -1, + 50, 188, 170, -1, 58, 170, -1, 58, 200, 204, + 170, -1, 57, 170, -1, 57, 200, 204, 170, -1, + 29, 170, -1, 29, 200, 204, 170, -1, 30, 170, + -1, 30, 200, 204, 170, -1, 85, 170, -1, 173, + -1, 39, 170, -1, 39, 201, 170, -1, 39, 193, + 170, -1, 68, 201, 200, 188, 170, -1, 68, 188, + 170, -1, 69, 201, 200, 188, 170, -1, 69, 188, + 170, -1, 70, 199, 200, 150, 170, -1, 71, 150, + 170, -1, 71, 201, 200, 150, 170, -1, 72, 201, + 170, -1, 72, 170, -1, 111, 21, 199, 170, -1, + 111, 21, 199, 24, 170, -1, -1, 55, 199, 176, + 218, 170, -1, 55, 199, 170, -1, 56, 196, 170, + -1, 56, 170, -1, 37, 197, 200, 199, 170, -1, + 48, 197, 200, 199, 170, -1, 36, 197, 200, 208, + 170, -1, 35, 197, 200, 210, 170, -1, 43, 155, + 200, 196, 170, -1, 43, 196, 170, -1, 43, 170, + -1, 76, 196, 170, -1, 76, 170, -1, 77, 196, + 170, -1, 77, 170, -1, 78, 196, 170, -1, 78, + 170, -1, 79, 196, 170, -1, 79, 170, -1, 101, + 170, -1, 102, 170, -1, 102, 200, 204, 170, -1, + 102, 200, 204, 196, 170, -1, 103, 188, 200, 204, + 170, -1, 44, 191, 196, 205, 170, -1, 44, 170, + -1, 86, 196, 170, -1, 86, 170, -1, 62, 191, + 196, 205, 170, -1, 62, 170, -1, 45, 191, 196, + 205, 170, -1, 45, 170, -1, 157, 195, 170, -1, + 158, 195, 170, -1, 34, 195, 170, -1, 34, 195, + 200, 204, 170, -1, 52, 195, 170, -1, 52, 170, + -1, 53, 195, 15, 206, 170, -1, 54, 195, 200, + 146, 170, -1, 54, 195, 1, 170, -1, 25, 159, + 170, -1, 25, 170, -1, 42, 155, 170, -1, 42, + 170, -1, 60, 201, 170, -1, 108, 170, -1, 65, + 170, -1, 51, 170, -1, 63, 186, 170, -1, 59, + 204, 170, -1, 61, 170, -1, 61, 186, 170, -1, + 64, 186, 170, -1, 7, 204, 170, -1, 66, 186, + 170, -1, 82, 186, 170, -1, 89, 170, -1, 92, + 187, 170, -1, 91, 170, -1, 90, 188, 170, -1, + 90, 188, 200, 204, 170, -1, 93, 146, 170, -1, + 94, 146, 146, 170, -1, 97, 170, -1, 97, 200, + 204, 170, -1, 98, 200, 204, 170, -1, 99, 170, + -1, 104, 187, 170, -1, 106, 107, 170, -1, 106, + 170, -1, 31, 188, 189, 198, 170, -1, 83, 188, + 189, 198, 170, -1, 32, 188, 189, 197, 170, -1, + 32, 188, 1, -1, 32, 188, 189, 1, -1, 84, + 188, 189, 197, 170, -1, 84, 188, 189, 1, -1, + 33, 188, 189, 199, 170, -1, 33, 188, 189, 1, + -1, 27, 204, 204, 198, 170, -1, 28, 204, 204, + 199, 170, -1, 105, 170, -1, 105, 189, 170, -1, + 95, 188, 204, 170, -1, 96, 204, 170, -1, 109, + 188, 170, -1, 109, 188, 200, 215, 170, -1, 110, + 188, 170, -1, 110, 188, 200, 215, 170, -1, 73, + 188, 170, -1, 74, 170, -1, 75, 188, 170, -1, + 80, 199, 208, 170, -1, 81, 170, -1, 88, 170, + -1, 148, -1, 148, -1, -1, 147, -1, 1, -1, + 204, -1, 1, -1, 190, 14, -1, 14, -1, 190, + -1, -1, 153, -1, 201, 153, -1, 193, 118, 194, + -1, 194, -1, 192, 21, 215, -1, 213, -1, 1, + -1, 197, -1, 199, -1, 199, 200, 199, -1, 9, + -1, 201, 200, 9, -1, 200, 199, -1, -1, 202, + -1, 201, 200, 202, -1, 150, -1, 118, -1, -1, + 16, -1, 17, -1, 18, -1, 19, -1, 20, -1, + 203, -1, 215, -1, 204, 161, 204, -1, 204, 162, + 204, -1, 204, 163, 204, -1, 204, 164, 204, -1, + 165, 204, 166, -1, 165, 204, 1, -1, 212, -1, + 15, 206, -1, -1, 206, 154, 206, -1, 206, 154, + 1, -1, 112, 206, 113, -1, 112, 206, 1, -1, + 207, -1, 192, -1, 215, -1, 208, 200, 209, -1, + 209, -1, 215, -1, 146, -1, 210, 211, -1, 211, + -1, 215, -1, 160, -1, 146, -1, 215, -1, 192, + -1, 4, -1, 12, -1, 11, -1, 10, -1, 12, + -1, 11, -1, 10, -1, 3, -1, 4, -1, 5, + -1, 6, -1, 214, -1, 216, 119, 217, -1, 217, + 119, 217, -1, 217, 119, -1, 149, 219, -1, 217, + -1, 216, -1, 114, 215, -1, 215, -1, 215, 118, + 116, -1, 215, 118, 117, -1, 112, 215, 113, -1, + 112, 215, 118, 116, 113, -1, 112, 215, 113, 118, + 117, -1, 112, 134, 113, -1, 112, 135, 113, -1, + 112, 136, 113, -1, 112, 137, 113, -1, 112, 138, + 113, -1, 112, 139, 113, -1, 112, 215, 113, 118, + 115, -1, 112, 215, 113, 118, 136, -1, 112, 215, + 113, 118, 137, -1, 112, 215, 113, 118, 138, -1, + -1, 115, -1, 127, -1, 128, -1, 129, -1, 130, + -1, 131, -1, 140, -1, 142, -1, 132, -1, 141, + -1, 143, -1, 133, -1, 134, -1, 135, -1, 136, + -1, 137, -1, 138, -1, 139, -1, 122, 215, -1, + 215, 118, 221, -1, 118, 220, 144, -1, 118, 220, + 144, 144, -1, 118, 145, 220, -1, 118, 145, 145, + 220, -1, 118, 220, -1, 127, 118, 220, -1, 115, + 118, 220, -1, 129, 118, 220, -1, 215, 118, 125, + -1, 120, 215, 118, 220, 121, -1, 120, 118, 220, + 144, 121, -1, 120, 118, 220, 144, 144, 121, -1, + 120, 118, 145, 220, 121, -1, 120, 118, 145, 145, + 220, 121, -1, 120, 118, 220, 121, -1, 120, 127, + 118, 220, 121, -1, 120, 115, 118, 220, 121, -1, + 120, 129, 118, 220, 121, -1, 120, 215, 118, 125, + 121, -1, 120, 215, 121, -1, 116, -1, 117, -1, + 221, -1, 123, -1, 124, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 191, 191, 192, 193, 196, 197, 200, 201, 202, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 220, 222, 224, 226, 228, 230, 232, - 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, - 254, 256, 258, 260, 262, 264, 266, 269, 271, 273, - 276, 281, 286, 288, 290, 292, 294, 296, 298, 300, - 304, 311, 310, 313, 315, 317, 321, 323, 325, 327, - 329, 331, 333, 335, 337, 339, 341, 343, 345, 347, - 349, 351, 353, 355, 357, 359, 363, 372, 375, 379, - 382, 391, 394, 403, 408, 410, 412, 414, 416, 418, - 420, 422, 424, 428, 430, 435, 437, 455, 457, 459, - 461, 465, 467, 469, 471, 473, 475, 477, 479, 481, - 483, 485, 487, 489, 491, 493, 495, 497, 499, 501, - 503, 505, 507, 511, 513, 515, 517, 519, 521, 523, - 525, 527, 529, 531, 533, 535, 537, 539, 541, 543, - 545, 547, 551, 553, 555, 559, 561, 565, 569, 572, - 573, 576, 577, 580, 581, 584, 585, 588, 589, 592, - 593, 596, 597, 600, 604, 605, 608, 609, 612, 613, - 615, 619, 620, 623, 628, 633, 643, 644, 647, 648, - 649, 650, 651, 654, 656, 658, 659, 660, 661, 662, - 663, 664, 667, 668, 670, 675, 677, 679, 681, 685, - 691, 699, 700, 703, 704, 707, 708, 711, 712, 713, - 716, 717, 720, 721, 722, 723, 726, 727, 728, 731, - 732, 733, 734, 735, 738, 739, 740, 743, 753, 754, - 757, 764, 772, 780, 788, 790, 792, 794, 795, 796, - 797, 798, 799, 800, 802, 804, 806, 808, 809, 810, + 0, 190, 190, 191, 192, 195, 196, 199, 200, 201, + 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 214, 215, 216, 219, 221, 223, 225, 227, 229, 231, + 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, + 253, 255, 257, 259, 261, 263, 265, 267, 270, 272, + 274, 277, 282, 287, 289, 291, 293, 295, 297, 299, + 301, 305, 312, 311, 314, 316, 318, 322, 324, 326, + 328, 330, 332, 334, 336, 338, 340, 342, 344, 346, + 348, 350, 352, 354, 356, 358, 360, 364, 373, 376, + 380, 383, 392, 395, 404, 409, 411, 413, 415, 417, + 419, 421, 423, 425, 429, 431, 436, 438, 456, 458, + 460, 462, 466, 468, 470, 472, 474, 476, 478, 480, + 482, 484, 486, 488, 490, 492, 494, 496, 498, 500, + 502, 504, 506, 508, 512, 514, 516, 518, 520, 522, + 524, 526, 528, 530, 532, 534, 536, 538, 540, 542, + 544, 546, 548, 552, 554, 556, 560, 562, 566, 570, + 573, 574, 577, 578, 581, 582, 585, 586, 589, 590, + 593, 594, 597, 598, 601, 605, 606, 609, 610, 613, + 614, 616, 620, 621, 624, 629, 634, 644, 645, 648, + 649, 650, 651, 652, 655, 657, 659, 660, 661, 662, + 663, 664, 665, 668, 669, 671, 676, 678, 680, 682, + 686, 692, 700, 701, 704, 705, 708, 709, 712, 713, + 714, 717, 718, 721, 722, 723, 724, 727, 728, 729, + 732, 733, 734, 735, 736, 739, 740, 741, 744, 754, + 755, 758, 765, 773, 781, 789, 791, 793, 795, 796, + 797, 798, 799, 800, 801, 803, 805, 807, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, - 821, 822, 823, 824, 825, 826, 828, 829, 844, 848, - 852, 856, 860, 864, 868, 872, 876, 888, 903, 907, - 911, 915, 919, 923, 927, 931, 935, 947, 956, 957, - 958, 962, 963 + 821, 822, 823, 824, 825, 826, 827, 829, 830, 845, + 849, 853, 857, 861, 865, 869, 873, 877, 889, 904, + 908, 912, 916, 920, 924, 928, 932, 936, 948, 957, + 958, 959, 963, 964 }; #endif @@ -1129,33 +1128,33 @@ 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, 173, 173, 173, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 176, 175, 175, 175, 175, 177, 177, 177, 177, + 172, 172, 172, 172, 172, 172, 172, 172, 173, 173, + 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 174, 176, 175, 175, 175, 175, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 177, 177, 177, 178, 178, 178, 178, - 178, 178, 178, 178, 179, 179, 179, 179, 179, 179, - 179, 179, 179, 180, 180, 180, 180, 180, 180, 180, - 180, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 177, 177, 177, 177, 177, 177, 177, 178, 178, 178, + 178, 178, 178, 178, 178, 179, 179, 179, 179, 179, + 179, 179, 179, 179, 180, 180, 180, 180, 180, 180, + 180, 180, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, - 181, 181, 181, 182, 182, 182, 182, 182, 182, 182, + 181, 181, 181, 181, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, - 182, 182, 183, 183, 183, 184, 184, 185, 186, 187, - 187, 188, 188, 189, 189, 190, 190, 191, 191, 192, - 192, 193, 193, 194, 195, 195, 196, 196, 197, 197, - 197, 198, 198, 199, 199, 199, 200, 200, 201, 201, - 201, 201, 201, 202, 203, 204, 204, 204, 204, 204, - 204, 204, 205, 205, 206, 206, 206, 206, 206, 207, - 207, 208, 208, 209, 209, 210, 210, 211, 211, 211, - 212, 212, 213, 213, 213, 213, 214, 214, 214, 215, - 215, 215, 215, 215, 216, 216, 216, 217, 218, 218, + 182, 182, 182, 183, 183, 183, 184, 184, 185, 186, + 187, 187, 188, 188, 189, 189, 190, 190, 191, 191, + 192, 192, 193, 193, 194, 195, 195, 196, 196, 197, + 197, 197, 198, 198, 199, 199, 199, 200, 200, 201, + 201, 201, 201, 201, 202, 203, 204, 204, 204, 204, + 204, 204, 204, 205, 205, 206, 206, 206, 206, 206, + 207, 207, 208, 208, 209, 209, 210, 210, 211, 211, + 211, 212, 212, 213, 213, 213, 213, 214, 214, 214, + 215, 215, 215, 215, 215, 216, 216, 216, 217, 218, + 218, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, - 219, 219, 219, 219, 219, 219, 219, 219, 220, 220, - 220, 221, 221 + 219, 219, 219, 219, 219, 219, 219, 219, 219, 220, + 220, 220, 221, 221 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1163,35 +1162,35 @@ { 0, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 3, 3, 5, 3, 2, 3, - 2, 3, 2, 4, 2, 3, 3, 2, 4, 2, - 4, 2, 4, 2, 4, 2, 1, 2, 3, 3, - 5, 3, 5, 3, 5, 3, 5, 3, 2, 4, - 5, 0, 5, 3, 3, 2, 5, 5, 5, 5, - 5, 3, 2, 3, 2, 3, 2, 3, 2, 3, - 2, 2, 2, 4, 5, 5, 5, 2, 3, 2, - 5, 2, 5, 2, 3, 3, 3, 5, 3, 2, - 5, 5, 4, 3, 2, 3, 2, 3, 2, 2, - 2, 3, 3, 2, 3, 3, 3, 3, 3, 2, - 3, 2, 3, 5, 3, 4, 2, 4, 4, 2, - 3, 3, 2, 5, 5, 5, 3, 4, 5, 4, - 5, 4, 5, 5, 2, 3, 4, 3, 3, 5, - 3, 5, 3, 2, 3, 4, 2, 2, 1, 1, - 0, 1, 1, 1, 1, 2, 1, 1, 0, 1, - 2, 3, 1, 3, 1, 1, 1, 1, 3, 1, - 3, 2, 0, 1, 3, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, - 3, 1, 2, 0, 3, 3, 3, 3, 1, 1, - 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 2, 3, 3, 5, 3, 2, 2, + 3, 2, 3, 2, 4, 2, 3, 3, 2, 4, + 2, 4, 2, 4, 2, 4, 2, 1, 2, 3, + 3, 5, 3, 5, 3, 5, 3, 5, 3, 2, + 4, 5, 0, 5, 3, 3, 2, 5, 5, 5, + 5, 5, 3, 2, 3, 2, 3, 2, 3, 2, + 3, 2, 2, 2, 4, 5, 5, 5, 2, 3, + 2, 5, 2, 5, 2, 3, 3, 3, 5, 3, + 2, 5, 5, 4, 3, 2, 3, 2, 3, 2, + 2, 2, 3, 3, 2, 3, 3, 3, 3, 3, + 2, 3, 2, 3, 5, 3, 4, 2, 4, 4, + 2, 3, 3, 2, 5, 5, 5, 3, 4, 5, + 4, 5, 4, 5, 5, 2, 3, 4, 3, 3, + 5, 3, 5, 3, 2, 3, 4, 2, 2, 1, + 1, 0, 1, 1, 1, 1, 2, 1, 1, 0, + 1, 2, 3, 1, 3, 1, 1, 1, 1, 3, + 1, 3, 2, 0, 1, 3, 1, 1, 0, 1, + 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, + 3, 3, 1, 2, 0, 3, 3, 3, 3, 1, + 1, 1, 3, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 3, 2, 2, 1, 1, - 2, 1, 3, 3, 3, 5, 5, 3, 3, 3, - 3, 3, 3, 5, 5, 5, 5, 0, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 2, 2, 1, + 1, 2, 1, 3, 3, 3, 5, 5, 3, 3, + 3, 3, 3, 3, 5, 5, 5, 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 3, 3, 4, - 3, 4, 2, 3, 3, 3, 3, 5, 5, 6, - 5, 6, 4, 5, 5, 5, 5, 3, 1, 1, - 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, + 4, 3, 4, 2, 3, 3, 3, 3, 5, 5, + 6, 5, 6, 4, 5, 5, 5, 5, 3, 1, + 1, 1, 1, 1 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1205,508 +1204,514 @@ 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, 160, 0, - 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, - 160, 0, 0, 0, 0, 0, 0, 257, 0, 0, - 0, 2, 5, 10, 46, 11, 13, 12, 14, 15, - 16, 17, 18, 19, 20, 21, 0, 229, 230, 231, - 232, 228, 227, 226, 188, 189, 190, 191, 192, 169, - 0, 221, 0, 0, 201, 233, 220, 9, 8, 7, - 0, 104, 34, 0, 0, 186, 41, 0, 43, 0, - 162, 161, 0, 0, 0, 175, 222, 225, 224, 223, - 0, 174, 179, 185, 187, 187, 187, 183, 193, 194, - 187, 187, 0, 187, 47, 0, 0, 172, 0, 0, - 106, 187, 72, 0, 176, 187, 166, 87, 167, 0, - 93, 0, 28, 0, 187, 0, 0, 110, 9, 99, - 0, 0, 0, 0, 65, 0, 39, 0, 37, 0, - 0, 0, 158, 113, 0, 91, 0, 0, 0, 109, - 0, 0, 23, 0, 0, 187, 0, 187, 187, 0, - 187, 58, 0, 0, 153, 0, 74, 0, 76, 0, - 78, 0, 80, 0, 0, 156, 0, 0, 0, 45, - 89, 0, 0, 30, 157, 119, 0, 121, 159, 0, - 0, 0, 0, 0, 126, 0, 0, 129, 32, 0, - 81, 82, 0, 187, 0, 9, 144, 0, 163, 0, - 132, 108, 0, 0, 0, 0, 0, 258, 0, 0, - 0, 259, 260, 261, 262, 263, 266, 269, 270, 271, - 272, 273, 274, 275, 264, 267, 265, 268, 241, 237, - 0, 0, 1, 6, 3, 0, 170, 0, 0, 0, - 0, 116, 103, 187, 0, 0, 0, 164, 187, 136, - 0, 0, 96, 0, 0, 0, 0, 0, 0, 27, - 0, 0, 0, 49, 48, 105, 0, 71, 165, 203, - 203, 29, 0, 35, 36, 98, 0, 0, 0, 63, - 0, 64, 0, 0, 112, 107, 114, 203, 111, 115, - 117, 25, 24, 0, 51, 0, 53, 0, 0, 55, - 0, 57, 152, 154, 73, 75, 77, 79, 214, 0, - 212, 213, 118, 187, 0, 88, 31, 122, 0, 120, - 124, 0, 0, 147, 0, 0, 0, 0, 0, 130, - 145, 131, 148, 0, 150, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 240, 0, 298, 299, 301, 302, - 0, 282, 300, 0, 0, 0, 0, 0, 276, 0, - 0, 0, 94, 95, 200, 199, 195, 196, 197, 198, - 0, 0, 0, 42, 44, 0, 137, 0, 141, 0, - 0, 219, 218, 0, 216, 217, 178, 180, 184, 0, - 0, 173, 171, 0, 0, 0, 0, 0, 0, 209, - 0, 208, 210, 102, 0, 239, 238, 0, 40, 38, - 0, 0, 0, 0, 0, 0, 155, 0, 0, 139, - 0, 0, 125, 146, 127, 128, 33, 83, 0, 0, - 0, 0, 0, 59, 247, 248, 249, 250, 251, 252, - 244, 0, 284, 0, 280, 278, 0, 0, 0, 0, - 0, 0, 297, 283, 285, 242, 243, 286, 277, 142, - 181, 143, 133, 135, 140, 97, 69, 215, 68, 66, - 70, 202, 86, 92, 67, 0, 0, 100, 101, 0, - 236, 62, 90, 26, 50, 52, 54, 56, 211, 134, - 138, 123, 84, 85, 149, 151, 60, 0, 0, 281, - 279, 0, 0, 0, 292, 0, 0, 0, 0, 0, - 207, 206, 205, 204, 234, 235, 253, 246, 254, 255, - 256, 245, 294, 0, 290, 288, 0, 293, 295, 296, - 287, 291, 289 + 0, 0, 0, 0, 0, 0, 0, 0, 161, 0, + 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, + 161, 0, 0, 0, 0, 0, 0, 258, 0, 0, + 0, 2, 5, 10, 47, 11, 13, 12, 14, 15, + 16, 17, 18, 19, 20, 21, 0, 230, 231, 232, + 233, 229, 228, 227, 189, 190, 191, 192, 193, 170, + 0, 222, 0, 0, 202, 234, 221, 9, 8, 7, + 0, 105, 35, 0, 0, 187, 42, 0, 44, 0, + 163, 162, 0, 0, 0, 176, 223, 226, 225, 224, + 0, 175, 180, 186, 188, 188, 188, 184, 194, 195, + 188, 188, 28, 0, 188, 48, 0, 0, 173, 0, + 0, 107, 188, 73, 0, 177, 188, 167, 88, 168, + 0, 94, 0, 29, 0, 188, 0, 0, 111, 9, + 100, 0, 0, 0, 0, 66, 0, 40, 0, 38, + 0, 0, 0, 159, 114, 0, 92, 0, 0, 0, + 110, 0, 0, 23, 0, 0, 188, 0, 188, 188, + 0, 188, 59, 0, 0, 154, 0, 75, 0, 77, + 0, 79, 0, 81, 0, 0, 157, 0, 0, 0, + 46, 90, 0, 0, 31, 158, 120, 0, 122, 160, + 0, 0, 0, 0, 0, 127, 0, 0, 130, 33, + 0, 82, 83, 0, 188, 0, 9, 145, 0, 164, + 0, 133, 109, 0, 0, 0, 0, 0, 259, 0, + 0, 0, 260, 261, 262, 263, 264, 267, 270, 271, + 272, 273, 274, 275, 276, 265, 268, 266, 269, 242, + 238, 0, 0, 1, 6, 3, 0, 171, 0, 0, + 0, 0, 117, 104, 188, 0, 0, 0, 165, 188, + 137, 0, 0, 97, 0, 0, 0, 0, 0, 0, + 27, 0, 0, 0, 50, 49, 106, 0, 72, 166, + 204, 204, 30, 0, 36, 37, 99, 0, 0, 0, + 64, 0, 65, 0, 0, 113, 108, 115, 204, 112, + 116, 118, 25, 24, 0, 52, 0, 54, 0, 0, + 56, 0, 58, 153, 155, 74, 76, 78, 80, 215, + 0, 213, 214, 119, 188, 0, 89, 32, 123, 0, + 121, 125, 0, 0, 148, 0, 0, 0, 0, 0, + 131, 146, 132, 149, 0, 151, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 241, 0, 299, 300, 302, + 303, 0, 283, 301, 0, 0, 0, 0, 0, 277, + 0, 0, 0, 95, 96, 201, 200, 196, 197, 198, + 199, 0, 0, 0, 43, 45, 0, 138, 0, 142, + 0, 0, 220, 219, 0, 217, 218, 179, 181, 185, + 0, 0, 174, 172, 0, 0, 0, 0, 0, 0, + 210, 0, 209, 211, 103, 0, 240, 239, 0, 41, + 39, 0, 0, 0, 0, 0, 0, 156, 0, 0, + 140, 0, 0, 126, 147, 128, 129, 34, 84, 0, + 0, 0, 0, 0, 60, 248, 249, 250, 251, 252, + 253, 245, 0, 285, 0, 281, 279, 0, 0, 0, + 0, 0, 0, 298, 284, 286, 243, 244, 287, 278, + 143, 182, 144, 134, 136, 141, 98, 70, 216, 69, + 67, 71, 203, 87, 93, 68, 0, 0, 101, 102, + 0, 237, 63, 91, 26, 51, 53, 55, 57, 212, + 135, 139, 124, 85, 86, 150, 152, 61, 0, 0, + 282, 280, 0, 0, 0, 293, 0, 0, 0, 0, + 0, 208, 207, 206, 205, 235, 236, 254, 247, 255, + 256, 257, 246, 295, 0, 291, 289, 0, 294, 296, + 297, 288, 292, 290 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 90, 91, 131, 92, 93, 94, 95, 96, 350, - 97, 98, 99, 100, 101, 102, 103, 104, 105, 204, - 249, 142, 267, 178, 179, 121, 166, 167, 150, 173, - 174, 440, 175, 441, 122, 157, 158, 268, 465, 470, - 471, 379, 380, 453, 454, 124, 151, 125, 159, 475, - 106, 477, 299, 421, 422 + -1, 90, 91, 131, 92, 93, 94, 95, 96, 351, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 205, + 250, 142, 268, 179, 180, 121, 167, 168, 150, 174, + 175, 441, 176, 442, 122, 157, 158, 269, 466, 471, + 472, 380, 381, 454, 455, 124, 151, 125, 159, 476, + 106, 478, 300, 422, 423 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -396 +#define YYPACT_NINF -367 static const yytype_int16 yypact[] = { - 1185, 917, -396, -396, 25, 193, 917, 917, 88, 88, - 6, 6, 6, 608, 1171, 1171, 1171, 1515, 616, 13, - 1046, 1149, 1149, 1432, 1171, 6, 6, 193, 1102, 608, - 608, 1515, 1297, 88, 88, 917, 759, 65, 1149, -126, - -126, 193, -126, 207, 425, 425, 1515, 253, 711, 6, - 193, 6, 1297, 1297, 1297, 1297, 1515, 193, -126, 6, - 6, 193, 1297, 41, 193, 193, 6, 193, -124, -90, - -70, 6, 917, 88, -67, 193, 88, 193, 88, 6, - -124, 472, 80, 193, 6, 6, 76, 1556, 608, 608, - 109, 1319, -396, -396, -396, -396, -396, -396, -396, -396, - -396, -396, -396, -396, -396, -396, 91, -396, -396, -396, - -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, - 917, -396, -27, 18, -396, -396, -396, -396, -396, -396, - 193, -396, -396, 754, 754, -396, -396, 917, -396, 917, - -396, -396, 111, 498, 111, -396, -396, -396, -396, -396, - 88, -396, -396, -396, -67, -67, -67, -396, -396, -396, - -67, -67, 193, -67, -396, 114, 73, -396, 32, 193, - -396, -67, -396, 193, -396, 144, -396, -396, 123, 1171, - -396, 1171, -396, 193, -67, 193, 193, -396, 221, -396, - 193, 137, 16, 61, -396, 193, -396, 917, -396, 917, - 18, 193, -396, -396, 193, -396, 1171, 193, 193, -396, - 193, 193, -396, 117, 193, -67, 193, -67, -67, 193, - -67, -396, 193, 193, -396, 193, -396, 193, -396, 193, - -396, 193, -396, 193, 328, -396, 193, 111, 111, -396, - -396, 193, 193, -396, -396, -396, 88, -396, -396, 193, - 193, 30, 917, 18, -396, 917, 917, -396, -396, 917, - -396, -396, 917, -67, 193, 414, -396, 193, 392, 193, - -396, -396, 1597, 1597, 1515, 656, 882, 46, 389, 1585, - 882, 59, -396, 70, -396, -396, -396, -396, -396, -396, - -396, -396, -396, -396, -396, -396, -396, -396, 71, -396, - 193, 193, -396, -396, -396, 9, -396, 917, 917, 917, - 917, -396, -396, 56, 955, 18, 18, -396, 124, 1455, - 1477, 279, -396, 917, 454, 1515, 734, 328, 1515, -396, - 882, 882, 229, -396, -396, -396, 1171, -396, -396, 177, - 177, -396, 1515, -396, -396, -396, 998, 193, 49, -396, - 48, -396, 18, 18, -396, -396, -396, 177, -396, -396, - -396, -396, -396, 51, -396, 6, -396, 6, 55, -396, - 78, -396, -396, -396, -396, -396, -396, -396, -396, 1535, - -396, -396, -396, 124, 1497, -396, -396, -396, 917, -396, - -396, 193, 18, -396, 18, 18, 18, 861, 917, -396, - -396, -396, -396, 882, -396, 882, 426, 108, 125, 126, - 139, 143, 150, -95, -396, 188, -396, -396, -396, -396, - 404, 121, -396, 159, 415, 163, 168, 42, -396, 188, - 188, 553, -396, -396, -396, -396, -114, -114, -396, -396, - 193, 1515, 193, -396, -396, 193, -396, 193, -396, 193, - 18, -396, -396, 977, -396, -396, -396, -396, -396, 1535, - 193, -396, -396, 193, 998, 193, 193, 193, 998, -396, - 36, -396, -396, -396, 193, 173, 174, 193, -396, -396, - 193, 193, 193, 193, 193, 193, -396, 328, 193, -396, - 193, 18, -396, -396, -396, -396, -396, -396, 193, 18, - 193, 193, 193, -396, -396, -396, -396, -396, -396, -396, - 176, 184, -396, 188, -396, 166, 188, 478, -106, 188, - 188, 575, -396, -396, -396, -396, -396, -396, -396, -396, - -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, - -396, 160, -396, -396, -396, 7, 1073, -396, -396, 48, - 48, -396, -396, -396, -396, -396, -396, -396, -396, -396, - -396, -396, -396, -396, -396, -396, -396, 231, 203, -396, - -396, 197, 188, 198, -396, -20, 216, 220, 223, 230, - -396, -396, -396, -396, -396, -396, -396, -396, -396, -396, - -396, -396, -396, 232, -396, -396, 235, -396, -396, -396, - -396, -396, -396 + 1182, 861, -367, -367, 9, 277, 861, 861, 78, 78, + 47, 47, 47, 626, 1535, 1535, 1535, 1446, 204, 7, + 1026, 1296, 1296, 1446, 1535, 47, 47, 277, 525, 626, + 626, 1553, 1174, 78, 78, 861, 676, 129, 1296, -129, + -129, 277, -129, 666, 6, 6, 1553, 254, 602, 47, + 277, 47, 1174, 1174, 1174, 1174, 1553, 277, -129, 47, + 47, 277, 1174, 90, 277, 277, 47, 277, -97, -87, + -70, 47, 861, 78, -31, 277, 78, 277, 78, 47, + -97, 104, 213, 277, 47, 47, 72, 1577, 626, 626, + 102, 1316, -367, -367, -367, -367, -367, -367, -367, -367, + -367, -367, -367, -367, -367, -367, 82, -367, -367, -367, + -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, + 861, -367, -36, 124, -367, -367, -367, -367, -367, -367, + 277, -367, -367, 966, 966, -367, -367, 861, -367, 861, + -367, -367, 698, 723, 698, -367, -367, -367, -367, -367, + 78, -367, -367, -367, -31, -31, -31, -367, -367, -367, + -31, -31, -367, 277, -31, -367, 136, 227, -367, 19, + 277, -367, -31, -367, 277, -367, 210, -367, -367, 145, + 1535, -367, 1535, -367, 277, -31, 277, 277, -367, 314, + -367, 277, 146, 17, 117, -367, 277, -367, 861, -367, + 861, 124, 277, -367, -367, 277, -367, 1535, 277, 277, + -367, 277, 277, -367, 13, 277, -31, 277, -31, -31, + 277, -31, -367, 277, 277, -367, 277, -367, 277, -367, + 277, -367, 277, -367, 277, 488, -367, 277, 698, 698, + -367, -367, 277, 277, -367, -367, -367, 78, -367, -367, + 277, 277, 25, 861, 124, -367, 861, 861, -367, -367, + 861, -367, -367, 861, -31, 277, 331, -367, 277, 343, + 277, -367, -367, 906, 906, 1553, 1587, 920, 56, 166, + 1615, 920, 70, -367, 75, -367, -367, -367, -367, -367, + -367, -367, -367, -367, -367, -367, -367, -367, -367, 77, + -367, 277, 277, -367, -367, -367, 14, -367, 861, 861, + 861, 861, -367, -367, 55, 984, 124, 124, -367, 238, + 1052, 1474, 1514, -367, 861, 179, 1553, 784, 488, 1553, + -367, 920, 920, 45, -367, -367, -367, 1535, -367, -367, + 185, 185, -367, 1553, -367, -367, -367, 1425, 277, 60, + -367, 52, -367, 124, 124, -367, -367, -367, 185, -367, + -367, -367, -367, -367, 51, -367, 47, -367, 47, 57, + -367, 59, -367, -367, -367, -367, -367, -367, -367, -367, + 337, -367, -367, -367, 238, 1494, -367, -367, -367, 861, + -367, -367, 277, 124, -367, 124, 124, 124, 758, 861, + -367, -367, -367, -367, 920, -367, 920, 311, 116, 127, + 131, 135, 138, 140, -7, -367, 574, -367, -367, -367, + -367, 356, 86, -367, 147, 417, 163, 173, 16, -367, + 574, 574, 333, -367, -367, -367, -367, -106, -106, -367, + -367, 277, 1553, 277, -367, -367, 277, -367, 277, -367, + 277, 124, -367, -367, 291, -367, -367, -367, -367, -367, + 337, 277, -367, -367, 277, 1425, 277, 277, 277, 1425, + -367, 32, -367, -367, -367, 277, 144, 165, 277, -367, + -367, 277, 277, 277, 277, 277, 277, -367, 488, 277, + -367, 277, 124, -367, -367, -367, -367, -367, -367, 277, + 124, 277, 277, 277, -367, -367, -367, -367, -367, -367, + -367, 175, 148, -367, 574, -367, 110, 574, 434, -71, + 574, 574, 530, -367, -367, -367, -367, -367, -367, -367, + -367, -367, -367, -367, -367, -367, -367, -367, -367, -367, + -367, -367, 167, -367, -367, -367, 15, 1076, -367, -367, + 52, 52, -367, -367, -367, -367, -367, -367, -367, -367, + -367, -367, -367, -367, -367, -367, -367, -367, 309, 206, + -367, -367, 177, 574, 196, -367, -52, 205, 208, 231, + 240, -367, -367, -367, -367, -367, -367, -367, -367, -367, + -367, -367, -367, -367, 241, -367, -367, 243, -367, -367, + -367, -367, -367, -367 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -396, -396, -396, 357, 233, -396, -396, -396, -396, -396, - -396, -396, -396, -396, -396, -396, -396, -396, -396, 192, - 248, 276, 354, -396, 39, -17, -396, 20, 171, -23, - -3, -293, 29, -6, 670, -310, -396, 647, -275, -395, - -396, 37, -128, -396, -83, -396, -396, -396, -1, -396, - -346, -396, -396, 523, -68 + -367, -367, -367, 358, 279, -367, -367, -367, -367, -367, + -367, -367, -367, -367, -367, -367, -367, -367, -367, 329, + 285, 418, 274, -367, 107, -17, -367, 40, 217, -15, + -3, -310, 29, -6, 625, -171, -367, 765, -292, -366, + -367, 61, -104, -367, -61, -367, -367, -367, -1, -367, + -347, -367, -367, 93, -38 }; /* 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 -188 +#define YYTABLE_NINF -189 static const yytype_int16 yytable[] = { - 126, 165, 137, 139, 476, 126, 126, 140, 580, 195, - 434, 154, 160, 161, 127, 574, 458, 347, 510, 127, - 458, 184, 202, 511, 248, 445, 127, 197, 199, 227, - 229, 231, 233, 127, 126, 128, 129, 127, 575, 241, - 128, 129, 127, 155, 155, 155, 162, 128, 129, 309, - 310, 135, 183, 155, 128, 129, 250, -182, 128, 129, - 193, 181, 127, 128, 129, 466, 127, 255, 256, 541, - 259, 126, 262, 545, 127, 218, 251, 206, -182, -182, - 126, 127, 480, 128, 129, 234, 298, 128, 129, 127, - 488, -187, -187, -187, -187, 128, 129, 274, -187, -187, - -187, 595, 128, 129, -187, -187, -187, -187, -187, 302, - 128, 129, 317, 304, 107, 108, 109, 110, 127, 126, - 581, 111, 112, 113, 596, -182, 306, 114, 115, 116, - 117, 118, 126, 126, 135, 331, 126, 338, 126, 128, - 129, 126, 126, 126, 323, -177, -182, -182, 324, 325, - 326, 583, 346, 141, 327, 328, 339, 330, 340, -177, - 521, 546, -187, 522, 415, 336, -177, -177, 169, 325, - 307, 308, 309, 310, 135, 435, 391, 429, 342, 307, - 308, 309, 310, 357, 130, 306, 348, 269, 430, 431, - 546, 332, 464, 242, 127, 474, 126, 87, 126, 190, - 191, 192, 481, 584, 585, 484, 135, 363, 127, 365, - -61, 367, 368, 202, 370, 128, 129, 307, 308, 309, - 310, 504, -175, 114, 115, 116, 117, 118, 485, 128, - 129, 207, 208, 381, 210, 135, 126, 126, 505, 506, - 388, -187, 135, -175, -175, 114, 115, 116, 117, 118, - 236, 126, 507, -187, 126, 126, 508, 398, 126, 300, - 301, 126, 135, 509, 119, 515, 403, 405, -187, 114, - 115, 116, 117, 118, 413, 414, 120, 516, 427, 428, - 448, 519, 107, 108, 109, 110, 520, 143, 144, 111, - 112, 113, 549, 550, 567, 114, 115, 116, 117, 118, - 568, 185, 186, 406, 416, 417, 126, 126, 126, 126, - 570, 418, 419, 463, 546, 165, 591, 447, 592, 594, - 214, 216, 126, 455, 303, 223, 381, 225, 264, 469, - 461, 107, 108, 109, 110, 237, 238, 597, 111, 112, - 113, 598, 246, 442, 599, 472, 586, 252, 587, 155, - 449, 600, 462, 601, 456, 263, 602, 460, 211, 558, - 272, 273, 132, 528, 459, 136, 138, 588, 589, 590, - 537, 467, 0, 487, 498, 164, 170, 172, 177, 180, - 182, 490, 119, 0, 187, 189, 0, 126, 0, 194, - 196, 198, 0, 0, 203, 205, 0, 126, 209, 0, - 212, 0, 500, 219, 501, 221, 0, 224, 0, 226, - 228, 230, 232, 155, 235, -164, 0, 0, 239, 240, - 243, 244, 245, 0, 247, 0, 140, 127, 0, 153, - 254, 0, 257, 258, 260, 261, -164, -164, 266, 270, - 271, 114, 115, 116, 117, 118, 0, 469, 128, 129, - 502, 469, 455, 487, 0, 0, 0, 107, 108, 109, - 110, 0, 0, 472, 111, 112, 113, 472, 0, 0, - 530, 0, 0, 265, 378, 107, 108, 109, 110, 0, - 311, 0, 111, 112, 113, 0, 381, 312, 114, 115, - 116, 117, 118, 0, 128, 129, 318, 320, 321, 319, - 0, 107, 108, 109, 110, 416, 417, 322, 111, 112, - 113, 0, 418, 419, 114, 115, 116, 117, 118, 329, - 416, 417, 0, 333, 0, 334, 335, 418, 419, 469, - 337, 416, 417, 0, 420, 0, 0, 0, 418, 419, - 341, 0, 343, 344, 0, 472, 0, 345, 0, 513, - 349, 0, 351, 307, 308, 309, 310, 354, 355, 0, - 517, 356, 0, 0, 358, 359, 0, 360, 361, 0, - 362, 364, 141, 366, 0, 0, 369, 0, 0, 371, - 372, 0, 373, 0, 374, 0, 375, 0, 376, 0, - 377, 383, 384, 382, 416, 417, 0, 0, 385, 386, - 451, 418, 419, 387, 0, 0, 389, 390, 0, 145, - 393, 0, 146, 0, 452, 0, 0, 127, 147, 148, - 149, 399, 0, 572, 400, 119, 401, 0, 0, 402, - 404, 0, 114, 115, 116, 117, 118, 120, 128, 129, - 0, 482, 0, 483, 0, 0, 0, 0, 123, 0, - 0, 119, 0, 133, 134, 0, 0, 432, 433, 107, - 108, 109, 110, 120, 0, 0, 111, 112, 113, 525, - 526, 0, 443, 444, 0, 0, 418, 419, 527, 0, - 0, 0, 200, 0, 156, 156, 156, 163, 168, 0, - 156, 416, 417, 163, 156, 0, 0, 0, 418, 419, - 578, 163, 156, 0, 473, 0, 201, 0, 0, 478, - 479, 0, 127, 213, 215, 217, 163, 220, 222, 253, - 0, 0, 156, 156, 156, 156, 163, 114, 115, 116, - 117, 118, 156, 128, 129, 0, 486, 107, 108, 109, - 110, 0, 0, 457, 111, 112, 113, 0, 492, 493, - 0, 494, 495, 496, 497, 0, 0, 107, 108, 109, - 110, 0, 0, 503, 111, 112, 113, 305, 0, 119, - 114, 115, 116, 117, 118, 114, 115, 116, 117, 118, - 313, 314, 0, 0, 315, 0, 316, 0, 0, 0, - 407, 408, 409, 410, 411, 412, 0, 529, 0, 531, - 0, 0, 532, 0, 533, 0, 534, 535, 0, 0, - 536, 0, 0, 0, 0, 0, 538, 539, 0, 0, - 540, 0, 542, 543, 544, 0, 0, 547, 0, 0, - 0, 548, 0, 0, 551, 0, 0, 552, 553, 554, - 555, 556, 557, 0, 352, 5... [truncated message content] |
From: <so...@us...> - 2012-12-28 21:01:23
|
Revision: 26836 http://vice-emu.svn.sourceforge.net/vice-emu/?rev=26836&view=rev Author: soci Date: 2012-12-28 21:01:10 +0000 (Fri, 28 Dec 2012) Log Message: ----------- Add C register, updated register display. Modified Paths: -------------- trunk/vice/src/monitor/mon_lex.c trunk/vice/src/monitor/mon_lex.l trunk/vice/src/monitor/mon_register65816.c trunk/vice/src/monitor/montypes.h Modified: trunk/vice/src/monitor/mon_lex.c =================================================================== --- trunk/vice/src/monitor/mon_lex.c 2012-12-28 20:58:59 UTC (rev 26835) +++ trunk/vice/src/monitor/mon_lex.c 2012-12-28 21:01:10 UTC (rev 26836) @@ -53,7 +53,6 @@ typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -84,6 +83,8 @@ #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ + #endif /* ! FLEXINT_H */ #ifdef __cplusplus @@ -140,7 +141,15 @@ /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif /* The state buf must be large enough to hold one state per character in the main buffer. @@ -360,8 +369,8 @@ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 236 -#define YY_END_OF_BUFFER 237 +#define YY_NUM_RULES 238 +#define YY_END_OF_BUFFER 239 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -369,138 +378,139 @@ flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_acclist[1158] = +static yyconst flex_int16_t yy_acclist[1166] = { 0, - 114, 226, 114, 226, 114, 114, 114, 114, 95, 114, - 95, 114, 114, 114, 114, 226, 114, 226, 114, 226, - 114, 226, 114, 226, 114, 226, 114, 226, 114, 226, + 114, 228, 114, 228, 114, 114, 114, 114, 95, 114, + 95, 114, 114, 114, 114, 228, 114, 228, 114, 228, + 114, 228, 114, 228, 114, 228, 114, 228, 114, 228, 114, 117, 114, 117, 113, 114, 113, 114, 114, 114, - 237, 235, 236, 114, 236, 115, 235, 236, 93, 235, - 236, 235, 236, 235, 236, 235, 236, 235, 236, 233, - 235, 236, 235, 236, 226, 228, 231, 235, 236, 223, - 226, 228, 231, 235, 236, 228, 231, 235, 236, 228, - 231, 235, 236, 84, 235, 236, 232, 235, 236, 231, - 235, 236, 107, 231, 235, 236, 231, 235, 236, 106, + 239, 237, 238, 114, 238, 115, 237, 238, 93, 237, + 238, 237, 238, 237, 238, 237, 238, 237, 238, 235, + 237, 238, 237, 238, 228, 230, 233, 237, 238, 225, + 228, 230, 233, 237, 238, 230, 233, 237, 238, 230, + 233, 237, 238, 84, 237, 238, 234, 237, 238, 233, + 237, 238, 107, 233, 237, 238, 233, 237, 238, 106, - 231, 235, 236, 231, 235, 236, 104, 235, 236, 235, - 236, 235, 236, 105, 235, 236, 235, 236, 235, 236, - 235, 236, 235, 236, 235, 236, 1, 235, 236, 3, - 235, 236, 38, 235, 236, 4, 235, 236, 5, 83, - 235, 236, 83, 235, 236, 21, 83, 235, 236, 26, - 83, 235, 236, 83, 235, 236, 36, 83, 235, 236, - 37, 83, 235, 236, 39, 83, 235, 236, 40, 83, - 235, 236, 83, 235, 236, 83, 235, 236, 46, 83, - 235, 236, 48, 83, 235, 236, 55, 83, 235, 236, - 57, 83, 235, 236, 83, 235, 236, 62, 83, 235, + 233, 237, 238, 233, 237, 238, 104, 237, 238, 237, + 238, 237, 238, 105, 237, 238, 237, 238, 237, 238, + 237, 238, 237, 238, 237, 238, 1, 237, 238, 3, + 237, 238, 38, 237, 238, 4, 237, 238, 5, 83, + 237, 238, 83, 237, 238, 21, 83, 237, 238, 26, + 83, 237, 238, 83, 237, 238, 36, 83, 237, 238, + 37, 83, 237, 238, 39, 83, 237, 238, 40, 83, + 237, 238, 83, 237, 238, 83, 237, 238, 46, 83, + 237, 238, 48, 83, 237, 238, 55, 83, 237, 238, + 57, 83, 237, 238, 83, 237, 238, 62, 83, 237, - 236, 69, 83, 235, 236, 53, 83, 235, 236, 83, - 235, 236, 81, 83, 235, 236, 34, 83, 235, 236, - 83, 235, 236, 75, 83, 235, 236, 2, 235, 236, - 95, 235, 236, 95, 114, 236, 94, 235, 236, 95, - 233, 235, 236, 95, 232, 235, 236, 118, 235, 236, - 118, 233, 235, 236, 118, 232, 235, 236, 217, 235, - 236, 213, 235, 236, 214, 235, 236, 220, 235, 236, - 221, 235, 236, 235, 236, 223, 226, 228, 231, 235, - 236, 228, 231, 235, 236, 218, 235, 236, 219, 235, - 236, 231, 235, 236,16586, 203, 231, 235, 236, 204, + 238, 69, 83, 237, 238, 53, 83, 237, 238, 83, + 237, 238, 81, 83, 237, 238, 34, 83, 237, 238, + 83, 237, 238, 75, 83, 237, 238, 2, 237, 238, + 95, 237, 238, 95, 114, 238, 94, 237, 238, 95, + 235, 237, 238, 95, 234, 237, 238, 118, 237, 238, + 118, 235, 237, 238, 118, 234, 237, 238, 219, 237, + 238, 215, 237, 238, 216, 237, 238, 222, 237, 238, + 223, 237, 238, 237, 238, 225, 228, 230, 233, 237, + 238, 230, 233, 237, 238, 220, 237, 238, 221, 237, + 238, 233, 237, 238,16588, 205, 233, 237, 238, 206, - 231, 235, 236, 205, 231, 235, 236, 206, 231, 235, - 236, 231, 235, 236, 235, 236, 207, 235, 236, 235, - 236, 208, 235, 236, 209, 235, 236, 210, 235, 236, - 211, 235, 236, 212, 235, 236, 215, 235, 236, 216, - 235, 236, 235, 236, 235, 236, 177, 235, 236, 178, - 235, 236, 235, 236, 147, 235, 236, 232, 235, 236, - 148, 235, 236, 179, 235, 236, 180, 235, 236, 235, - 236, 119, 231, 235, 236, 231, 235, 236, 231, 235, - 236, 231, 235, 236, 235, 236, 235, 236, 235, 236, - 120, 235, 236, 121, 235, 236, 235, 236, 117, 235, + 233, 237, 238, 207, 233, 237, 238, 208, 233, 237, + 238, 233, 237, 238, 237, 238, 209, 237, 238, 237, + 238, 210, 237, 238, 211, 237, 238, 212, 237, 238, + 213, 237, 238, 214, 237, 238, 217, 237, 238, 218, + 237, 238, 237, 238, 237, 238, 179, 237, 238, 180, + 237, 238, 237, 238, 149, 237, 238, 234, 237, 238, + 150, 237, 238, 181, 237, 238, 182, 237, 238, 237, + 238, 119, 233, 237, 238, 120, 233, 237, 238, 121, + 233, 237, 238, 233, 237, 238, 233, 237, 238, 233, + 237, 238, 237, 238, 237, 238, 237, 238, 122, 237, - 236, 117, 235, 236, 117, 235, 236, 117, 235, 236, - 117, 235, 236, 113, 235, 236, 102, 235, 236, 100, - 235, 236, 101, 235, 236, 103, 235, 236, 114, 230, - 224, 225, 227, 96, 98, 99, 97, 201, 200, 201, - 226, 228, 231, 228, 231, 231, 223, 226, 228, 231, - 223, 226, 228, 231, 109, 110, 108, 92, 85, 229, - 83, 83, 6, 83, 83, 83, 83, 11, 83, 12, - 83, 14, 83, 15, 83, 16, 83, 83, 18, 83, - 83, 83, 83, 83, 83, 28, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 41, 83, 43, 83, 83, + 238, 123, 237, 238, 237, 238, 117, 237, 238, 117, + 237, 238, 117, 237, 238, 117, 237, 238, 117, 237, + 238, 113, 237, 238, 102, 237, 238, 100, 237, 238, + 101, 237, 238, 103, 237, 238, 114, 232, 226, 227, + 229, 96, 98, 99, 97, 203, 202, 203, 228, 230, + 233, 230, 233, 233, 225, 228, 230, 233, 225, 228, + 230, 233, 109, 110, 108, 92, 85, 231, 83, 83, + 6, 83, 83, 83, 83, 11, 83, 12, 83, 14, + 83, 15, 83, 16, 83, 83, 18, 83, 83, 83, + 83, 83, 83, 28, 83, 83, 83, 83, 83, 83, - 83, 47, 83, 83, 25, 83, 49, 83, 83, 83, - 83, 54, 83, 83, 56, 83, 83, 83, 83, 83, - 83, 83, 83, 71, 83, 83, 83, 83, 70, 83, - 83, 19, 83, 83, 78, 83, 79, 83, 83, 83, - 95, 95, 114, 118, 223, 226, 228, 231, 8394, 199, - 231, 189, 199, 231, 199, 190, 199, 231, 191, 199, - 231, 192, 199, 193, 199, 196, 199, 199, 229, 145, - 150, 152, 153, 154, 155, 146, 144, 149, 151, 231, - 231, 128, 122, 129, 130, 131, 132, 133, 134, 135, - 123, 234, 117, 117, 117, 113, 201, 200, 201, 226, + 83, 83, 83, 41, 83, 43, 83, 83, 83, 47, + 83, 83, 25, 83, 49, 83, 83, 83, 83, 54, + 83, 83, 56, 83, 83, 83, 83, 83, 83, 83, + 83, 71, 83, 83, 83, 83, 70, 83, 83, 19, + 83, 83, 78, 83, 79, 83, 83, 83, 95, 95, + 114, 118, 225, 228, 230, 233, 8396, 201, 233, 191, + 201, 233, 201, 192, 201, 233, 193, 201, 233, 194, + 201, 195, 201, 198, 201, 201, 231, 147, 152, 154, + 155, 156, 157, 148, 146, 151, 153, 233, 233, 130, + 124, 131, 132, 133, 134, 135, 136, 137, 125, 236, - 228, 231, 228, 231, 231, 223, 226, 228, 231, 111, - 112, 86, 116, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 23, 83, 27, 83, 83, - 29, 83, 25, 83, 83, 83, 83, 83, 35, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 48, 83, - 83, 83, 83, 83, 83, 83, 58, 83, 83, 60, - 83, 61, 83, 83, 83, 68, 83, 83, 83, 74, - 83, 73, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 199, 231, 199, 194, 199, 195, 199, - 197, 199, 198, 199, 156, 162, 163, 164, 165, 166, + 117, 117, 117, 113, 203, 202, 203, 228, 230, 233, + 230, 233, 233, 225, 228, 230, 233, 111, 112, 86, + 116, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 23, 83, 27, 83, 83, 29, 83, + 25, 83, 83, 83, 83, 83, 35, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 48, 83, 83, 83, + 83, 83, 83, 83, 58, 83, 83, 60, 83, 61, + 83, 83, 83, 68, 83, 83, 83, 74, 83, 73, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 201, 233, 201, 196, 201, 197, 201, 199, 201, - 167, 168, 157, 142, 126, 124, 125, 136, 137, 138, - 139, 140, 141, 143, 226, 228, 231, 228, 231, 231, - 223, 226, 228, 231, 90, 88, 83, 83, 83, 83, - 10, 83, 83, 83, 83, 83, 83, 24, 83, 83, - 83, 22, 83, 83, 83, 83, 83, 83, 32, 83, - 83, 34, 83, 83, 36, 83, 37, 83, 38, 83, - 39, 83, 83, 83, 45, 83, 46, 83, 83, 83, - 83, 83, 51, 83, 83, 53, 83, 55, 83, 83, - 83, 59, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 69, 83, 83, 83, 83, 83, 75, 83, + 200, 201, 158, 164, 165, 166, 167, 168, 169, 170, + 159, 144, 128, 126, 127, 138, 139, 140, 141, 142, + 143, 145, 228, 230, 233, 230, 233, 233, 225, 228, + 230, 233, 90, 88, 83, 83, 83, 83, 10, 83, + 83, 83, 83, 83, 83, 24, 83, 83, 83, 22, + 83, 83, 83, 83, 83, 83, 32, 83, 83, 34, + 83, 83, 36, 83, 37, 83, 38, 83, 39, 83, + 83, 83, 45, 83, 46, 83, 83, 83, 83, 83, + 51, 83, 83, 53, 83, 55, 83, 83, 83, 59, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 76, 83, 83, 83, 83, 83, 83, 83, 199, 231, - 199, 175, 160, 158, 159, 169, 170, 171, 172, 173, - 174, 176, 127, 226, 228, 231, 228, 231, 231, 223, - 226, 228, 231, 91, 89, 83, 83, 83, 83, 83, - 11, 83, 83, 13, 83, 14, 83, 83, 83, 83, + 69, 83, 83, 83, 83, 83, 75, 83, 76, 83, + 83, 83, 83, 83, 83, 83, 201, 233, 201, 177, + 162, 160, 161, 171, 172, 173, 174, 175, 176, 178, + 129, 228, 230, 233, 230, 233, 233, 225, 228, 230, + 233, 91, 89, 83, 83, 83, 83, 83, 11, 83, + 83, 13, 83, 14, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 52, 83, 83, 57, - 83, 60, 83, 83, 83, 63, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 72, 83, 83, 83, 83, - 83, 78, 83, 83, 79, 83, 81, 83, 83, 185, + 83, 83, 83, 83, 52, 83, 83, 57, 83, 60, + 83, 83, 83, 63, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 72, 83, 83, 83, 83, 83, 78, - 161, 226, 228, 231, 228, 231, 231, 223, 226, 228, - 231, 87, 83, 7, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 27, 83, 30, 83, 29, 83, - 83, 26, 83, 33, 83, 35, 83, 42, 83, 44, - 83, 83, 83, 83, 83, 83, 50, 83, 83, 61, - 83, 83, 64, 83, 83, 83, 83, 65, 83, 68, - 83, 83, 83, 71, 83, 83, 74, 83, 83, 83, - 80, 83, 83, 181, 188, 186, 226, 228, 231, 228, - 231, 231, 223, 226, 228, 231, 83, 83, 83, 83, - 83, 83, 83, 20, 83, 21, 83, 83, 83, 83, + 83, 83, 79, 83, 81, 83, 83, 187, 163, 228, + 230, 233, 230, 233, 233, 225, 228, 230, 233, 87, + 83, 7, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 27, 83, 30, 83, 29, 83, 83, 26, + 83, 33, 83, 35, 83, 42, 83, 44, 83, 83, + 83, 83, 83, 83, 50, 83, 83, 61, 83, 83, + 64, 83, 83, 83, 83, 65, 83, 68, 83, 83, + 83, 71, 83, 83, 74, 83, 83, 83, 80, 83, + 83, 183, 190, 188, 228, 230, 233, 230, 233, 233, + 225, 228, 230, 233, 83, 83, 83, 83, 83, 83, - 31, 83, 83, 83, 49, 83, 83, 83, 83, 83, - 83, 66, 83, 83, 67, 83, 83, 83, 83, 83, - 83, 83, 82, 83, 187, 222, 226, 228, 231, 222, - 228, 231, 222, 231, 222, 223, 226, 228, 231, 83, - 9, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 56, 83, 83, 83, - 83, 83, 83, 83, 83, 77, 83, 184, 226, 228, - 231, 228, 231, 231, 223, 226, 228, 231, 6, 83, - 8, 83, 15, 83, 83, 83, 83, 22, 83, 83, - 83, 83, 83, 83, 83, 52, 83, 54, 83, 62, + 83, 20, 83, 21, 83, 83, 83, 83, 31, 83, + 83, 83, 49, 83, 83, 83, 83, 83, 83, 66, + 83, 83, 67, 83, 83, 83, 83, 83, 83, 83, + 82, 83, 189, 224, 228, 230, 233, 224, 230, 233, + 224, 233, 224, 225, 228, 230, 233, 83, 9, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 56, 83, 83, 83, 83, 83, + 83, 83, 83, 77, 83, 186, 228, 230, 233, 230, + 233, 233, 225, 228, 230, 233, 6, 83, 8, 83, + 15, 83, 83, 83, 83, 22, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 19, 83, 183, - 182, 12, 83, 83, 17, 83, 24, 83, 83, 83, - 83, 50, 83, 51, 83, 83, 83, 83, 83, 72, - 83, 83, 16, 83, 83, 47, 83, 83, 64, 83, - 65, 83, 70, 83, 83, 73, 83, 28, 83, 83, - 83, 83, 83, 66, 83, 67, 83 + 83, 83, 83, 52, 83, 54, 83, 62, 83, 83, + 83, 83, 83, 83, 83, 19, 83, 185, 184, 12, + 83, 83, 17, 83, 24, 83, 83, 83, 83, 50, + 83, 51, 83, 83, 83, 83, 83, 72, 83, 83, + 16, 83, 83, 47, 83, 83, 64, 83, 65, 83, + 70, 83, 83, 73, 83, 28, 83, 83, 83, 83, + 83, 66, 83, 67, 83 } ; -static yyconst flex_int16_t yy_accept[742] = +static yyconst flex_int16_t yy_accept[744] = { 0, 1, 3, 5, 6, 7, 8, 9, 11, 13, 14, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, @@ -516,74 +526,74 @@ 286, 289, 292, 296, 300, 304, 308, 312, 315, 317, 320, 322, 325, 328, 331, 334, 337, 340, 343, 345, 347, 350, 353, 355, 358, 361, 364, 367, 370, 372, - 376, 379, 382, 385, 387, 389, 391, 394, 397, 399, - 402, 405, 408, 411, 414, 417, 420, 423, 426, 429, - 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, - 441, 444, 446, 447, 451, 455, 456, 457, 458, 458, - 459, 459, 459, 460, 460, 460, 460, 461, 461, 462, - 463, 465, 466, 467, 468, 470, 472, 474, 476, 478, - 479, 481, 482, 483, 484, 485, 486, 488, 489, 490, + 376, 380, 384, 387, 390, 393, 395, 397, 399, 402, + 405, 407, 410, 413, 416, 419, 422, 425, 428, 431, + 434, 437, 438, 439, 440, 441, 442, 443, 444, 445, + 446, 447, 449, 452, 454, 455, 459, 463, 464, 465, + 466, 466, 467, 467, 467, 468, 468, 468, 468, 469, + 469, 470, 471, 473, 474, 475, 476, 478, 480, 482, + 484, 486, 487, 489, 490, 491, 492, 493, 494, 496, - 491, 492, 493, 494, 495, 496, 498, 500, 501, 502, - 504, 505, 507, 509, 510, 511, 512, 514, 515, 517, - 518, 519, 520, 521, 522, 523, 524, 526, 527, 528, - 529, 531, 532, 534, 535, 537, 539, 540, 541, 542, - 544, 545, 549, 549, 550, 552, 555, 556, 559, 562, - 564, 566, 568, 570, 571, 572, 573, 574, 574, 574, - 574, 574, 574, 575, 576, 577, 578, 579, 580, 581, - 582, 582, 582, 583, 583, 584, 584, 585, 586, 587, - 588, 589, 590, 591, 592, 592, 593, 594, 595, 596, - 597, 598, 600, 603, 605, 606, 610, 611, 612, 612, + 497, 498, 499, 500, 501, 502, 503, 504, 506, 508, + 509, 510, 512, 513, 515, 517, 518, 519, 520, 522, + 523, 525, 526, 527, 528, 529, 530, 531, 532, 534, + 535, 536, 537, 539, 540, 542, 543, 545, 547, 548, + 549, 550, 552, 553, 557, 557, 558, 560, 563, 564, + 567, 570, 572, 574, 576, 578, 579, 580, 581, 582, + 582, 582, 582, 582, 582, 583, 584, 585, 586, 587, + 588, 589, 590, 590, 590, 591, 591, 592, 592, 593, + 594, 595, 596, 597, 598, 599, 600, 600, 601, 602, + 603, 604, 605, 606, 608, 611, 613, 614, 618, 619, - 612, 613, 613, 613, 613, 614, 615, 616, 617, 618, - 619, 620, 621, 622, 623, 624, 625, 626, 628, 630, - 631, 633, 635, 636, 637, 638, 639, 641, 642, 643, - 644, 645, 646, 647, 648, 649, 651, 652, 653, 654, - 655, 656, 657, 659, 660, 662, 664, 665, 666, 668, - 669, 670, 672, 674, 675, 676, 677, 678, 679, 680, - 681, 682, 683, 684, 684, 686, 687, 689, 691, 693, - 695, 695, 695, 695, 695, 695, 696, 696, 697, 698, - 699, 700, 701, 702, 703, 704, 704, 705, 706, 707, - 707, 708, 709, 710, 711, 712, 713, 714, 715, 718, + 620, 620, 620, 621, 621, 621, 621, 622, 623, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 636, 638, 639, 641, 643, 644, 645, 646, 647, 649, + 650, 651, 652, 653, 654, 655, 656, 657, 659, 660, + 661, 662, 663, 664, 665, 667, 668, 670, 672, 673, + 674, 676, 677, 678, 680, 682, 683, 684, 685, 686, + 687, 688, 689, 690, 691, 692, 692, 694, 695, 697, + 699, 701, 703, 703, 703, 703, 703, 703, 704, 704, + 705, 706, 707, 708, 709, 710, 711, 712, 712, 713, + 714, 715, 715, 716, 717, 718, 719, 720, 721, 722, - 720, 721, 725, 726, 727, 727, 727, 727, 728, 729, - 730, 731, 733, 734, 735, 736, 737, 738, 740, 741, - 742, 744, 745, 746, 747, 748, 749, 751, 752, 754, - 755, 757, 759, 761, 763, 764, 765, 767, 769, 770, - 771, 772, 773, 775, 776, 778, 780, 781, 782, 784, - 785, 786, 787, 788, 789, 790, 791, 792, 793, 795, - 796, 797, 798, 799, 801, 803, 804, 805, 806, 807, - 808, 809, 809, 809, 809, 811, 812, 813, 814, 815, - 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, - 827, 829, 830, 834, 835, 836, 836, 837, 838, 839, + 723, 726, 728, 729, 733, 734, 735, 735, 735, 735, + 736, 737, 738, 739, 741, 742, 743, 744, 745, 746, + 748, 749, 750, 752, 753, 754, 755, 756, 757, 759, + 760, 762, 763, 765, 767, 769, 771, 772, 773, 775, + 777, 778, 779, 780, 781, 783, 784, 786, 788, 789, + 790, 792, 793, 794, 795, 796, 797, 798, 799, 800, + 801, 803, 804, 805, 806, 807, 809, 811, 812, 813, + 814, 815, 816, 817, 817, 817, 817, 819, 820, 821, + 822, 823, 823, 824, 825, 826, 827, 828, 829, 830, + 831, 832, 835, 837, 838, 842, 843, 844, 844, 845, - 840, 841, 843, 844, 846, 848, 849, 850, 851, 852, - 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, - 863, 864, 865, 866, 867, 869, 870, 872, 874, 875, - 876, 878, 879, 880, 881, 882, 883, 884, 885, 886, - 888, 889, 890, 891, 892, 894, 895, 897, 899, 900, - 900, 901, 901, 901, 901, 902, 905, 907, 908, 912, - 913, 914, 916, 917, 918, 919, 920, 921, 922, 923, - 924, 925, 927, 929, 931, 932, 934, 936, 938, 940, - 942, 943, 944, 945, 946, 947, 949, 950, 952, 953, - 955, 956, 957, 958, 960, 962, 963, 964, 966, 967, + 846, 847, 848, 849, 851, 852, 854, 856, 857, 858, + 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, + 869, 870, 871, 872, 873, 874, 875, 877, 878, 880, + 882, 883, 884, 886, 887, 888, 889, 890, 891, 892, + 893, 894, 896, 897, 898, 899, 900, 902, 903, 905, + 907, 908, 908, 909, 909, 909, 909, 910, 913, 915, + 916, 920, 921, 922, 924, 925, 926, 927, 928, 929, + 930, 931, 932, 933, 935, 937, 939, 940, 942, 944, + 946, 948, 950, 951, 952, 953, 954, 955, 957, 958, + 960, 961, 963, 964, 965, 966, 968, 970, 971, 972, - 969, 970, 971, 973, 974, 974, 974, 975, 976, 977, - 977, 980, 982, 983, 987, 988, 989, 990, 991, 992, - 993, 994, 996, 998, 999, 1000, 1001, 1003, 1004, 1005, - 1007, 1008, 1009, 1010, 1011, 1012, 1014, 1015, 1017, 1018, - 1019, 1020, 1021, 1022, 1023, 1025, 1025, 1025, 1026, 1030, - 1033, 1035, 1040, 1041, 1043, 1044, 1045, 1046, 1047, 1048, - 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1059, - 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1068, 1069, 1069, - 1072, 1074, 1075, 1079, 1081, 1083, 1085, 1086, 1087, 1088, - 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1098, 1100, 1102, + 974, 975, 977, 978, 979, 981, 982, 982, 982, 983, + 984, 985, 985, 988, 990, 991, 995, 996, 997, 998, + 999, 1000, 1001, 1002, 1004, 1006, 1007, 1008, 1009, 1011, + 1012, 1013, 1015, 1016, 1017, 1018, 1019, 1020, 1022, 1023, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1033, 1033, 1033, + 1034, 1038, 1041, 1043, 1048, 1049, 1051, 1052, 1053, 1054, + 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, + 1065, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1076, + 1077, 1077, 1080, 1082, 1083, 1087, 1089, 1091, 1093, 1094, + 1095, 1096, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1106, - 1103, 1104, 1105, 1106, 1107, 1108, 1110, 1111, 1112, 1114, - 1115, 1117, 1119, 1120, 1121, 1122, 1124, 1126, 1127, 1128, - 1129, 1130, 1132, 1133, 1135, 1136, 1138, 1139, 1141, 1143, - 1145, 1146, 1148, 1150, 1151, 1152, 1153, 1154, 1156, 1158, - 1158 + 1108, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1118, 1119, + 1120, 1122, 1123, 1125, 1127, 1128, 1129, 1130, 1132, 1134, + 1135, 1136, 1137, 1138, 1140, 1141, 1143, 1144, 1146, 1147, + 1149, 1151, 1153, 1154, 1156, 1158, 1159, 1160, 1161, 1162, + 1164, 1166, 1166 } ; static yyconst flex_int32_t yy_ec[256] = @@ -631,183 +641,183 @@ 13, 13, 13, 13, 13, 13, 13, 1, 1 } ; -static yyconst flex_int16_t yy_base[769] = +static yyconst flex_int16_t yy_base[771] = { 0, 0, 0, 88, 93, 123, 0, 211, 216, 224, 229, 259, 0, 344, 0, 428, 0, 512, 596, 684, 773, - 862, 951, 433, 517, 743, 2524, 96, 2524, 2524, 0, - 86, 91, 344, 2524, 418, 1024, 88, 616, 699, 2524, - 2524, 627, 0, 654, 0, 36, 2524, 177, 173, 312, - 185, 176, 323, 321, 0, 2524, 2524, 2524, 2524, 516, - 511, 684, 433, 337, 182, 340, 444, 509, 0, 352, - 682, 772, 362, 515, 339, 638, 1059, 439, 355, 379, - 0, 383, 0, 2524, 0, 115, 2524, 0, 0, 0, - 0, 0, 2524, 2524, 2524, 645, 2524, 784, 217, 652, + 862, 951, 517, 601, 835, 2522, 96, 2522, 2522, 0, + 86, 91, 344, 2522, 418, 1024, 88, 451, 794, 2522, + 2522, 704, 0, 789, 0, 36, 2522, 177, 173, 312, + 185, 176, 323, 321, 0, 2522, 2522, 2522, 2522, 445, + 511, 512, 599, 337, 182, 340, 443, 691, 0, 352, + 603, 772, 362, 772, 339, 466, 1059, 517, 355, 373, + 0, 351, 0, 2522, 0, 115, 2522, 0, 0, 0, + 0, 0, 2522, 2522, 2522, 733, 2522, 817, 217, 786, - 2524, 2524, 1142, 1209, 407, 593, 419, 447, 1276, 403, - 518, 0, 0, 0, 444, 0, 2524, 2524, 643, 718, - 2524, 2524, 1270, 629, 612, 598, 2524, 2524, 535, 474, - 772, 481, 523, 639, 745, 553, 556, 597, 0, 0, - 219, 593, 591, 584, 0, 2524, 2524, 2524, 2524, 118, - 0, 222, 808, 862, 2524, 2524, 2524, 2524, 0, 215, - 1340, 836, 879, 517, 592, 2524, 2524, 2524, 548, 2524, - 643, 639, 2524, 603, 632, 679, 2524, 599, 0, 685, - 0, 676, 678, 776, 766, 685, 756, 0, 0, 764, - 0, 864, 862, 768, 865, 860, 0, 867, 880, 900, + 2522, 2522, 1142, 1209, 377, 597, 382, 419, 1276, 403, + 512, 0, 0, 0, 430, 0, 2522, 2522, 767, 886, + 2522, 2522, 1270, 733, 718, 708, 2522, 2522, 616, 447, + 0, 0, 522, 460, 521, 575, 861, 536, 545, 561, + 0, 0, 219, 642, 633, 616, 0, 2522, 2522, 2522, + 2522, 118, 0, 222, 894, 907, 2522, 2522, 2522, 2522, + 0, 215, 1340, 917, 951, 602, 641, 2522, 2522, 2522, + 465, 2522, 516, 584, 2522, 595, 602, 594, 2522, 622, + 0, 666, 0, 601, 620, 671, 632, 667, 672, 0, + 0, 668, 0, 695, 694, 688, 940, 713, 0, 697, - 871, 864, 874, 921, 922, 0, 0, 912, 920, 0, - 939, 0, 0, 929, 933, 921, 0, 929, 0, 953, - 946, 952, 948, 956, 1016, 940, 948, 944, 960, 969, - 0, 990, 0, 960, 990, 1018, 973, 1014, 0, 254, - 0, 233, 1075, 2524, 1405, 1470, 1130, 0, 0, 0, - 1041, 1065, 0, 2524, 2524, 1029, 2524, 1093, 1029, 1072, - 906, 1056, 2524, 1056, 2524, 2524, 2524, 2524, 1112, 1120, - 1121, 1119, 2524, 1123, 2524, 1099, 2524, 2524, 2524, 2524, - 2524, 2524, 2524, 2524, 1129, 0, 0, 532, 519, 0, - 0, 325, 1522, 1170, 1197, 359, 2524, 2524, 1159, 1159, + 727, 770, 749, 761, 770, 782, 784, 0, 0, 774, + 867, 0, 777, 0, 0, 874, 935, 866, 0, 929, + 0, 954, 947, 953, 949, 959, 1016, 943, 948, 943, + 956, 965, 0, 1027, 0, 956, 972, 1001, 955, 987, + 0, 254, 0, 233, 1075, 2522, 1405, 1470, 1130, 0, + 0, 0, 1010, 1065, 0, 2522, 2522, 1001, 2522, 1022, + 1059, 1072, 1164, 1062, 2522, 1056, 2522, 2522, 2522, 2522, + 1068, 1119, 1120, 1118, 2522, 1122, 2522, 880, 2522, 2522, + 2522, 2522, 2522, 2522, 2522, 2522, 1128, 0, 0, 582, + 549, 0, 0, 325, 1522, 1197, 1232, 359, 2522, 2522, - 2524, 1199, 1188, 1200, 530, 463, 1207, 1205, 1210, 1211, - 1222, 1208, 1205, 1208, 1210, 1264, 1220, 1222, 1253, 1272, - 1269, 0, 1280, 1235, 1280, 1264, 1270, 1278, 1276, 1276, - 1273, 1291, 1307, 1315, 1332, 1336, 1349, 1336, 1335, 1332, - 1328, 1340, 0, 1336, 1349, 1345, 1376, 1524, 1378, 1395, - 1396, 0, 0, 1380, 1399, 1400, 1401, 1400, 1410, 1397, - 1410, 1417, 1416, 481, 1601, 1493, 0, 0, 0, 0, - 1410, 1406, 1407, 1444, 1448, 2524, 1503, 2524, 2524, 2524, - 2524, 2524, 2524, 2524, 2524, 1454, 2524, 2524, 2524, 1456, - 2524, 2524, 2524, 2524, 2524, 2524, 2524, 2524, 1653, 1560, + 1092, 1138, 2522, 1155, 1144, 1156, 553, 493, 1203, 1191, + 1196, 1197, 1225, 1208, 1208, 1211, 1229, 1236, 1223, 1242, + 1248, 1253, 1264, 0, 1277, 1265, 1282, 1267, 1275, 1279, + 1277, 1277, 1286, 1293, 1308, 1292, 1331, 1401, 1347, 1336, + 1333, 1330, 1326, 1338, 0, 1333, 1345, 1342, 1349, 1524, + 1339, 1381, 1397, 0, 0, 1376, 1395, 1401, 1402, 1396, + 1400, 1398, 1396, 1418, 1417, 533, 1601, 1493, 0, 0, + 0, 0, 1411, 1407, 1447, 1445, 1449, 2522, 1099, 2522, + 2522, 2522, 2522, 2522, 2522, 2522, 2522, 1455, 2522, 2522, + 2522, 1457, 2522, 2522, 2522, 2522, 2522, 2522, 2522, 2522, - 1589, 443, 2524, 2524, 1449, 1465, 1521, 1522, 1527, 1523, - 1517, 0, 1536, 1527, 1557, 1578, 1578, 0, 1594, 1596, - 1589, 1590, 1581, 1615, 1616, 1647, 0, 1610, 0, 1605, - 0, 0, 0, 0, 1607, 1631, 0, 394, 1652, 1660, - 1647, 1642, 0, 1649, 0, 0, 1665, 1649, 0, 1646, - 1653, 1653, 1653, 1669, 1661, 1656, 1701, 1661, 390, 1676, - 1674, 387, 1689, 0, 1685, 1706, 1707, 1701, 1703, 1708, - 1715, 0, 420, 1763, 414, 405, 2524, 2524, 2524, 1715, - 2524, 2524, 2524, 2524, 2524, 2524, 2524, 2524, 2524, 1772, - 1795, 1803, 515, 2524, 2524, 1732, 1738, 1732, 1729, 1750, + 1653, 1560, 1589, 417, 2522, 2522, 1450, 1482, 1477, 1478, + 1488, 1521, 1514, 0, 1488, 1524, 1526, 1525, 1535, 0, + 1565, 1568, 1574, 1575, 1576, 1594, 1596, 1645, 0, 1589, + 0, 1602, 0, 0, 0, 0, 1603, 1601, 0, 477, + 1615, 1650, 1609, 1639, 0, 1646, 0, 0, 1663, 1643, + 0, 1643, 1650, 1650, 1650, 1666, 1658, 1653, 1674, 1659, + 447, 1673, 1673, 394, 1676, 0, 1670, 1696, 1698, 1693, + 1697, 1704, 1711, 0, 438, 1759, 445, 439, 2522, 2522, + 2522, 1711, 2522, 2522, 2522, 2522, 2522, 2522, 2522, 2522, + 2522, 1768, 1791, 1799, 443, 2522, 2522, 1728, 1734, 1728, - 1753, 0, 345, 0, 0, 1779, 1786, 1783, 1788, 1790, - 1805, 1803, 1807, 1802, 1796, 1811, 1798, 1814, 1814, 1812, - 1820, 1807, 1808, 1822, 0, 1830, 0, 0, 1828, 1814, - 0, 1815, 1837, 1826, 1825, 1833, 1841, 1847, 1843, 0, - 1852, 1842, 1867, 1850, 0, 1855, 0, 0, 1852, 0, - 392, 377, 369, 0, 2524, 1918, 1941, 1949, 599, 2524, - 1882, 0, 1885, 1887, 1888, 1936, 1909, 1912, 1939, 1937, - 1935, 291, 0, 0, 1942, 0, 0, 0, 0, 0, - 1955, 1952, 1942, 1942, 1953, 0, 1960, 0, 1959, 0, - 1961, 1963, 1964, 0, 0, 1969, 1966, 1955, 1971, 0, + 1723, 1719, 1722, 0, 379, 0, 0, 1775, 1780, 1777, + 1776, 1778, 1799, 1797, 1801, 1796, 1790, 1805, 1792, 1808, + 1808, 1808, 1814, 1801, 1800, 1822, 0, 1827, 0, 0, + 1825, 1799, 0, 1811, 1831, 1820, 1819, 1829, 1836, 1850, + 1837, 0, 1840, 1829, 1854, 1840, 0, 1847, 0, 0, + 1843, 0, 392, 377, 369, 0, 2522, 1913, 1936, 1944, + 484, 2522, 1863, 0, 1881, 1882, 1908, 1931, 1905, 1909, + 1935, 1932, 1847, 291, 0, 0, 1945, 0, 0, 0, + 0, 0, 1950, 1947, 1937, 1937, 1948, 0, 1955, 0, + 1954, 0, 1956, 1958, 1959, 0, 0, 1964, 1961, 1949, - 1957, 1960, 0, 1972, 243, 0, 2524, 2524, 2524, 230, - 2025, 2048, 2056, 778, 1985, 2017, 1979, 2019, 2018, 2035, - 2049, 0, 0, 2046, 2047, 2051, 0, 2062, 2047, 0, - 2066, 2067, 2050, 2060, 2054, 0, 2068, 0, 2073, 2058, - 2070, 2077, 2077, 2070, 0, 102, 0, 2524, 2127, 2150, - 2158, 827, 2083, 0, 2104, 2087, 2124, 2117, 2127, 2142, - 2145, 2163, 2160, 2152, 2146, 2154, 2154, 2166, 0, 2154, - 2167, 2170, 2162, 2163, 2174, 2172, 0, 0, 89, 0, - 0, 0, 916, 0, 0, 0, 2178, 2165, 2178, 0, - 2162, 2186, 2178, 2171, 2194, 2179, 0, 0, 0, 2202, + 1970, 0, 1953, 1956, 0, 1968, 243, 0, 2522, 2522, + 2522, 230, 2021, 2044, 2052, 518, 1987, 2013, 2001, 2017, + 2043, 2032, 2052, 0, 0, 2044, 2045, 2049, 0, 2060, + 2045, 0, 2064, 2065, 2048, 2058, 2052, 0, 2066, 0, + 2071, 2056, 2068, 2077, 2077, 2070, 0, 102, 0, 2522, + 2127, 2150, 2158, 599, 2081, 0, 2079, 2118, 2123, 2116, + 2129, 2142, 2145, 2163, 2160, 2152, 2146, 2154, 2154, 2166, + 0, 2154, 2167, 2170, 2162, 2163, 2174, 2172, 0, 0, + 89, 0, 0, 0, 778, 0, 0, 0, 2177, 2165, + 2177, 0, 2162, 2186, 2178, 2171, 2194, 2179, 0, 0, - 2205, 2204, 2198, 2201, 2210, 0, 2524, 2524, 0, 2218, - 0, 0, 2219, 2207, 2209, 0, 0, 2209, 2211, 2213, - 2215, 0, 2215, 0, 2223, 0, 2234, 0, 0, 0, - 2235, 0, 0, 2235, 2236, 2224, 2226, 0, 0, 2524, - 2306, 2320, 2334, 2348, 2362, 389, 2371, 2385, 2391, 2405, - 2419, 2432, 2445, 2451, 2457, 2463, 2469, 2480, 2487, 2497, - 1018, 2503, 1060, 2510, 1113, 1170, 1172, 1185 + 0, 2202, 2207, 2204, 2198, 2201, 2210, 0, 2522, 2522, + 0, 2218, 0, 0, 2219, 2207, 2209, 0, 0, 2209, + 2211, 2213, 2215, 0, 2215, 0, 2223, 0, 2234, 0, + 0, 0, 2235, 0, 0, 2234, 2235, 2223, 2224, 0, + 0, 2522, 2304, 2318, 2332, 2346, 2360, 389, 2369, 2383, + 2389, 2403, 2417, 2430, 2443, 2449, 2455, 2461, 2467, 2478, + 2485, 2495, 841, 2501, 930, 2508, 932, 997, 1060, 1113 } ; -static yyconst flex_int16_t yy_def[769] = +static yyconst flex_int16_t yy_def[771] = { 0, - 740, 1, 741, 741, 740, 5, 742, 742, 743, 743, - 740, 11, 1, 13, 13, 15, 13, 13, 744, 744, - 745, 745, 741, 741, 740, 740, 740, 740, 740, 746, - 740, 740, 740, 740, 747, 740, 36, 36, 38, 740, - 740, 36, 42, 42, 42, 42, 740, 740, 740, 740, - 740, 740, 740, 740, 748, 740, 740, 740, 740, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 740, 750, 750, 740, 750, 750, 751, - 751, 751, 740, 740, 740, 740, 740, 747, 36, 38, + 742, 1, 743, 743, 742, 5, 744, 744, 745, 745, + 742, 11, 1, 13, 13, 15, 13, 13, 746, 746, + 747, 747, 743, 743, 742, 742, 742, 742, 742, 748, + 742, 742, 742, 742, 749, 742, 36, 36, 38, 742, + 742, 36, 42, 42, 42, 42, 742, 742, 742, 742, + 742, 742, 742, 742, 750, 742, 742, 742, 742, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 742, 752, 752, 742, 752, 752, 753, + 753, 753, 742, 742, 742, 742, 742, 749, 36, 38, - 740, 740, 752, 752, 104, 104, 104, 104, 752, 109, - 109, 109, 109, 109, 109, 109, 740, 740, 740, 740, - 740, 740, 740, 740, 740, 740, 740, 740, 740, 42, - 42, 42, 42, 740, 740, 740, 740, 740, 753, 754, - 754, 754, 754, 754, 755, 740, 740, 740, 740, 740, - 746, 740, 740, 740, 740, 740, 740, 740, 756, 757, - 740, 161, 161, 161, 161, 740, 740, 740, 740, 740, - 740, 740, 740, 740, 740, 740, 740, 748, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, + 742, 742, 754, 754, 104, 104, 104, 104, 754, 109, + 109, 109, 109, 109, 109, 109, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 42, + 42, 42, 42, 42, 42, 742, 742, 742, 742, 742, + 755, 756, 756, 756, 756, 756, 757, 742, 742, 742, + 742, 742, 748, 742, 742, 742, 742, 742, 742, 742, + 758, 759, 742, 163, 163, 163, 163, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 750, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 750, 750, - 751, 161, 740, 740, 758, 758, 758, 246, 246, 247, - 247, 247, 247, 740, 740, 740, 740, 740, 740, 740, - 740, 740, 740, 740, 740, 740, 740, 740, 163, 163, - 740, 740, 740, 740, 740, 740, 740, 740, 740, 740, - 740, 740, 740, 740, 740, 753, 754, 754, 754, 755, - 756, 757, 740, 293, 293, 293, 740, 740, 740, 740, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 752, 752, 753, 163, 742, 742, 760, 760, 760, 248, + 248, 249, 249, 249, 249, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 165, 165, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 755, 756, 756, + 756, 757, 758, 759, 742, 295, 295, 295, 742, 742, - 740, 740, 740, 740, 748, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 759, 760, 760, 366, 366, 366, 366, - 740, 740, 740, 740, 740, 740, 740, 740, 740, 740, - 740, 740, 740, 740, 740, 740, 740, 740, 740, 740, - 740, 740, 740, 740, 740, 740, 740, 740, 740, 399, + 742, 742, 742, 742, 742, 742, 750, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 761, 762, 762, 368, 368, + 368, 368, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, - 399, 399, 740, 740, 740, 740, 740, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 761, 762, 740, 401, 740, 740, 740, 740, 740, - 740, 740, 740, 740, 740, 740, 740, 740, 740, 740, - 490, 490, 490, 740, 740, 740, 749, 749, 749, 749, + 742, 401, 401, 401, 742, 742, 742, 742, 742, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 763, 764, 742, 403, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 492, 492, 492, 742, 742, 742, 751, 751, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 763, - 764, 740, 740, 765, 740, 740, 556, 556, 556, 740, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 765, 766, 742, 742, 767, 742, 742, 558, 558, + 558, 742, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 749, 749, 749, 749, 740, 766, 740, 740, 740, 740, - 740, 611, 611, 611, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 740, 767, 740, 740, 649, - 649, 649, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 768, 740, 649, - 650, 651, 649, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, + 751, 751, 751, 751, 751, 751, 742, 768, 742, 742, + 742, 742, 742, 613, 613, 613, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 742, 769, 742, + 742, 651, 651, 651, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 770, + 742, 651, 652, 653, 651, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, - 749, 749, 749, 749, 749, 749, 740, 740, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 749, - 749, 749, 749, 749, 749, 749, 749, 749, 749, 0, - 740, 740, 740, 740, 740, 740, 740, 740, 740, 740, - 740, 740, 740, 740, 740, 740, 740, 740, 740, 740, - 740, 740, 740, 740, 740, 740, 740, 740 + 751, 751, 751, 751, 751, 751, 751, 751, 742, 742, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, + 751, 0, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 742, 742, 742, 742 } ; -static yyconst flex_int16_t yy_nxt[2614] = +static yyconst flex_int16_t yy_nxt[2612] = { 0, 26, 27, 28, 27, 26, 29, 26, 30, 31, 32, 26, 26, 33, 34, 26, 35, 36, 37, 36, 36, @@ -818,11 +828,11 @@ 26, 26, 42, 43, 44, 45, 46, 42, 26, 47, 48, 26, 49, 26, 26, 50, 26, 26, 51, 52, 53, 26, 26, 26, 54, 26, 26, 26, 26, 27, - 28, 27, 169, 55, 27, 28, 27, 150, 55, 150, + 28, 27, 171, 55, 27, 28, 27, 152, 55, 152, - 708, 34, 152, 152, 164, 165, 34, 153, 153, 153, - 153, 153, 153, 153, 153, 678, 240, 41, 240, 150, - 169, 150, 41, 26, 27, 28, 27, 26, 26, 26, + 710, 34, 154, 154, 166, 167, 34, 155, 155, 155, + 155, 155, 155, 155, 155, 680, 242, 41, 242, 152, + 171, 152, 41, 26, 27, 28, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26, 34, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 56, 26, 41, 57, 58, 59, 60, 61, 62, 63, @@ -832,11 +842,11 @@ 65, 66, 67, 68, 70, 71, 72, 73, 69, 74, 75, 76, 77, 78, 79, 69, 80, 81, 82, 83, - 26, 84, 86, 28, 86, 170, 87, 86, 28, 86, - 171, 87, 174, 201, 88, 27, 28, 27, 175, 88, - 27, 28, 27, 242, 242, 288, 289, 91, 152, 152, - 89, 291, 91, 648, 170, 89, 291, 291, 171, 296, - 296, 174, 201, 92, 646, 240, 175, 240, 92, 26, + 26, 84, 86, 28, 86, 172, 87, 86, 28, 86, + 173, 87, 176, 203, 88, 27, 28, 27, 177, 88, + 27, 28, 27, 244, 244, 290, 291, 91, 154, 154, + 89, 293, 91, 650, 172, 89, 293, 293, 173, 298, + 298, 176, 203, 92, 648, 242, 177, 242, 92, 26, 27, 28, 27, 26, 26, 93, 30, 31, 32, 94, 95, 96, 34, 97, 98, 36, 99, 36, 36, 36, 36, 36, 36, 100, 100, 101, 26, 102, 41, 26, @@ -847,259 +857,259 @@ 26, 103, 104, 105, 106, 107, 108, 109, 110, 111, 109, 112, 109, 109, 109, 109, 109, 109, 113, 109, 114, 109, 109, 115, 116, 109, 26, 26, 119, 26, - 172, 291, 626, 120, 121, 122, 291, 291, 173, 123, - 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 176, 26, 124, 125, 126, 402, 402, 177, 42, 172, - 42, 42, 609, 199, 26, 26, 173, 202, 26, 208, - 608, 26, 223, 200, 26, 26, 26, 151, 176, 218, + 174, 293, 628, 120, 121, 122, 293, 293, 175, 123, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 178, 26, 124, 125, 126, 404, 404, 179, 42, 174, + 42, 42, 611, 201, 26, 26, 175, 204, 26, 210, + 610, 26, 225, 202, 26, 26, 26, 153, 178, 220, - 151, 236, 606, 127, 128, 177, 566, 42, 554, 42, - 42, 199, 237, 26, 26, 202, 26, 554, 208, 26, - 223, 200, 26, 26, 26, 155, 156, 157, 218, 236, - 158, 129, 26, 551, 27, 28, 27, 32, 26, 26, - 238, 237, 245, 26, 159, 99, 34, 250, 541, 159, - 159, 538, 100, 100, 245, 520, 26, 41, 26, 493, - 493, 130, 41, 42, 131, 132, 133, 146, 238, 147, - 195, 245, 234, 148, 196, 250, 134, 197, 135, 136, - 149, 203, 245, 245, 137, 138, 198, 26, 26, 235, - 130, 472, 42, 131, 132, 133, 146, 204, 147, 195, + 153, 238, 608, 127, 128, 179, 239, 42, 240, 42, + 42, 201, 247, 26, 26, 204, 26, 247, 210, 26, + 225, 202, 26, 26, 26, 157, 158, 159, 220, 238, + 160, 129, 26, 495, 495, 239, 240, 32, 26, 26, + 568, 247, 556, 26, 161, 99, 247, 252, 556, 161, + 161, 553, 100, 100, 247, 543, 26, 41, 26, 561, + 561, 130, 131, 132, 133, 134, 135, 164, 164, 164, + 164, 164, 164, 164, 164, 252, 136, 168, 137, 138, + 205, 182, 271, 247, 139, 140, 255, 26, 26, 183, + 130, 131, 132, 133, 134, 135, 206, 184, 185, 226, - 253, 234, 148, 196, 134, 197, 135, 136, 149, 269, - 203, 245, 137, 138, 198, 26, 26, 235, 27, 28, - 27, 32, 26, 26, 408, 204, 272, 26, 253, 99, - 34, 559, 559, 296, 296, 305, 100, 100, 269, 139, - 26, 41, 26, 297, 184, 298, 41, 42, 205, 219, - 206, 146, 180, 147, 272, 185, 207, 148, 297, 220, - 181, 186, 187, 188, 149, 221, 189, 273, 182, 183, - 222, 26, 26, 184, 251, 252, 42, 205, 219, 206, - 146, 180, 147, 185, 207, 299, 148, 220, 181, 186, - 187, 188, 149, 221, 189, 273, 182, 183, 222, 26, + 616, 616, 301, 227, 136, 274, 137, 138, 540, 205, + 182, 271, 139, 140, 255, 26, 26, 183, 27, 28, + 27, 32, 26, 26, 206, 184, 185, 26, 226, 99, + 34, 301, 227, 274, 654, 654, 100, 100, 522, 141, + 26, 41, 26, 474, 186, 192, 41, 42, 193, 302, + 236, 148, 194, 149, 410, 187, 272, 150, 307, 195, + 196, 188, 189, 190, 151, 275, 191, 237, 253, 254, + 273, 26, 26, 186, 192, 300, 42, 193, 302, 236, + 148, 194, 149, 187, 286, 272, 150, 195, 196, 188, + 189, 190, 151, 275, 191, 237, 253, 254, 273, 26, - 26, 284, 251, 252, 305, 32, 26, 26, 296, 296, - 168, 26, 177, 99, 299, 614, 614, 167, 298, 166, - 100, 100, 268, 139, 26, 41, 26, 267, 245, 284, - 249, 42, 162, 162, 162, 162, 162, 162, 162, 162, - 177, 266, 166, 163, 163, 163, 163, 163, 163, 163, - 163, 163, 163, 285, 302, 26, 26, 245, 265, 249, - 42, 154, 154, 154, 154, 154, 154, 154, 154, 154, - 154, 224, 254, 274, 275, 225, 300, 301, 740, 303, - 168, 285, 302, 26, 26, 27, 28, 27, 26, 26, + 26, 179, 27, 28, 27, 32, 26, 26, 299, 276, + 277, 26, 286, 99, 34, 685, 685, 287, 298, 298, + 100, 100, 303, 141, 26, 41, 26, 307, 299, 179, + 41, 42, 247, 306, 251, 148, 197, 149, 276, 277, + 198, 150, 170, 199, 211, 287, 304, 212, 151, 305, + 213, 303, 200, 309, 214, 26, 26, 298, 298, 169, + 42, 247, 306, 251, 148, 197, 149, 300, 168, 198, + 150, 199, 310, 211, 304, 212, 151, 305, 213, 313, + 200, 309, 214, 26, 26, 27, 28, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26, 34, 26, 26, - 224, 141, 274, 275, 225, 300, 301, 303, 142, 143, - 26, 26, 26, 41, 26, 26, 26, 190, 304, 144, - 191, 306, 312, 209, 192, 167, 210, 255, 307, 211, - 308, 193, 194, 212, 153, 153, 153, 153, 153, 153, - 153, 153, 740, 26, 26, 740, 190, 304, 144, 191, - 306, 312, 209, 192, 210, 740, 307, 211, 308, 193, - 194, 212, 276, 740, 277, 278, 279, 280, 281, 282, - 283, 26, 26, 26, 27, 28, 27, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 34, 26, 26, 313, - 141, 740, 740, 740, 652, 652, 740, 142, 143, 26, + 310, 143, 308, 270, 314, 315, 311, 313, 144, 145, + 26, 26, 26, 41, 26, 26, 26, 312, 316, 146, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 207, 308, 208, 314, 315, 311, 317, 269, 209, 318, + 319, 320, 326, 26, 26, 312, 316, 268, 146, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 207, + 327, 208, 267, 324, 325, 317, 209, 318, 319, 320, + 326, 26, 26, 26, 27, 28, 27, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 34, 26, 26, 327, + 143, 324, 325, 330, 685, 685, 256, 144, 145, 26, - 26, 26, 41, 26, 26, 26, 270, 213, 144, 214, - 159, 309, 740, 311, 314, 159, 159, 215, 313, 216, - 271, 318, 310, 217, 153, 153, 153, 153, 153, 153, - 153, 153, 26, 26, 740, 270, 213, 144, 214, 740, - 309, 311, 314, 683, 683, 215, 740, 216, 271, 318, - 310, 217, 294, 294, 294, 294, 294, 294, 294, 294, + 26, 26, 41, 26, 26, 26, 221, 215, 146, 216, + 337, 328, 742, 331, 332, 170, 222, 217, 329, 218, + 169, 330, 223, 219, 742, 742, 742, 224, 333, 742, + 334, 335, 26, 26, 742, 221, 215, 146, 216, 337, + 328, 331, 332, 161, 222, 217, 329, 218, 161, 161, + 223, 219, 552, 552, 742, 224, 333, 742, 334, 335, 26, 26, 26, 27, 28, 27, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 34, 26, 26, 154, 154, - 154, 154, 154, 154, 154, 154, 154, 154, 26, 26, - 26, 41, 26, 26, 26, 295, 295, 295, 295, 295, + 26, 26, 26, 26, 26, 34, 26, 26, 278, 742, + 279, 280, 281, 282, 283, 284, 285, 742, 26, 26, + 26, 41, 26, 26, 26, 257, 394, 395, 396, 397, - 295, 295, 295, 295, 295, 315, 740, 316, 317, 319, - 322, 323, 324, 325, 740, 328, 329, 320, 330, 321, - 740, 26, 26, 377, 740, 378, 379, 380, 381, 382, - 383, 384, 683, 683, 315, 316, 317, 319, 322, 323, - 324, 326, 325, 328, 329, 320, 330, 321, 327, 26, + 398, 399, 155, 155, 155, 155, 155, 155, 155, 155, + 155, 155, 155, 155, 155, 155, 155, 155, 336, 338, + 341, 26, 26, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 296, 296, 296, 296, 296, 296, 296, + 296, 607, 607, 612, 612, 742, 336, 338, 341, 26, 26, 26, 27, 28, 27, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 34, 26, 26, 331, 332, 333, - 326, 334, 335, 740, 336, 339, 327, 26, 26, 26, - 41, 26, 26, 26, 337, 340, 341, 342, 343, 344, - 740, 338, 345, 740, 350, 331, 332, 333, 351, 334, + 26, 26, 26, 26, 34, 26, 26, 297, 297, 297, + 297, 297, 297, 297, 297, 297, 297, 26, 26, 26, + 41, 26, 26, 26, 321, 342, 339, 343, 344, 345, + 346, 742, 322, 340, 323, 347, 742, 352, 353, 354, - 352, 335, 336, 339, 353, 355, 740, 354, 358, 740, - 26, 26, 337, 340, 740, 341, 342, 343, 344, 338, - 740, 345, 350, 359, 740, 362, 351, 356, 352, 550, - 550, 740, 353, 740, 355, 354, 358, 357, 26, 26, - 161, 161, 161, 161, 161, 161, 161, 161, 162, 162, - 363, 346, 359, 362, 360, 347, 356, 163, 163, 163, - 163, 163, 163, 740, 371, 357, 740, 348, 349, 740, - 361, 605, 605, 740, 374, 740, 243, 244, 243, 363, - 346, 367, 740, 360, 347, 368, 163, 163, 163, 163, - 163, 163, 226, 371, 227, 348, 349, 228, 361, 229, + 355, 357, 742, 356, 360, 361, 742, 364, 649, 649, + 26, 26, 321, 342, 339, 742, 343, 344, 345, 346, + 322, 340, 323, 365, 347, 352, 353, 354, 355, 742, + 357, 356, 360, 742, 361, 364, 373, 362, 26, 26, + 163, 163, 163, 163, 163, 163, 163, 163, 164, 164, + 369, 348, 365, 363, 370, 349, 374, 165, 165, 165, + 165, 165, 165, 742, 358, 373, 362, 350, 351, 742, + 375, 681, 681, 742, 359, 742, 245, 246, 245, 369, + 348, 363, 370, 742, 349, 374, 165, 165, 165, 165, + 165, 165, 228, 358, 229, 350, 351, 230, 375, 231, - 230, 244, 374, 231, 385, 369, 375, 376, 740, 370, - 367, 232, 386, 368, 233, 392, 393, 394, 395, 396, - 397, 226, 740, 227, 610, 610, 228, 372, 229, 230, - 740, 231, 385, 364, 369, 375, 376, 370, 740, 232, - 386, 373, 233, 243, 244, 243, 740, 740, 740, 740, - 740, 740, 740, 740, 740, 740, 372, 387, 163, 163, - 163, 163, 163, 163, 163, 163, 163, 163, 244, 373, - 388, 389, 390, 391, 398, 245, 245, 245, 245, 245, - 246, 647, 647, 679, 679, 387, 400, 400, 400, 400, - 400, 400, 400, 400, 403, 404, 707, 707, 388, 389, + 232, 246, 359, 233, 376, 371, 377, 378, 742, 372, + 387, 234, 388, 389, 235, 484, 485, 486, 487, 488, + 489, 228, 742, 229, 709, 709, 230, 405, 231, 232, + 742, 233, 376, 366, 371, 377, 378, 372, 387, 234, + 388, 389, 235, 245, 246, 245, 742, 742, 742, 742, + 742, 742, 742, 742, 742, 742, 405, 742, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 246, 390, + 391, 392, 393, 400, 406, 247, 247, 247, 247, 247, + 248, 379, 742, 380, 381, 382, 383, 384, 385, 386, + 742, 742, 407, 742, 408, 409, 742, 390, 391, 392, - 390, 391, 398, 740, 245, 245, 245, 245, 245, 246, - 740, 740, 740, 401, 401, 401, 401, 401, 401, 401, - 401, 401, 401, 403, 404, 163, 163, 163, 163, 163, - 163, 163, 163, 163, 163, 740, 405, 740, 406, 407, - 409, 415, 245, 245, 248, 245, 245, 245, 740, 740, - 740, 740, 410, 411, 412, 413, 421, 414, 740, 416, - 417, 418, 422, 740, 740, 405, 406, 740, 407, 409, - 415, 245, 245, 248, 245, 245, 245, 740, 740, 740, - 410, 411, 412, 427, 413, 421, 414, 416, 417, 418, - 423, 422, 740, 740, 740, 740, 740, 740, 740, 740, + 393, 400, 742, 406, 247, 247, 247, 247, 247, 248, + 742, 742, 742, 402, 402, 402, 402, 402, 402, 402, + 402, 407, 408, 742, 409, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 742, 411, 742, 412, 413, + 414, 417, 247, 247, 250, 247, 247, ... [truncated message content] |
From: <gp...@us...> - 2013-06-20 02:19:47
|
Revision: 27448 http://sourceforge.net/p/vice-emu/code/27448 Author: gpz Date: 2013-06-20 02:19:42 +0000 (Thu, 20 Jun 2013) Log Message: ----------- always switch to CPU bank for disassembly triggered by break- or watchpoints or single stepping. fixed bug #431 Modified Paths: -------------- trunk/vice/src/monitor/mon_breakpoint.c trunk/vice/src/monitor/monitor.c Modified: trunk/vice/src/monitor/mon_breakpoint.c =================================================================== --- trunk/vice/src/monitor/mon_breakpoint.c 2013-06-20 01:01:52 UTC (rev 27447) +++ trunk/vice/src/monitor/mon_breakpoint.c 2013-06-20 02:19:42 UTC (rev 27448) @@ -390,6 +390,7 @@ char is_loadstore = 0; const char *op_str; const char *action_str; + int monbank = mon_interfaces[mem]->current_bank; monitor_cpu = monitor_cpu_for_memspace[mem]; instpc = new_addr(mem, (monitor_cpu->mon_register_get_val)(mem, e_PC)); @@ -458,13 +459,14 @@ } else { mon_out("\n"); } - + mon_interfaces[mem]->current_bank = 0; /* always disassemble using CPU bank */ if (is_loadstore) { mon_disassemble_with_regdump(mem, loadstorepc); } if (!is_loadstore || cp->stop) { mon_disassemble_with_regdump(mem, instpc); } + mon_interfaces[mem]->current_bank = monbank; /* restore value used in monitor */ if (cp->command) { mon_out("Executing: %s\n", cp->command); Modified: trunk/vice/src/monitor/monitor.c =================================================================== --- trunk/vice/src/monitor/monitor.c 2013-06-20 01:01:52 UTC (rev 27447) +++ trunk/vice/src/monitor/monitor.c 2013-06-20 02:19:42 UTC (rev 27448) @@ -2369,9 +2369,12 @@ int mem = monitor_diskspace_mem(dnr); dot_addr[mem] = new_addr(mem, ((WORD)((monitor_cpu_for_memspace[mem]->mon_register_get_val)(mem, e_PC)))); } - + /* disassemble at monitor entry, for single stepping */ if (disassemble_on_entry) { + int monbank = mon_interfaces[default_memspace]->current_bank; + mon_interfaces[default_memspace]->current_bank = 0; /* always disassemble using CPU bank */ mon_disassemble_with_regdump(default_memspace, dot_addr[default_memspace]); + mon_interfaces[default_memspace]->current_bank = monbank; /* restore value used in monitor */ disassemble_on_entry = 0; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2013-07-27 15:23:09
|
Revision: 27639 http://sourceforge.net/p/vice-emu/code/27639 Author: gpz Date: 2013-07-27 15:23:05 +0000 (Sat, 27 Jul 2013) Log Message: ----------- OS2 -> __OS2__ Modified Paths: -------------- trunk/vice/src/monitor/mon_command.c trunk/vice/src/monitor/monitor.c Modified: trunk/vice/src/monitor/mon_command.c =================================================================== --- trunk/vice/src/monitor/mon_command.c 2013-07-27 15:05:14 UTC (rev 27638) +++ trunk/vice/src/monitor/mon_command.c 2013-07-27 15:23:05 UTC (rev 27639) @@ -444,7 +444,7 @@ USE_PARAM_STRING, USE_DESCRIPTION_ID, NULL, 0, { IDGS_UNUSED, IDGS_UNUSED, IDGS_UNUSED, IDGS_UNUSED }, -#ifdef OS2 +#ifdef __OS2__ IDGS_MON_EXIT_DESCRIPTION, #else IDGS_MON_QUIT_DESCRIPTION, Modified: trunk/vice/src/monitor/monitor.c =================================================================== --- trunk/vice/src/monitor/monitor.c 2013-07-27 15:05:14 UTC (rev 27638) +++ trunk/vice/src/monitor/monitor.c 2013-07-27 15:23:05 UTC (rev 27639) @@ -629,7 +629,7 @@ So I decided to skip this (I think it's unnecessary for OS/2 */ void mon_quit(void) { -#ifdef OS2 +#ifdef __OS2__ /* same as "quit" */ exit_mon = 1; #else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gp...@us...> - 2013-08-11 12:48:16
|
Revision: 27718 http://sourceforge.net/p/vice-emu/code/27718 Author: gpz Date: 2013-08-11 12:48:12 +0000 (Sun, 11 Aug 2013) Log Message: ----------- remote monitor command stream bugfix, patch by uffe jakobsen Modified Paths: -------------- trunk/vice/src/monitor/mon_util.c trunk/vice/src/monitor/monitor.c trunk/vice/src/monitor/monitor_network.c Modified: trunk/vice/src/monitor/mon_util.c =================================================================== --- trunk/vice/src/monitor/mon_util.c 2013-08-11 00:26:45 UTC (rev 27717) +++ trunk/vice/src/monitor/mon_util.c 2013-08-11 12:48:12 UTC (rev 27718) @@ -246,8 +246,7 @@ { pchCommandLine = command; - uimon_out(command); - uimon_out("\n"); + mon_out("%s\n", command); if (pAfter) { (*pAfter)(); @@ -263,11 +262,14 @@ #ifdef HAVE_NETWORK if (monitor_is_remote()) { - monitor_network_transmit(prompt, strlen(prompt)); + if (monitor_network_transmit(prompt, strlen(prompt)) < 0) { + return NULL; + } p = monitor_network_get_command_line(); if (p == NULL) { mon_set_command(NULL, "x", NULL); + return NULL; } } else { #endif Modified: trunk/vice/src/monitor/monitor.c =================================================================== --- trunk/vice/src/monitor/monitor.c 2013-08-11 00:26:45 UTC (rev 27717) +++ trunk/vice/src/monitor/monitor.c 2013-08-11 12:48:12 UTC (rev 27718) @@ -2432,7 +2432,9 @@ inside_monitor = FALSE; vsync_suspend_speed_eval(); - exit_mon--; + if (exit_mon) { + exit_mon--; + } if (check && exit_mon) { if (!monitor_is_remote()) { @@ -2443,6 +2445,8 @@ exit_mon = 0; + last_cmd = NULL; + if (monitor_is_remote()) { signals_pipe_unset(); } @@ -2472,6 +2476,7 @@ void monitor_startup(MEMSPACE mem) { char prompt[40]; + char *p; if (mem != e_default_space) { default_memspace = mem; @@ -2480,7 +2485,17 @@ monitor_open(); while (!exit_mon) { make_prompt(prompt); - monitor_process(uimon_in(prompt)); + p = uimon_in(prompt); + if (p) { + exit_mon = monitor_process(p); + } else { + exit_mon = 1; + } + + if (exit_mon) { + mon_out("exit\n"); + break; + } } monitor_close(1); } Modified: trunk/vice/src/monitor/monitor_network.c =================================================================== --- trunk/vice/src/monitor/monitor_network.c 2013-08-11 00:26:45 UTC (rev 27717) +++ trunk/vice/src/monitor/monitor_network.c 2013-08-11 12:48:12 UTC (rev 27718) @@ -67,7 +67,9 @@ size_t len = vice_network_send(connected_socket, buffer, buffer_length, 0); if (len != buffer_length) { - error = 1; + error = -1; + } else { + error = len; } } @@ -324,19 +326,22 @@ char * p = NULL; do { - int n = monitor_network_receive(buffer + bufferpos, sizeof buffer - bufferpos - 1); + /* Do not read more from network until all commands in current buffer is fully processed */ + if (bufferpos == 0) { + int n = monitor_network_receive(buffer + bufferpos, sizeof buffer - bufferpos - 1); - if (n > 0) { - bufferpos += n; - } else if (n <= 0) { - monitor_network_quit(); - break; - } + if (n > 0) { + bufferpos += n; + } else if (n <= 0) { + monitor_network_quit(); + break; + } - /* check if we got a binary command */ - if (bufferpos == n) { - if (buffer[0] == ASC_STX) { - monitor_binary_input = 1; + /* check if we got a binary command */ + if (bufferpos == n) { + if (buffer[0] == ASC_STX) { + monitor_binary_input = 1; + } } } @@ -349,11 +354,17 @@ monitor_network_process_binary_command((unsigned char*)buffer, sizeof buffer, &bufferpos, command_length); monitor_binary_input = 0; } + } else { + bufferpos = 0; } + monitor_binary_input = 0; } else { p = monitor_network_extract_text_command_line(buffer, sizeof buffer, &bufferpos); if (p) { break; + } else { + /* if no cmd was returned - reset buffer to start and fetch new cmd. */ + bufferpos = 0; } } @@ -564,7 +575,7 @@ lib_free(txt); - return UI_JAM_HARD_RESET; + return UI_JAM_MONITOR; } #else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |