File:  [gforth] / gforth / environ.fs
Revision 1.7: download - view: text, annotated - select for diffs
Mon Oct 16 18:33:06 1995 UTC (28 years, 6 months ago) by anton
Branches: MAIN
CVS tags: HEAD
added answords.fs and strsignal.c
added checking of documenetation of ANS Forth words
Fixed many documentation errors and added some documentation
signal handling now uses strsignal and can handle signals not present on all machines

    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 ( -- n ) \ environment
   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>