cvsuser     03/06/16 19:51:54

  Modified:    languages/BASIC/compiler compile.pl
  Log:
  Further bugs fixed in debugger.  Mysterious heisenbug of IMCC segfault remains.
  No small test cases.
  
  Revision  Changes    Path
  1.10      +11 -7     parrot/languages/BASIC/compiler/compile.pl
  
  Index: compile.pl
  ===================================================================
  RCS file: /cvs/public/parrot/languages/BASIC/compiler/compile.pl,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -w -r1.9 -r1.10
  --- compile.pl        17 Jun 2003 02:24:48 -0000      1.9
  +++ compile.pl        17 Jun 2003 02:51:54 -0000      1.10
  @@ -6,16 +6,17 @@
   # Then compile.
   use strict;
   use Getopt::Std;
  -our @basic=();
  -use vars qw(%code %options @basic);
   use vars qw( @tokens @tokdsc);
  +use vars qw(%code %options @basic);
   use vars qw( @syms @type );
   use vars qw( %labels $runtime_jump $debug  $sourceline);
  +use COMP_toker;
  +use COMP_parser;
  +use COMP_assignments;
  +use COMP_expressions;
  +
  +our @basic=();
   
  -require "COMP_toker.pm";
  -require "COMP_parser.pm";
  -require "COMP_assignments.pm";
  -require "COMP_expressions.pm";
   
   $SIG{__DIE__}=sub {
        print "At BASIC source line $main::sourceline:\n";
  @@ -29,7 +30,6 @@
   $debug=1 if $options{d};
   
   if (@ARGV) {
  -     print "File: $ARGV[0]\n";
        open(D, $ARGV[0]) || die;
        @basic=<D>;
        chomp(@basic);
  @@ -84,6 +84,7 @@
        }
        print CODE<<EOD;
        .sub ${seg}_debug
  +             saveall
                .param int debline
                find_global \$P0, "DEBUGGER"
                set \$I0, \$P0["step"]
  @@ -100,6 +101,7 @@
                .arg debline
                call _DEBUGGER_STOP_FOR_REAL
        DEBUGGER_DONE:
  +             restoreall
                ret
        
        .end    # End debug segment
  @@ -109,6 +111,7 @@
   if ($debug) {
        print CODE<<FOO;
   .sub _DEBUG_INIT
  +     saveall
        \$P0=new PerlArray
        find_global \$P1, "DEBUGGER"
   FOO
  @@ -125,6 +128,7 @@
        \$P0=new PerlArray
        set \$P1["watch"], \$P0  # Watch
        store_global "DEBUGGER", \$P1
  +     restoreall
        ret
   .end
   FOO
  
  
  

Reply via email to