Annotation of gforth/environ.fs, revision 1.7

1.2       anton       1: \ environmental queries
1.1       anton       2: 
1.3       pazsan      3: \ wordlist constant environment-wordlist
1.1       anton       4: 
1.3       pazsan      5: Create environment-wordlist  wordlist drop
                      6: 
1.2       anton       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.
1.7     ! anton      21: 8 constant ADDRESS-UNIT-BITS ( -- n ) \ environment
1.2       anton      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
1.5       anton      27: true constant CORE-EXT?
1.2       anton      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
1.1       anton      32: 
1.2       anton      33: -1 MAX-N 2constant MAX-D
                     34: -1. 2constant MAX-UD
1.3       pazsan     35: 
1.5       anton      36: 0 1 2constant gforth \ minor major version
1.1       anton      37: 
1.2       anton      38: \ !! RETURN-STACK-CELLS
                     39: \ !! STACK-CELLS
1.5       anton      40: \ !! floating-stack
                     41: \ !! max-float
1.6       anton      42: 15 constant #locals \ 1000 64 /
                     43:     \ One local can take up to 64 bytes, the size of locals-buffer is 1000
1.5       anton      44: maxvp constant wordlists
1.2       anton      45: 
                     46: forth definitions
                     47: previous
1.1       anton      48: 

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