--- gforth/test/ttester.fs 2007/08/19 21:33:50 1.1 +++ gforth/test/ttester.fs 2007/08/28 19:15:03 1.4 @@ -1,12 +1,20 @@ +\ for the original tester \ From: John Hayes S1I \ Subject: tester.fr \ Date: Mon, 27 Nov 95 13:10:09 PST - \ (C) 1995 JOHNS HOPKINS UNIVERSITY / APPLIED PHYSICS LABORATORY \ MAY BE DISTRIBUTED FREELY AS LONG AS THIS COPYRIGHT NOTICE REMAINS. \ VERSION 1.1 -\ revised by Anton Ertl 2007-08-12, 2007-08-19 +\ for the FNEARLY= stuff: +\ from ftester.fs written by David N. Williams, based on the idea of +\ approximate equality in Dirk Zoller's float.4th +\ public domain + +\ for the rest: +\ revised by Anton Ertl 2007-08-12, 2007-08-19, 2007-08-28 +\ public domain + \ The original has the following shortcomings: \ - It does not work as expected if the stack is non-empty before the {. @@ -22,7 +30,9 @@ \ http://www.forth200x.org/tests/ttester.fs \ tester.fs is intended to be a drop-in replacement of the original. -\ ttester.fs is a version that uses T{ and }T instead of { and }. + +\ ttester.fs is a version that uses T{ and }T instead of { and } and +\ keeps the BASE as it was before loading ttester.fs \ In spirit of the original, I have strived to avoid any potential \ non-portabilities and stayed as much within the CORE words as @@ -50,6 +60,7 @@ \ system or if you need only exact matching, you can use the plain }T \ instead. +BASE @ HEX \ SET THE FOLLOWING FLAG TO TRUE FOR MORE VERBOSE OUTPUT; THIS MAY @@ -205,8 +216,10 @@ HAS-FLOATING-STACK [IF] : F} ; : F...}T ; + DECIMAL : COMPUTE-CELLS-PER-FP ( -- U ) - DEPTH 0E DEPTH >R FDROP R> SWAP - ; + DEPTH 0E DEPTH 1- >R FDROP R> SWAP - ; + HEX COMPUTE-CELLS-PER-FP CONSTANT CELLS-PER-FP @@ -238,7 +251,7 @@ HAS-FLOATING-STACK [IF] ' ERROR1 ERROR-XT ! : T{ \ ( -- ) SYNTACTIC SUGAR. - DEPTH START-DEPTH ! F{ ; + DEPTH START-DEPTH ! 0 XCURSOR ! F{ ; : -> \ ( ... -- ) RECORD DEPTH AND CONTENT OF STACK. DEPTH DUP ACTUAL-DEPTH ! \ RECORD DEPTH @@ -315,3 +328,5 @@ HAS-FLOATING-STACK [IF] IF DUP >R TYPE CR R> >IN ! ELSE >IN ! DROP THEN ; + +BASE ! \ No newline at end of file