--- gforth/environ.fs 2000/09/23 15:05:59 1.24 +++ gforth/environ.fs 2012/12/31 15:25:18 1.36 @@ -1,12 +1,12 @@ \ environmental queries -\ Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc. +\ Copyright (C) 1995,1996,1997,1998,2000,2003,2007,2012 Free Software Foundation, Inc. \ This file is part of Gforth. \ Gforth is free software; you can redistribute it and/or \ 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. \ This program is distributed in the hope that it will be useful, @@ -15,15 +15,20 @@ \ GNU General Public License for more details. \ You should have received a copy of the GNU General Public License -\ along with this program; if not, write to the Free Software -\ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +\ along with this program. If not, see http://www.gnu.org/licenses/. + +[IFUNDEF] cell/ : cell/ 1 cells / ; [THEN] +[IFUNDEF] float/ : float/ 1 floats / ; [THEN] \ wordlist constant environment-wordlist -Create environment-wordlist ( -- wid ) \ gforth +vocabulary environment ( -- ) \ gforth +\ for win32forth compatibility + +' environment >body constant environment-wordlist ( -- wid ) \ gforth \G @i{wid} identifies the word list that is searched by environmental \G queries. - wordlist drop + : environment? ( c-addr u -- false / ... true ) \ core environment-query \G @i{c-addr, u} specify a counted string. If the string is not @@ -38,10 +43,10 @@ Create environment-wordlist ( -- wid ) \ : e? name environment? 0= ABORT" environmental dependency not existing" ; -: has? name environment? 0= IF false THEN ; - : $has? environment? 0= IF false THEN ; +: has? name $has? ; + environment-wordlist set-current get-order environment-wordlist swap 1+ set-order @@ -92,19 +97,18 @@ version-string 2constant gforth ( -- c-a : return-stack-cells ( -- n ) \ environment \G Maximum size of the return stack, in cells. - [ forthstart 6 cells + ] literal @ cell / ; + [ forthstart 6 cells + ] literal @ cell/ ; : stack-cells ( -- n ) \ environment \G Maximum size of the data stack, in cells. - [ forthstart 4 cells + ] literal @ cell / ; + [ forthstart 4 cells + ] literal @ cell/ ; : floating-stack ( -- n ) \ environment \G @var{n} is non-zero, showing that Gforth maintains a separate \G floating-point stack of depth @var{n}. [ forthstart 5 cells + ] literal @ - [IFDEF] float float [ELSE] [ 1 floats ] Literal [THEN] / ; + [IFDEF] float/ float/ [ELSE] [ 1 floats ] Literal / [THEN] ; -\ !! max-float 15 constant #locals \ 1000 64 / \ One local can take up to 64 bytes, the size of locals-buffer is 1000 maxvp constant wordlists