\ test some gforth extension words
\ Copyright (C) 2009 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 3
\ of the License, or (at your option) any later version.
\ This program is distributed in the hope that it will be useful,
\ but WITHOUT ANY WARRANTY; without even the implied warranty of
\ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\ 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, see http://www.gnu.org/licenses/.
require ./tester.fs
decimal
{ : macro1 ]] dup * [[ ; immediate -> }
{ : word1 macro1 ; -> }
{ 5 word1 -> 25 }
{ : macro2 7 ]]l + [[ ; immediate -> }
{ : word2 macro2 ; -> }
{ 8 word2 -> 15 }
{ : macro3 s" test" ]]2l compare [[ ; immediate -> }
{ : word3 macro3 ; -> }
{ s" tess" word3 -> -1 }
{ s" test" word3 -> 0 }
{ s" tesu" word3 -> 1 }
{ : macro4 4e ]]fl f+ [[ ; immediate -> }
{ : word4 macro4 ; -> }
{ 5e word4 -> 9e }
{ : macro5 ]] 0< if macro1 [[ ; immediate -> }
{ : word5 dup macro5 then ; -> }
{ -5 word5 -> 25 }
{ 5 word5 -> 5 }
\ test multi-line ]]
: macro6 ]]
0<
if
macro1 [[ ; immediate
{ : word6 dup macro6 then ; -> }
{ -5 word6 -> 25 }
{ 5 word6 -> 5 }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>