File:  [gforth] / gforth / environ.fs
Revision 1.6: download - view: text, annotated - select for diffs
Sat Apr 29 14:51:15 1995 UTC (27 years, 10 months ago) by anton
Branches: MAIN
CVS tags: HEAD
Added more ANS system documentation (now complete)
Minor changes

    1: \ environmental queries
    2: 
    3: \ wordlist constant environment-wordlist
    4: 
    5: Create environment-wordlist  wordlist drop
    6: 
    7: : environment? ( c-addr u -- false / ... true )
    8:     environment-wordlist search-wordlist if
    9: 	execute true
   10:     else
   11: 	false
   12:     endif ;
   13: 
   14: environment-wordlist set-current
   15: get-order environment-wordlist swap 1+ set-order
   16: 
   17: \ assumes that chars, cells and doubles use an integral number of aus
   18: 
   19: \ this should be computed in C as CHAR_BITS/sizeof(char),
   20: \ but I don't know any machine with gcc where an au does not have 8 bits.
   21: 8 constant ADDRESS-UNIT-BITS
   22: 1 ADDRESS-UNIT-BITS chars lshift 1- constant MAX-CHAR
   23: MAX-CHAR constant /COUNTED-STRING
   24: ADDRESS-UNIT-BITS cells 2* 2 + constant /HOLD
   25: &84 constant /PAD
   26: true constant CORE
   27: true constant CORE-EXT?
   28: 1 -3 mod 0< constant FLOORED
   29: 
   30: 1 ADDRESS-UNIT-BITS cells 1- lshift 1- constant MAX-N
   31: -1 constant MAX-U
   32: 
   33: -1 MAX-N 2constant MAX-D
   34: -1. 2constant MAX-UD
   35: 
   36: 0 1 2constant gforth \ minor major version
   37: 
   38: \ !! RETURN-STACK-CELLS
   39: \ !! STACK-CELLS
   40: \ !! floating-stack
   41: \ !! max-float
   42: 15 constant #locals \ 1000 64 /
   43:     \ One local can take up to 64 bytes, the size of locals-buffer is 1000
   44: maxvp constant wordlists
   45: 
   46: forth definitions
   47: previous
   48: 

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