# New Ticket Created by Jerome Quelin # Please include the string: [perl #19671] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=19671 >
The previous befunge patch enabled befunge to set breakpoints, this one allows one to clear those breakpoints (thanks to Leo who fixed the PerlHash vtable). Jerome -- [EMAIL PROTECTED] -- attachment 1 ------------------------------------------------------ url: http://rt.perl.org/rt2/attach/46731/36719/ffd307/befunge_debugger_clear_breakpoints.patch
? befunge.pbc Index: Changes =================================================================== RCS file: /cvs/public/parrot/languages/befunge/Changes,v retrieving revision 1.6 diff -u -d -r1.6 Changes --- Changes 30 Dec 2002 20:55:44 -0000 1.6 +++ Changes 2 Jan 2003 16:53:13 -0000 @@ -1,5 +1,9 @@ Revision history for a Befunge interpreter written for Parrot. +0.1.2 Thu Jan 2 17:50:25 CET 2003 + - new debugger instruction: "delete", that allows to clear + breakpoints (those created by the "break" instruction) + 0.1.1 Mon Dec 30 18:12:34 CET 2002 - debugger now accepts breakpoints: either on instructions (characters), or on a specified location (x,y), or on a Index: README =================================================================== RCS file: /cvs/public/parrot/languages/befunge/README,v retrieving revision 1.8 diff -u -d -r1.8 README --- README 30 Dec 2002 20:55:44 -0000 1.8 +++ README 2 Jan 2003 16:53:13 -0000 @@ -1,6 +1,6 @@ DESCRIPTION ----------- -This is a Befunge interpreter written in Parrot assembler, version 0.1.1 +This is a Befunge interpreter written in Parrot assembler, version 0.1.2 This interpreter should be Befunge-93 compliant. This means the playfield is limited to 80x25. This should also mean that the torus Index: debug.pasm =================================================================== RCS file: /cvs/public/parrot/languages/befunge/debug.pasm,v retrieving revision 1.4 diff -u -d -r1.4 debug.pasm --- debug.pasm 30 Dec 2002 20:55:44 -0000 1.4 +++ debug.pasm 2 Jan 2003 16:53:13 -0000 @@ -84,6 +84,7 @@ substr S11, S10, 0, 5 eq S11, "break", DEBUG_INTERACT_BREAK substr S11, S10, 0, 6 + eq S11, "delete", DEBUG_INTERACT_DELETE eq S11, "status", DEBUG_INTERACT_STATUS substr S11, S10, 0, 7 eq S11, "restart", DEBUG_INTERACT_RESTART @@ -101,6 +102,13 @@ DEBUG_INTERACT_CONTINUE: set P3[0], 0 # do not stop at next instruction branch DEBUG_INTERACT_END +DEBUG_INTERACT_DELETE: + substr S11, S10, 0, 7, "" + pushp + set P4, P3[1] + delete P4[S10] + popp + branch DEBUG_INTERACT DEBUG_INTERACT_DUMP: bsr DEBUG_DUMP_PLAYFIELD branch DEBUG_INTERACT @@ -112,6 +120,10 @@ print " break x,y - set a breakpoint at coords (x,y)\n" print " break c:x - set a breakpoint on column x\n" print " break r:y - set a breakpoint on row y\n" + print " delete c - delete breakpoint on character c\n" + print " delete x,y - delete breakpoint at coords (x,y)\n" + print " delete c:x - delete breakpoint on column x\n" + print " delete r:y - delete breakpoint on row y\n" print " list - list breakpoints\n" print " next - step one befunge instruction\n" print " continue - resume execution\n"