Annotation of gforth/environ.fs, revision 1.3

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.
                     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: \ 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
1.1       anton      32: 
1.2       anton      33: -1 MAX-N 2constant MAX-D
                     34: -1. 2constant MAX-UD
1.3     ! pazsan     35: 
        !            36: 0 0 2constant gforth \ minor mayor version
1.1       anton      37: 
1.2       anton      38: \ !! RETURN-STACK-CELLS
                     39: \ !! STACK-CELLS
                     40: 
                     41: forth definitions
                     42: previous
1.1       anton      43: 

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