--- gforth/cross.fs 2007/04/01 21:30:26 1.164 +++ gforth/cross.fs 2009/03/24 08:55:29 1.167 @@ -1,13 +1,13 @@ \ CROSS.FS The Cross-Compiler 06oct92py \ Idea and implementation: Bernd Paysan (py) -\ Copyright (C) 1995,1996,1997,1998,1999,2000,2003,2004,2005,2006 Free Software Foundation, Inc. +\ Copyright (C) 1995,1996,1997,1998,1999,2000,2003,2004,2005,2006,2007 Free Software Foundation, Inc. \ This file is part of Gforth. \ Gforth is free software; you can redistribute it and/or \ 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. \ This program is distributed in the hope that it will be useful, @@ -16,8 +16,7 @@ \ GNU General Public License for more details. \ You should have received a copy of the GNU General Public License -\ along with this program; if not, write to the Free Software -\ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. +\ along with this program. If not, see http://www.gnu.org/licenses/. 0 [IF] @@ -192,7 +191,7 @@ Create bases 10 , 2 , A , 100 , 1+ THEN ; -: number? ( string -- string 0 / n -1 / d 0> ) +: (number?) ( string -- string 0 / n -1 / d 0> ) dup >r count snumber? dup if rdrop else @@ -200,13 +199,15 @@ Create bases 10 , 2 , A , 100 , then ; : number ( string -- d ) - number? ?dup 0= abort" ?" 0< + (number?) ?dup 0= abort" ?" 0< IF s>d THEN ; [THEN] +[IFUNDEF] (number?) : (number?) number? ; [THEN] + \ this provides assert( and struct stuff \GFORTH [IFUNDEF] assert1( \GFORTH also forth definitions require assert.fs previous @@ -2536,7 +2537,7 @@ Cond: MAXI IF nip execute-exec-compile ELSE gexecute THEN EXIT THEN - number? dup + (number?) dup IF 0> IF swap lit, THEN lit, discard ELSE 2drop restore-input throw Ghost gexecute THEN ;