1: \ OTHER.FS Ansforth extentions for CROSS 9may93jaw
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:
22: \ make ansforth compatible 9may93jaw
23: \ the cross compiler should run
24: \ with any ansforth environment
25:
26: : ?EXIT s" IF EXIT THEN" evaluate ; immediate
27: : bounds over + swap ;
28: : capitalize ( addr -- addr )
29: dup count chars bounds
30: ?DO I c@ [char] a [char] { within
31: IF I c@ bl - I c! THEN 1 chars +LOOP ;
32: : name bl word ( capitalize ) ;
33: : on true swap ! ;
34: : off false swap ! ;
35: : place ( adr len adr )
36: 2dup c! char+ swap move ;
37: : +place ( adr len adr )
38: 2dup c@ + over c!
39: dup c@ char+ + swap move ;
40: : -rot rot rot ;
41:
42: include toolsext.fs
43:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>