File:  [gforth] / gforth / kernel / vars.fs
Revision 1.4: download - view: text, annotated - select for diffs
Sun Jul 6 15:56:17 1997 UTC (24 years, 1 month ago) by jwilke
Branches: MAIN
CVS tags: HEAD
Major change!
hash and search does not rely on each other.
context and voclink are now present in kernel.
words and marker can now defined without loading hash or search
marker went to extend.fs
word went to kernel/tools.fs
table goes to seperate file (at the moment)
glocals.fs and kernel/toolsext.fs are changed because of the change in the
wordlist-map-struct...
Attention: You can't recompile the code without new kernel-files!!!
jens

    1: \ VARS.FS      Kernal variables
    2: 
    3: \ Copyright (C) 1995 Free Software Foundation, Inc.
    4: 
    5: \ This file is part of Gforth.
    6: 
    7: \ Gforth is free software; you can redistribute it and/or
    8: \ modify it under the terms of the GNU General Public License
    9: \ as published by the Free Software Foundation; either version 2
   10: \ of the License, or (at your option) any later version.
   11: 
   12: \ This program is distributed in the hope that it will be useful,
   13: \ but WITHOUT ANY WARRANTY; without even the implied warranty of
   14: \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   15: \ GNU General Public License for more details.
   16: 
   17: \ You should have received a copy of the GNU General Public License
   18: \ along with this program; if not, write to the Free Software
   19: \ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
   20: 
   21: hex \ everything now hex!                               11may93jaw
   22: 
   23: \ important constants                                  17dec92py
   24: 
   25: \ dpANS6 (sect 3.1.3.1) says 
   26: \ "a true flag ... [is] a single-cell value with all bits set"
   27: \ better definition: 0 0= constant true ( no dependence on 2's compl)
   28:  -1 Constant true               \ see starts looking for
   29:                                 \ primitives after this word!
   30:   0 Constant false
   31: 
   32: 1 cells Constant cell ( -- u ) \ gforth
   33: 1 floats Constant float ( -- u ) \ gforth
   34: 
   35: 20 Constant bl \ used by docon:, must be constant
   36: 
   37: FF Constant /line
   38: 
   39: 40 Constant c/l
   40: 10 Constant l/s
   41: 400 Constant chars/block
   42: 
   43: $20 8 2* cells + 2 + cell+ constant word-pno-size ( -- u )
   44: 84 constant pad-minsize ( -- u )
   45: 
   46: \ that's enough so long
   47: 
   48: \ User variables                                       13feb93py
   49: 
   50: \ initialized by COLD
   51: 
   52: Create main-task  100 cells allot
   53: 
   54: \ set user-pointer from cross-compiler right
   55: main-task 
   56: UNLOCK tup ! LOCK
   57: 
   58: Variable udp
   59: 
   60: AUser next-task        main-task next-task !
   61: AUser prev-task        main-task prev-task !
   62: AUser save-task        0 save-task !
   63: AUser sp0 	\ used by douser:, must be user
   64: 		' sp0 Alias s0
   65: AUser rp0	' rp0 Alias r0
   66: AUser fp0	' fp0 Alias f0
   67: AUser lp0	' lp0 Alias l0
   68: AUser handler	\ pointer to last throw frame
   69: \ AUser output
   70: \ AUser input
   71: 
   72: AUser errorhandler
   73: 
   74: AUser "error            0 "error !
   75: 
   76: [IFUNDEF] #tib		\ in ec-Version we may define this ourself
   77:  User tibstack		\ saves >tib in execute
   78:  User >tib		\ pointer to terminal input buffer
   79:  User #tib		\ chars in terminal input buffer
   80:  User >in               0 >in ! \ char number currently processed in tib
   81: [THEN]
   82:  User blk               0 blk !
   83:  User loadfile          0 loadfile !
   84: 
   85:  User loadfilename#	0 loadfilename# !
   86: 
   87:  User loadline          \ number of the currently interpreted
   88:                         \ (in TIB) line if the interpretation
   89:                         \ is in a textfile
   90:                         \ the first line is 1
   91: 
   92: 2User linestart         \ starting file postition of
   93:                         \ the current interpreted line (in TIB)
   94: 
   95:  User base              A base !
   96:  User dpl               -1 dpl !
   97: 
   98:  User state             0 state !
   99: AUser normal-dp		\ the usual dictionary pointer
  100: AUser dpp		normal-dp dpp !
  101: 			\ the pointer to the current dictionary pointer
  102:                         \ ist reset to normal-dp on (doerror)
  103:                         \  (i.e. any throw caught by quit)
  104: AUser LastCFA
  105: AUser Last
  106: 
  107: User locals-size \ this is the current size of the locals stack
  108: 		 \ frame of the current word
  109: 
  110: 

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