File:  [gforth] / gforth / environ.fs
Revision 1.2: download - view: text, annotated - select for diffs
Wed Jul 27 13:37:01 1994 UTC (29 years, 9 months ago) by anton
Branches: MAIN
CVS tags: HEAD
Changed environment? to use a wordlist
added most of the core environmental queries

    1: \ environmental queries
    2: 
    3: wordlist constant environment-wordlist
    4: 
    5: : environment? ( c-addr u -- false / ... true )
    6:     environment-wordlist search-wordlist if
    7: 	execute true
    8:     else
    9: 	false
   10:     endif ;
   11: 
   12: environment-wordlist set-current
   13: get-order environment-wordlist swap 1+ set-order
   14: 
   15: \ assumes that chars, cells and doubles use an integral number of aus
   16: 
   17: \ this should be computed in C as CHAR_BITS/sizeof(char),
   18: \ but I don't know any machine with gcc where an au does not have 8 bits.
   19: 8 constant ADDRESS-UNIT-BITS
   20: 1 ADDRESS-UNIT-BITS chars lshift 1- constant MAX-CHAR
   21: MAX-CHAR constant /COUNTED-STRING
   22: ADDRESS-UNIT-BITS cells 2* 2 + constant /HOLD
   23: &84 constant /PAD
   24: true constant CORE
   25: \ CORE-EXT?
   26: 1 -3 mod 0< constant FLOORED
   27: 
   28: 1 ADDRESS-UNIT-BITS cells 1- lshift 1- constant MAX-N
   29: -1 constant MAX-U
   30: 
   31: -1 MAX-N 2constant MAX-D
   32: -1. 2constant MAX-UD
   33: 
   34: \ !! RETURN-STACK-CELLS
   35: \ !! STACK-CELLS
   36: 
   37: forth definitions
   38: previous
   39: 

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