version 1.19, 2003/08/25 14:17:54
|
version 1.29, 2011/12/31 15:29:26
|
Line 1
|
Line 1
|
\ TOOLS.FS Toolkit extentions 2may93jaw |
\ TOOLS.FS Toolkit extentions 2may93jaw |
|
|
\ Copyright (C) 1995,1998,1999,2001,2003 Free Software Foundation, Inc. |
\ Copyright (C) 1995,1998,1999,2001,2003,2006,2007,2011 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., 59 Temple Place, Suite 330, Boston, MA 02111, USA. |
|
|
|
\ May be cross-compiled |
\ May be cross-compiled |
|
|
Line 28 hex
|
Line 27 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 83 include ./../termsize.fs
|
Line 89 include ./../termsize.fs
|
|
|
: wordlist-words ( wid -- ) \ gforth |
: wordlist-words ( wid -- ) \ gforth |
\G Display the contents of the wordlist wid. |
\G Display the contents of the wordlist wid. |
wordlist-id 0 swap cr |
[ has? ec 0= [IF] ] wordlist-id [ [THEN] ] |
|
0 swap cr |
BEGIN |
BEGIN |
@ dup |
@ dup |
WHILE |
WHILE |
Line 100 include ./../termsize.fs
|
Line 107 include ./../termsize.fs
|
\G ** this will not get annotated. See other defn in search.fs .. ** |
\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 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 |
\G by cross.fs which doesn't have the same functionalty as makedoc.fs |
context @ wordlist-words ; |
[ 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}. |