Diff for /gforth/kernel/vars.fs between versions 1.25 and 1.36

version 1.25, 2000/10/29 20:27:03 version 1.36, 2003/10/03 09:14:27
Line 1 Line 1
 \ VARS.FS      Kernal variables  \ VARS.FS      Kernal variables
   
 \ Copyright (C) 1995,1996,1997,1998,2000 Free Software Foundation, Inc.  \ Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 69  $400 Value def#tib Line 69  $400 Value def#tib
   
 \ initialized by COLD  \ initialized by COLD
   
 Create main-task  has? OS [IF] 100 [ELSE] 40 [THEN] cells allot  Create main-task  has? OS [IF] 100 [ELSE] 40 [THEN] cells dup allot
   
 \ set user-pointer from cross-compiler right  \ set user-pointer from cross-compiler right
 main-task   main-task 
 UNLOCK tup ! LOCK  UNLOCK swap region user-region user-region setup-region LOCK
   
 Variable udp ( -- a-addr ) \ gforth  Variable udp ( -- a-addr ) \ gforth
 \ user area size? -anton  \G user area size
   
 AUser next-task        main-task next-task !  AUser next-task        main-task next-task !
 AUser prev-task        main-task prev-task !  AUser prev-task        main-task prev-task !
Line 145  has? file [IF] Line 145  has? file [IF]
   
  User loadfile          0 loadfile !   User loadfile          0 loadfile !
   
  User loadfilename#     0 loadfilename# !   2user loadfilename     0 0 loadfilename 2! \ addr u for sourcefilename
   
  User loadline          \ number of the currently interpreted   User loadline          \ number of the currently interpreted
                         \ (in TIB) line if the interpretation                          \ (in TIB) line if the interpretation
Line 157  has? file [IF] Line 157  has? file [IF]
 [THEN]  [THEN]
 [THEN]  [THEN]
   
  User base ( -- a-addr ) \ core  User base ( -- a-addr ) \ core
  \G @code{User} variable -- @i{a-addr} is the address of a cell that stores the  \G @code{User} variable -- @i{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 ( -- a-addr ) \ gforth  User dpl ( -- a-addr ) \ gforth
  \G @code{User} variable -- @i{a-addr} is the address of a cell that stores the                   \G @code{User} variable -- @i{a-addr} is the address of a cell that stores the          
  \G position of the decimal point in the most recent numeric conversion.  \G position of the decimal point in the most recent numeric conversion.
  \G Initialised to -1. After the conversion of a number containing no  \G Initialised to -1. After the conversion of a number containing no
  \G decimal point, @code{@ dpl} is -1. After the conversion of @code{2.} it holds  \G decimal point, @code{dpl} is -1. After the conversion of @code{2.} it holds
  \G 0. After the conversion of 234123.9 it contains 1, and so forth.  \G 0. After the conversion of 234123.9 it contains 1, and so forth.
  -1 dpl !  -1 dpl !
   
  User state ( -- a-addr ) \ core,tools-ext  User state ( -- a-addr ) \ core,tools-ext
  \G @code{User} variable -- @i{a-addr} is the address of a cell  \G @code{User} variable -- @i{a-addr} is the address of a cell
  \G containing the compilation state flag. 0 => interpreting, -1 =>  \G containing the compilation state flag. 0 => interpreting, -1 =>
  \G compiling.  A program shall not directly alter the value of  \G compiling.  A program shall not directly alter the value of
  \G @code{state}. The following Standard words alter the value in  \G @code{state}. The following Standard words alter the value in
  \G @code{state}: @code{:} (colon) @code{;} (semicolon) @code{abort}  \G @code{state}: @code{:} (colon) @code{;} (semicolon) @code{abort}
  \G @code{quit} @code{:noname} @code{[} (left-bracket) @code{]}  \G @code{quit} @code{:noname} @code{[} (left-bracket) @code{]}
  \G (right-bracket) @code{;code}. Don't use @code{state}! For an  \G (right-bracket) @code{;code}. Don't use @code{state}! For an
  \G alternative see @ref{Interpretation and Compilation Semantics}.  \G alternative see @ref{Interpretation and Compilation Semantics}.
  \ Recommended reading: @cite{@code{State}-smartness--Why it is evil  \ Recommended reading: @cite{@code{State}-smartness--Why it is evil
  \ and how to exorcise it},  \ and how to exorcise it},
  \ @url{http://www.complang.tuwien.ac.at/papers/ertl98.ps.gz}; short  \ @url{http://www.complang.tuwien.ac.at/papers/ertl98.ps.gz}; short
  \ version: Don't use @code{state}!  \ version: Don't use @code{state}!
  0 state !  0 state !
   
 AUser normal-dp         \ the usual dictionary pointer  AUser normal-dp         \ the usual dictionary pointer
 AUser dpp               normal-dp dpp !  AUser dpp               normal-dp dpp !
Line 192  AUser dpp  normal-dp dpp ! Line 192  AUser dpp  normal-dp dpp !
 AUser LastCFA  AUser LastCFA
 AUser Last  AUser Last
   
   User max-name-length \ maximum length of all names defined yet
   32 max-name-length !
       
   \  has? peephole  [IF]
   \  0 value peeptable \ initialized in boot
   \  [THEN]
   
 has? glocals [IF]  has? glocals [IF]
 User locals-size \ this is the current size of the locals stack  User locals-size \ this is the current size of the locals stack
                  \ frame of the current word                   \ frame of the current word

Removed from v.1.25  
changed lines
  Added in v.1.36


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