Diff for /gforth/oldlib.fs between versions 1.2 and 1.7

version 1.2, 2003/08/25 14:17:46 version 1.7, 2007/12/31 18:40:24
Line 1 Line 1
 \ lib.fs        shared library support package          11may97py  \ lib.fs        shared library support package          11may97py
   
 \ Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc.  \ Copyright (C) 1995,1996,1997,1998,2000,2003,2005,2007 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
 \ Gforth is free software; you can redistribute it and/or  \ Gforth is free software; you can redistribute it and/or
 \ modify it under the terms of the GNU General Public License  \ modify it under the terms of the GNU General Public License
 \ as published by the Free Software Foundation; either version 2  \ as published by the Free Software Foundation, either version 3
 \ of the License, or (at your option) any later version.  \ of the License, or (at your option) any later version.
   
 \ This program is distributed in the hope that it will be useful,  \ This program is distributed in the hope that it will be useful,
Line 15 Line 15
 \ GNU General Public License for more details.  \ GNU General Public License for more details.
   
 \ You should have received a copy of the GNU General Public License  \ You should have received a copy of the GNU General Public License
 \ along with this program; if not, write to the Free Software  \ along with this program. If not, see http://www.gnu.org/licenses/.
 \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.  
   
 Create icall-table  Create icall-table
     ] icall0 ;s icall1 ;s icall2 ;s icall3 ;s icall4 ;s icall5 ;s icall6 ;s      ] icall0 ;s icall1 ;s icall2 ;s icall3 ;s icall4 ;s icall5 ;s icall6 ;s
Line 30  Create fcall-table Line 29  Create fcall-table
 Variable libs 0 libs !  Variable libs 0 libs !
 \G links between libraries  \G links between libraries
   
   Variable legacy  legacy off
   
 : @lib ( lib -- )  : @lib ( lib -- )
     \G obtains library handle      \G obtains library handle
     cell+ dup 2 cells + count open-lib      cell+ dup 2 cells + count open-lib
Line 40  Variable libs 0 libs ! Line 41  Variable libs 0 libs !
     cell+ tuck 2 cells + count rot cell+ @      cell+ tuck 2 cells + count rot cell+ @
     lib-sym  dup 0= abort" Proc not found!" swap cell+ ! ;      lib-sym  dup 0= abort" Proc not found!" swap cell+ ! ;
   
   -1 Constant <addr>
    0 Constant <int>
    1 Constant <float>
    2 Constant <void>
    4 Constant <int...>
    5 Constant <float...>
    6 Constant <void...>
   
 : proc, ( pars type lib addr -- )  : proc, ( pars type lib addr -- )
     \G allocates and initializes proc stub      \G allocates and initializes proc stub
     \G stub format:      \G stub format:
Line 47  Variable libs 0 libs ! Line 56  Variable libs 0 libs !
     \G    address of proc      \G    address of proc
     \G    offset in lcall1-table to call proc      \G    offset in lcall1-table to call proc
     \G    OS name of symbol as counted string      \G    OS name of symbol as counted string
       legacy @ IF  (int) -rot  THEN
     here 2dup swap 2 cells + dup @ A, !      here 2dup swap 2 cells + dup @ A, !
     2swap  1 and  IF  fcall-table  ELSE  icall-table  THEN  swap      2swap  1 and  IF  fcall-table  ELSE  icall-table  THEN  swap
     cells 2* + , 0 , bl sword string, @proc ;      cells 2* + , 0 , bl sword string, @proc ;
   
 -1 Constant (addr)  
  0 Constant (int)  
  1 Constant (float)  
  2 Constant (void)  
  4 Constant (int...)  
  5 Constant (float...)  
  6 Constant (void...)  
   
 : proc:  ( pars type lib "name" "string" -- )  : proc:  ( pars type lib "name" "string" -- )
     \G Creates a named proc stub      \G Creates a named proc stub
     Create proc,      Create proc,

Removed from v.1.2  
changed lines
  Added in v.1.7


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