File:  [gforth] / gforth / environ.fs
Revision 1.7: download - view: text, annotated - select for diffs
Mon Oct 16 18:33:06 1995 UTC (25 years, 11 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

\ environmental queries

\ wordlist constant environment-wordlist

Create environment-wordlist  wordlist drop

: environment? ( c-addr u -- false / ... true )
    environment-wordlist search-wordlist if
	execute true
    else
	false
    endif ;

environment-wordlist set-current
get-order environment-wordlist swap 1+ set-order

\ assumes that chars, cells and doubles use an integral number of aus

\ this should be computed in C as CHAR_BITS/sizeof(char),
\ but I don't know any machine with gcc where an au does not have 8 bits.
8 constant ADDRESS-UNIT-BITS ( -- n ) \ environment
1 ADDRESS-UNIT-BITS chars lshift 1- constant MAX-CHAR
MAX-CHAR constant /COUNTED-STRING
ADDRESS-UNIT-BITS cells 2* 2 + constant /HOLD
&84 constant /PAD
true constant CORE
true constant CORE-EXT?
1 -3 mod 0< constant FLOORED

1 ADDRESS-UNIT-BITS cells 1- lshift 1- constant MAX-N
-1 constant MAX-U

-1 MAX-N 2constant MAX-D
-1. 2constant MAX-UD

0 1 2constant gforth \ minor major version

\ !! RETURN-STACK-CELLS
\ !! STACK-CELLS
\ !! floating-stack
\ !! max-float
15 constant #locals \ 1000 64 /
    \ One local can take up to 64 bytes, the size of locals-buffer is 1000
maxvp constant wordlists

forth definitions
previous


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