Diff for /gforth/kernel/vars.fs between versions 1.11 and 1.15

version 1.11, 1999/02/21 14:55:45 version 1.15, 1999/03/29 22:52:35
Line 26  hex \ everything now hex! Line 26  hex \ everything now hex!
 \ "a true flag ... [is] a single-cell value with all bits set"  \ "a true flag ... [is] a single-cell value with all bits set"
 \ better definition: 0 0= constant true ( no dependence on 2's compl)  \ better definition: 0 0= constant true ( no dependence on 2's compl)
  -1 Constant true ( -- f ) \ core-ext   -1 Constant true ( -- f ) \ core-ext
 \G CONSTANT: f is a cell with all bits set.  \G CONSTANT: @var{f} is a cell with all bits set.
 \ see starts looking for primitives after this word!  \ see starts looking for primitives after this word!
   
   0 Constant false ( -- f ) \ core-ext    0 Constant false ( -- f ) \ core-ext
 \G CONSTANT: f is a cell with all bits clear.  \G CONSTANT: @var{f} is a cell with all bits clear.
   
 1 cells Constant cell ( -- u ) \ gforth  1 cells Constant cell ( -- u ) \ gforth
 1 floats Constant float ( -- u ) \ gforth  1 floats Constant float ( -- u ) \ gforth
   
 20 Constant bl ( -- c-char ) \ core  20 Constant bl ( -- c-char ) \ core
 \G c-char is the character value for a space.  \G @var{c-char} is the character value for a space.
 \ used by docon:, must be constant  \ used by docon:, must be constant
   
 FF Constant /line  FF Constant /line
Line 49  $20 8 2* cells + 2 + cell+ constant word Line 49  $20 8 2* cells + 2 + cell+ constant word
 create holdbuf word-pno-size chars allot  create holdbuf word-pno-size chars allot
 holdbuf word-pno-size chars + aconstant holdbuf-end  holdbuf word-pno-size chars + aconstant holdbuf-end
 avariable holdptr holdbuf-end holdptr a!  avariable holdptr holdbuf-end holdptr a!
   avariable holdend holdbuf-end holdend a!
   
 84 constant pad-minsize ( -- u )  84 constant pad-minsize ( -- u )
   
Line 91  AUser lp0 ( -- a-addr ) \ gforth Line 92  AUser lp0 ( -- a-addr ) \ gforth
 \G OBSOLETE alias of @code{lp0}  \G OBSOLETE alias of @code{lp0}
   
 AUser handler   \ pointer to last throw frame  AUser handler   \ pointer to last throw frame
 AUser backtrace-empty \ true if the next THROW should store a backtrace  User backtrace-empty \ true if the next THROW should store a backtrace
   AUser backtrace-rp0 \ rp at last call of interpret
 \ AUser output  \ AUser output
 \ AUser input  \ AUser input
   
Line 103  AUser "error            0 "error ! Line 105  AUser "error            0 "error !
  User tibstack          \ saves >tib in execute   User tibstack          \ saves >tib in execute
  User >tib              \ pointer to terminal input buffer   User >tib              \ pointer to terminal input buffer
  User #tib ( -- a-addr ) \ core-ext   User #tib ( -- a-addr ) \ core-ext
  \G USER VARIABLE: a-addr is the address of a cell containing   \G USER VARIABLE: @var{a-addr} is the address of a cell containing
  \G the number of characters in the terminal input buffer.   \G the number of characters in the terminal input buffer.
  \G OBSOLESCENT: @code{source} superceeds the function of this word.   \G OBSOLESCENT: @code{source} superceeds the function of this word.
   
  User >in ( -- a-addr ) \ core   User >in ( -- a-addr ) \ core
  \G USER VARIABLE: a-addr is the address of a cell containing the   \G USER VARIABLE: @var{a-addr} is the address of a cell containing the
  \G char offset from the start of the terminal input buffer to the   \G char offset from the start of the terminal input buffer to the
  \G start of the parse area   \G start of the parse area.
                         0 >in ! \ char number currently processed in tib                          0 >in ! \ char number currently processed in tib
 [THEN]  [THEN]
 has? file [IF]  has? file [IF]
  User blk ( -- a-addr ) \ block   User blk ( -- a-addr ) \ block
  \G USER VARIABLE: a-addr is the address of a cell containing zero   \G USER VARIABLE: @var{a-addr} is the address of a cell containing zero
  \G (in which case the input source is not a block and can be identified   \G (in which case the input source is not a block and can be identified
  \G by @code{source-id}) or the number of the block currently being   \G by @code{source-id}) or the number of the block currently being
  \G interpreted. A Standard program should not alter @code{blk} directly.   \G interpreted. A Standard program should not alter @code{blk} directly.
Line 135  has? file [IF] Line 137  has? file [IF]
 [THEN]  [THEN]
   
  User base ( -- a-addr ) \ core   User base ( -- a-addr ) \ core
  \G USER VARIABLE: a-addr is the address of a cell that stores the   \G USER VARIABLE: @var{a-addr} is the address of a cell that stores the
  \G number base used by default for number conversion during input and output.   \G number base used by default for number conversion during input and output.
                         A base !                          A base !
  User dpl               -1 dpl !   User dpl               -1 dpl !
   
  User state ( -- a-addr ) \ core,tools-ext   User state ( -- a-addr ) \ core,tools-ext
  \G USER VARIABLE: a-addr is the address of a cell containing   \G Recommended reading: @cite{@code{State}-smartness--Why it is evil
  \G the compilation state flag. 0 => interpreting, -1 => compiling.   \G and how to exorcise it},
  \G A program shall not directly alter the value of @code{state}. The   \G @url{http://www.complang.tuwien.ac.at/papers/ertl98.ps.gz}; short
  \G following Standard words alter the value in @code{state}:   \G version: Don't use @code{state}! @xref{Interpretation and
  \G @code{:} (colon) @code{;} (semicolon) @code{abort} @code{quit}   \G Compilation Semantics} for an alternative. USER VARIABLE: @var{a-addr}
  \G @code{:noname} @code{[} (left-bracket) @code{]} (right-bracket)   \G is the address of a cell containing the compilation state flag. 0
  \G @code{;code}   \G => interpreting, -1 => compiling.  A program shall not directly
    \G alter the value of @code{state}. The following Standard words
    \G alter the value in @code{state}: @code{:} (colon) @code{;}
    \G (semicolon) @code{abort} @code{quit} @code{:noname} @code{[}
    \G (left-bracket) @code{]} (right-bracket) @code{;code}
                         0 state !                          0 state !
   
 AUser normal-dp         \ the usual dictionary pointer  AUser normal-dp         \ the usual dictionary pointer

Removed from v.1.11  
changed lines
  Added in v.1.15


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