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

Reply via email to