Diff for /gforth/kernel/tools.fs between versions 1.7 and 1.28

version 1.7, 1999/02/03 00:10:26 version 1.28, 2011/08/10 12:16:09
Line 1 Line 1
 \ TOOLS.FS     Toolkit extentions                      2may93jaw  \ TOOLS.FS     Toolkit extentions                      2may93jaw
   
 \ Copyright (C) 1995,1998 Free Software Foundation, Inc.  \ Copyright (C) 1995,1998,1999,2001,2003,2006,2007 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
 \ Gforth is free software; you can redistribute it and/or  \ Gforth is free software; you can redistribute it and/or
 \ modify it under the terms of the GNU General Public License  \ modify it under the terms of the GNU General Public License
 \ as published by the Free Software Foundation; either version 2  \ as published by the Free Software Foundation, either version 3
 \ of the License, or (at your option) any later version.  \ of the License, or (at your option) any later version.
   
 \ This program is distributed in the hope that it will be useful,  \ This program is distributed in the hope that it will be useful,
Line 15 Line 15
 \ GNU General Public License for more details.  \ GNU General Public License for more details.
   
 \ 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, see http://www.gnu.org/licenses/.
 \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, 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
   
 variable maxdepth-.s  
   defer .s.
   ' . is .s.
   
   variable maxdepth-.s ( -- addr ) \ gforth maxdepth-dot-s
   \G A variable containing 9 by default.  @code{.s} and @code{f.s}
   \G display at most that many stack items.
 9 maxdepth-.s !  9 maxdepth-.s !
   
 : .s ( -- ) \ tools dot-s  : .s ( -- ) \ tools dot-s
     \G Display the number of items on the data stack,  \G Display the number of items on the data stack, followed by a list
     \G followed by a list of the items; TOS is the right-most item  \G of the items (but not more than specified by @code{maxdepth-.s};
   \G 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
     ?do      ?do
         dup i - pick .          dup i - pick .s.
     loop      loop
     drop ;      drop ;
   
Line 45  Variable /dump Line 55  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 57  Variable /dump Line 67  Variable /dump
   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 -- ) \ tools dump  : dump  ( addr u -- ) \ tools dump
     \G Display u lines of memory starting at address addr. Each line      \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 displays the contents of 16 bytes. When Gforth is running under
     \G an operating system you may get @file{Invalid memory address} errors      \G an operating system you may get @file{Invalid memory address} errors
     \G if you attempt to access arbitrary locations.      \G if you attempt to access arbitrary locations.
Line 70  Variable /dump Line 80  Variable /dump
 \ ?                                                     17may93jaw  \ ?                                                     17may93jaw
   
 : ? ( a-addr -- ) \ tools question  : ? ( a-addr -- ) \ tools question
     \G Display the contents of address a-addr in the current number base.      \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
     \G ** this will not get annotated. See other defn in search.fs .. **      \G Display the contents of the wordlist wid.
     cr 0 context @ wordlist-id      [ has? ec 0= [IF] ] wordlist-id [ [THEN] ]
       0 swap cr
     BEGIN      BEGIN
         @ dup          @ dup
     WHILE      WHILE
Line 92  include  ../termsize.fs Line 103  include  ../termsize.fs
     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
       [ has? ec 0= [IF] ] context @ [ [ELSE] ] forth-wordlist [ [THEN] ]
       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.7  
changed lines
  Added in v.1.28


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