[gforth] / gforth / see.fs  

gforth: gforth/see.fs

Diff for /gforth/see.fs between version 1.7 and 1.8

version 1.7, Sat Oct 7 17:38:19 1995 UTC version 1.8, Thu Nov 2 14:20:53 1995 UTC
Line 188 
Line 188 
         cell+ ;          cell+ ;
   
 : c-lit  : c-lit
         Display? IF dup @ dup abs 0 <# #S rot sign #> 0 .string bl cemit THEN      Display? IF
           dup @ dup abs 0 <# #S rot sign #> 0 .string bl cemit
       THEN
       cell+ ;
   
   : c-@local#
       Display? IF
           S" @local" 0 .string
           dup @ dup 1 cells / abs 0 <# #S rot sign #> 0 .string bl cemit
       THEN
         cell+ ;          cell+ ;
   
 : c-flit  : c-flit
         Display? IF  dup f@ scratch represent 0=      Display? IF
           dup f@ scratch represent 0=
                      IF    2drop  scratch 3 min 0 .string                       IF    2drop  scratch 3 min 0 .string
                      ELSE   IF  '- cemit  THEN  1-          ELSE
               IF  '- cemit  THEN  1-
                             scratch over c@ cemit '. cemit 1 /string 0 .string                              scratch over c@ cemit '. cemit 1 /string 0 .string
                             'E cemit                              'E cemit
                             dup abs 0 <# #S rot sign #> 0 .string bl cemit                              dup abs 0 <# #S rot sign #> 0 .string bl cemit
                  THEN THEN                   THEN THEN
         float+ ;          float+ ;
   
   : c-f@local#
       Display? IF
           S" f@local" 0 .string
           dup @ dup 1 floats / abs 0 <# #S rot sign #> 0 .string bl cemit
       THEN
       cell+ ;
   
   : c-laddr#
       Display? IF
           S" laddr# " 0 .string
           dup @ dup abs 0 <# #S rot sign #> 0 .string bl cemit
       THEN
       cell+ ;
   
   : c-lp+!#
       Display? IF
           S" lp+!# " 0 .string
           dup @ dup abs 0 <# #S rot sign #> 0 .string bl cemit
       THEN
       cell+ ;
   
 : c-s"  : c-s"
         count 2dup + aligned -rot          count 2dup + aligned -rot
         Display?          Display?
Line 328 
Line 360 
         DebugBranch          DebugBranch
         cell+ ;          cell+ ;
   
   : c-?branch-lp+!#  c-?branch cell+ ;
   : c-branch-lp+!#   c-branch  cell+ ;
   
 : c-do  : c-do
         Display? IF nl S" DO" .struc level+ THEN ;          Display? IF nl S" DO" .struc level+ THEN ;
   
Line 346 
Line 381 
         Display? IF level- nl S" LOOP " .struc nl THEN          Display? IF level- nl S" LOOP " .struc nl THEN
         DebugBranch cell+ cell+ ;          DebugBranch cell+ cell+ ;
   
   
 : c-+loop  : c-+loop
         Display? IF level- nl S" +LOOP " .struc nl THEN          Display? IF level- nl S" +LOOP " .struc nl THEN
         DebugBranch cell+ cell+ ;          DebugBranch cell+ cell+ ;
   
   : c-s+loop
           Display? IF level- nl S" S+LOOP " .struc nl THEN
           DebugBranch cell+ cell+ ;
   
   : c--loop
           Display? IF level- nl S" -LOOP " .struc nl THEN
           DebugBranch cell+ cell+ ;
   
   : c-next-lp+!#  c-next cell+ ;
   : c-loop-lp+!#  c-loop cell+ ;
   : c-+loop-lp+!#  c-+loop cell+ ;
   : c-s+loop-lp+!#  c-s+loop cell+ ;
   : c--loop-lp+!#  c--loop cell+ ;
   
 : c-leave  : c-leave
         Display? IF S" LEAVE " .struc THEN          Display? IF S" LEAVE " .struc THEN
         Debug? IF dup @ + THEN cell+ ;          Debug? IF dup @ + THEN cell+ ;
Line 383 
Line 431 
   
 CREATE C-Table  CREATE C-Table
         ' lit A,         ' c-lit A,          ' lit A,         ' c-lit A,
           ' @local# A,        ' c-@local# A,
         ' flit A,        ' c-flit A,          ' flit A,        ' c-flit A,
           ' f@local# A,       ' c-f@local# A,
           ' laddr# A,         ' c-laddr# A,
           ' lp+!# A,          ' c-lp+!# A,
         ' (s") A,        ' c-s" A,          ' (s") A,        ' c-s" A,
         ' (.") A,        ' c-." A,          ' (.") A,        ' c-." A,
         ' "lit A,        ' c-c" A,          ' "lit A,        ' c-c" A,
         ' ?branch A,     ' c-?branch A,  
         ' branch A,      ' c-branch A,  
         ' leave A,       ' c-leave A,          ' leave A,       ' c-leave A,
         ' ?leave A,      ' c-?leave A,          ' ?leave A,      ' c-?leave A,
         ' (do) A,        ' c-do A,          ' (do) A,        ' c-do A,
         ' (?do) A,       ' c-?do A,          ' (?do) A,       ' c-?do A,
         ' (for) A,       ' c-for A,          ' (for) A,       ' c-for A,
           ' ?branch A,        ' c-?branch A,
           ' branch A,         ' c-branch A,
         ' (loop) A,      ' c-loop A,          ' (loop) A,      ' c-loop A,
         ' (+loop) A,     ' c-+loop A,          ' (+loop) A,     ' c-+loop A,
           ' (s+loop) A,       ' c-s+loop A,
           ' (-loop) A,        ' c--loop A,
         ' (next) A,      ' c-next A,          ' (next) A,      ' c-next A,
           ' ?branch-lp+!# A,  ' c-?branch-lp+!# A,
           ' branch-lp+!# A,   ' c-branch-lp+!# A,
           ' (loop)-lp+!# A,   ' c-loop-lp+!# A,
           ' (+loop)-lp+!# A,  ' c-+loop-lp+!# A,
           ' (s+loop)-lp+!# A, ' c-s+loop-lp+!# A,
           ' (-loop)-lp+!# A,  ' c--loop-lp+!# A,
           ' (next)-lp+!# A,   ' c-next-lp+!# A,
         ' ;s A,          ' c-exit A,          ' ;s A,          ' c-exit A,
         ' (does>) A,     ' c-does> A,          ' (does>) A,     ' c-does> A,
         ' (abort") A,    ' c-abort" A,          ' (abort") A,    ' c-abort" A,
Line 465 
Line 526 
 : docon  dup cell+ (name>) >body @ . ." Constant " .name cr ;  : docon  dup cell+ (name>) >body @ . ." Constant " .name cr ;
 : doval  dup cell+ (name>) >body @ . ." Value " .name cr ;  : doval  dup cell+ (name>) >body @ . ." Value " .name cr ;
 : dodef ." Defer " dup >r .name cr  : dodef ." Defer " dup >r .name cr
          here @ look 0= ABORT" SEE: No valid xt in defered word"      r@ cell+ (name>) >body @ look
          here @ look drop dosee cr      0= ABORT" SEE: No valid xt in deferred word"
       dup dosee cr
         ." ' " .name r> ." IS " .name cr ;          ." ' " .name r> ." IS " .name cr ;
 : dodoe ." Create " dup .name cr  : dodoe ." Create " dup .name cr
         S" DOES> " Com# .string XPos @ Level ! name>          S" DOES> " Com# .string XPos @ Level ! name>


Generate output suitable for use with a patch program
Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help