Diff for /gforth/kernel/tools.fs between versions 1.2 and 1.17

version 1.2, 1997/07/06 15:56:17 version 1.17, 2001/01/24 10:32:02
Line 1 Line 1
 \ TOOLS.FS     Toolkit extentions                      2may93jaw  \ TOOLS.FS     Toolkit extentions                      2may93jaw
   
 \ Copyright (C) 1995 Free Software Foundation, Inc.  \ Copyright (C) 1995,1998,1999 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 16 Line 16
   
 \ You should have received a copy of the GNU General Public License  \ You should have received a copy of the GNU General Public License
 \ along with this program; if not, write to the Free Software  \ along with this program; if not, write to the Free Software
 \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
   
 \ May be cross-compiled  \ May be cross-compiled
   
   require ./io.fs         \ type ...
   require ./nio.fs        \ . <# ...
   require ./int.fs        \ wordlist-id ..
   
 hex  hex
   
 \ .S            CORE / CORE EXT                         9may93jaw  \ .S            CORE / CORE EXT                         9may93jaw
Line 27  hex Line 31  hex
 variable maxdepth-.s  variable maxdepth-.s
 9 maxdepth-.s !  9 maxdepth-.s !
   
 : .s ( -- )  : .s ( -- ) \ tools dot-s
       \G Display the number of items on the data stack,
       \G followed by a list of the items; TOS is the right-most item.
     ." <" depth 0 .r ." > "      ." <" depth 0 .r ." > "
     depth 0 max maxdepth-.s @ min      depth 0 max maxdepth-.s @ min
     dup 0      dup 0
Line 43  Variable /dump Line 49  Variable /dump
   
 : .4 ( addr -- addr' )  : .4 ( addr -- addr' )
     3 FOR  -1 /dump +!  /dump @ 0<      3 FOR  -1 /dump +!  /dump @ 0<
         IF  ."    "  ELSE  dup c@ 0 <# # # #> type space  THEN          IF  ."    "  ELSE  dup c@ 0 <<# # # #> type #>> space  THEN
     char+ NEXT ;      char+ NEXT ;
 : .chars ( addr -- )  : .chars ( addr -- )
     /dump @ bounds      /dump @ bounds
Line 54  Variable /dump Line 60  Variable /dump
 : .line ( addr -- )  : .line ( addr -- )
   dup .4 space .4 ." - " .4 space .4 drop  10 /dump +!  space .chars ;    dup .4 space .4 ." - " .4 space .4 drop  10 /dump +!  space .chars ;
   
 : dump  ( addr u -- )  : dump  ( addr u -- ) \ tools dump
       \G Display @var{u} lines of memory starting at address @var{addr}. Each line
       \G displays the contents of 16 bytes. When Gforth is running under
       \G an operating system you may get @file{Invalid memory address} errors
       \G if you attempt to access arbitrary locations.
     cr base @ >r hex        \ save base on return stack      cr base @ >r hex        \ save base on return stack
     0 ?DO  I' I - 10 min /dump !      0 ?DO  I' I - 10 min /dump !
         dup 8 u.r ." : " dup .line cr  10 +          dup 8 u.r ." : " dup .line cr  10 +
Line 63  Variable /dump Line 73  Variable /dump
   
 \ ?                                                     17may93jaw  \ ?                                                     17may93jaw
   
 : ? @ . ;  : ? ( a-addr -- ) \ tools question
       \G Display the contents of address @var{a-addr} in the current number base.
       @ . ;
   
 \ words visible in roots                               14may93py  \ words visible in roots                               14may93py
   
 include  termsize.fs  include  ./../termsize.fs
   
 : words ( -- ) \ tools  : wordlist-words ( wid -- ) \ gforth
     cr 0 context @      \G Display the contents of the wordlist wid.
       wordlist-id 0 swap cr
     BEGIN      BEGIN
         @ dup          @ dup
     WHILE      WHILE
         2dup head>string nip 2 + dup >r +          2dup name>string nip 2 + dup >r +
         cols >=          cols >=
         IF          IF
             cr nip 0 swap              cr nip 0 swap
         THEN          THEN
         dup head>string type space r> rot + swap          dup name>string type space r> rot + swap
     REPEAT      REPEAT
     2drop ;      2drop ;
   
   : words
       \G ** this will not get annotated. See other defn in search.fs .. **
       \G It does not work to use "wordset-" prefix since this file is glossed
       \G by cross.fs which doesn't have the same functionalty as makedoc.fs
       context @ wordlist-words ;
   
 ' words alias vlist ( -- ) \ gforth  ' words alias vlist ( -- ) \ gforth
 \g Old (pre-Forth-83) name for @code{WORDS}.  \g Old (pre-Forth-83) name for @code{WORDS}.
   

Removed from v.1.2  
changed lines
  Added in v.1.17


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>