--- gforth/locals-test.fs 1994/07/08 15:00:53 1.3 +++ gforth/locals-test.fs 2000/09/23 15:46:57 1.11 @@ -1,5 +1,26 @@ -include glocals.fs -include debugging.fs +\ test gforth locals + +\ Copyright (C) 1995,1996,1997 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 +\ 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, write to the Free Software +\ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + + +require glocals.fs +require debugs.fs : localsinfo \ !! only debugging ." stack: " .s ." locals-size: " locals-size ? ." locals-list" @@ -94,9 +115,12 @@ until : xxx5 { a } +a drop ahead +assume-live begin [ ." after begin" localsinfo ] +a drop [ 1 cs-roll ] then [ ." after then" localsinfo ] @@ -245,7 +269,7 @@ until [ ." after xexit" localsinfo ] else { b } - [ ." before xthen" localsinfo + [ ." before xthen" localsinfo ] then [ ." after xthen" localsinfo ] ; @@ -278,5 +302,30 @@ s" " s" " strcmp1 . cr ; teststrcmp1 +." testing the abominable locals-ext wordset" cr +: puke locals| this read you can | + you read this can ; + +1 2 3 4 puke . . . . cr + +\ just some other stuff + +: life1 { b0 b1 b23 old -- new } + b23 invert old b1 b0 xor and old invert b1 and b0 and or and ; + +: life2 { b0 b1 b23 old -- new } + b0 b1 or old b0 xor b1 xor b23 or invert and ; + +$5555 $3333 $0f0f $00ff life1 . +$5555 $3333 $0f0f $00ff life2 . +.s +cr + +: test + 1 { a } ." after }" cr + 2 { b -- } ." after --" cr +; +test +.s cr bye