![]() ![]() | ![]() |
added "system documentation requirements" section to gforth.ds. added answers for environmental queries for wordsets. changed W/O file access mode from "w+" to "w". S" now uses a buffer BIN is now idempotent added FILE-STATUS some other minor changes and bug fixes.
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: \ !! #locals 43: maxvp constant wordlists 44: 45: forth definitions 46: previous 47: