File:  [gforth] / gforth / test / other.fs
Revision 1.2: download - view: text, annotated - select for diffs
Fri Jun 6 17:28:17 1997 UTC (25 years, 6 months ago) by anton
Branches: MAIN
CVS tags: HEAD
Environmental query "gforth" now returns the version-string
dictionary-end and unused moved into the kernel/basics.fs
Minor gforth.el bug fixes
Major rewrite of objects.fs (not yet done)
fixed -trailing bug (with test in test/other.fs)
optimization of fields with offset 0 in struct.fs and compat/struct.fs
other changes in compat/struct.fs (not yet done)
added ansreports to compat/*.fs
documentation changes
allot now checks for dict overflow
named [IS] (compilation semantics of IS).
minor changes

    1: \ various tests, especially for bugs that have been fixed
    2: 
    3: \ Copyright (C) 1997 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: \ combination of marker and locals
   22: marker foo1
   23: marker foo2
   24: foo2
   25: 
   26: : bar { xxx yyy } ;
   27: 
   28: foo1
   29: 
   30: \ locals in an if structure
   31: : locals-test1
   32:     lp@ swap
   33:     if
   34: 	{ a } a
   35:     else
   36:     endif
   37:     lp@ <> abort" locals in if error 1" ;
   38: 
   39: 0 locals-test1
   40: 1 locals-test1
   41: 
   42: 
   43: \ recurse and locals
   44: 
   45: : fac { n -- n! }
   46:     n 0>
   47:     if
   48: 	n 1- recurse n *
   49:     else
   50: 	1
   51:     endif ;
   52: 
   53: 5 fac 120 <> throw
   54: 
   55: \ look for primitives
   56: 
   57: ' + look 0= throw ( nt )
   58: s" +" find-name <> throw
   59: 
   60: \ represent
   61: 
   62: 1e pad 5 represent -1 <> swap 0 <> or swap 1 <> or throw
   63: 
   64: \ -trailing
   65: 
   66: s" a     " 2 /string -trailing throw drop
   67: 
   68: \ comments across several lines
   69: 
   70: ( fjklfjlas;d
   71: abort" ( does not work across lines"
   72: )
   73: 
   74: s" ( testing ( without delimited by newline in non-files" evaluate
   75: 
   76: \ last test!
   77: \ testing '(' without ')' at end-of-file
   78: ." expect ``warning: ')' missing''" cr
   79: (

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