# 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"