Author: stepan Date: 2006-10-14 23:07:27 +0200 (Sat, 14 Oct 2006) New Revision: 95
Added: fcode-utils/testsuite/TokMisc/AllBiFCTypes.fth fcode-utils/testsuite/TokeErrs/TooManyPushes.fth fcode-utils/testsuite/TokeErrs/UntermDefn.fth fcode-utils/testsuite/TokeErrs/UntermLocalAssgmnt.fth fcode-utils/testsuite/TokeErrs/UntermLocalDecl.fth Modified: fcode-utils/testsuite/TokCondl/CondMacAlias_01.fth fcode-utils/testsuite/TokMisc/TestArgs fcode-utils/testsuite/TokeErrs/DupNams.fth fcode-utils/testsuite/TokeErrs/GlobScopErrTst.fth fcode-utils/testsuite/TokeErrs/LocalTest.fth fcode-utils/testsuite/TokeErrs/MiscFeatErrs.fth fcode-utils/testsuite/TokeErrs/MulPCI_LapFC.fth fcode-utils/testsuite/TokeErrs/PCIhdrErrs.fth fcode-utils/testsuite/TokeErrs/TestArgs fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08.fth fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16_body.fth fcode-utils/testsuite/TokeErrs/TooLargePMessage.fth fcode-utils/testsuite/TokeErrs/TooLargePQuote.fth fcode-utils/testsuite/TokeErrs/TooLargeParen.fth fcode-utils/testsuite/TokeErrs/TooLargeQAbort.fth fcode-utils/testsuite/TokeErrs/TooLargeQMessage.fth fcode-utils/testsuite/TokeErrs/TooLargeQNoAbort.fth fcode-utils/testsuite/TokeErrs/TooLargeSQuote.fth fcode-utils/testsuite/TokeErrs/TooManyFCodes.fth Log: update test suite to v1.0.1
Modified: fcode-utils/testsuite/TokCondl/CondMacAlias_01.fth =================================================================== --- fcode-utils/testsuite/TokCondl/CondMacAlias_01.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokCondl/CondMacAlias_01.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -77,7 +77,7 @@ : [else] ." Don't do it" ; [message] Fake [else] got through create [else] [message] Fake [else] got through h# defeca8e constant [else] [message] Fake [else] got through - h# beeffece value [else] [message] Fake [else] got through + h# -41100132 value [else] [message] Fake [else] got through d# 64 buffer: [else] [message] Fake [else] got through struct /l field [else] [message] Fake [else] got through @@ -85,7 +85,7 @@ defer [else] [message] Fake [else] got through ['] [else] [message] Fake [else] got through to [else] [message] Fake [else] got through - ['] [else] + ['] [else] alias moomoo [else] is [else] [message] Fake [else] got through : say-what ( tony vinnie looie -- -- marie )
Added: fcode-utils/testsuite/TokMisc/AllBiFCTypes.fth =================================================================== --- fcode-utils/testsuite/TokMisc/AllBiFCTypes.fth (rev 0) +++ fcode-utils/testsuite/TokMisc/AllBiFCTypes.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -0,0 +1,64 @@ +\ Test all the known Built-In FCode tokens +\ that have specific definition Types + +\ Updated Wed, 16 Aug 2006 at 14:30 PDT by David L. Paktor + +\ Applying "TO" to them ought to generate errors +\ except for the ones that legitimately take "TO", +\ namely the DEFER and VALUE definitions + +fcode-version2 + + +[message] Constants. Should generate errors +d# 10 to -1 ( CONST ) +d# 10 to -1 ( CONST ) +d# 10 to 0 ( CONST ) +d# 10 to 0 ( CONST ) +d# 10 to 0 ( CONST ) +d# 10 to 1 ( CONST ) +d# 10 to 2 ( CONST ) +d# 10 to 3 ( CONST ) +d# 10 to bell ( CONST ) +d# 10 to bl ( CONST ) +d# 10 to bs ( CONST ) + +[message] Defer Words. Should generate no errors +['] noop to blink-screen ( DEFER ) +['] noop to delete-characters ( DEFER ) +['] noop to delete-lines ( DEFER ) +['] noop to draw-character ( DEFER ) +['] noop to draw-logo ( DEFER ) +['] noop to erase-screen ( DEFER ) +['] noop to insert-characters ( DEFER ) +['] noop to insert-lines ( DEFER ) +['] noop to invert-screen ( DEFER ) +['] noop to reset-screen ( DEFER ) +['] noop to toggle-cursor ( DEFER ) + +[message] Value Words. Should generate no errors +h# 32 to #columns ( VALUE ) +h# 32 to #lines ( VALUE ) +h# 32 to char-height ( VALUE ) +h# 32 to char-width ( VALUE ) +h# 32 to column# ( VALUE ) +h# 32 to fontbytes ( VALUE ) +h# 32 to frame-buffer-adr ( VALUE ) +h# 32 to inverse-screen? ( VALUE ) +h# 32 to inverse? ( VALUE ) +h# 32 to line# ( VALUE ) +h# 32 to my-self ( VALUE ) +h# 32 to screen-height ( VALUE ) +h# 32 to screen-width ( VALUE ) +h# 32 to window-left ( VALUE ) +h# 32 to window-top ( VALUE ) + +[message] Variables. Should generate errors +h# 12 to #line ( VRBLE ) +h# 12 to #out ( VRBLE ) +h# 12 to base ( VRBLE ) +h# 12 to mask ( VRBLE ) +h# 12 to span ( VRBLE ) +h# 12 to state ( VRBLE ) + +fcode-end
Modified: fcode-utils/testsuite/TokMisc/TestArgs =================================================================== --- fcode-utils/testsuite/TokMisc/TestArgs 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokMisc/TestArgs 2006-10-14 21:07:27 UTC (rev 95) @@ -8,7 +8,7 @@ # Lines that have no label, no switches, and no script # do not need any commas.
-# Updated Thu, 06 Jul 2006 at 13:16 PDT by David L. Paktor +# Updated Thu, 07 Sep 2006 at 11:49 PDT by David L. Paktor
MiscFeatures , , -i MiscFeatures , applabq , -i -f NOSUN-ABORT-Quote @@ -46,7 +46,9 @@ HeadrSettings , alwyshdr , -f always-heADERs HeadrSettings , alwyextl , -f alwaYS-External HeadrSettings , alwaysboth , -f always-headers -f always-external -FlagsHelp , , -f HELP +FlagsHelp , Hlp , -f HELP +FlagsHelp , , -o FlagsHelp.fc FlagsHelp.fth +FlagsHelp , UnkOpt , -Z FlagsHelp , Chg , -f noHex-remark-ESCAPE -f Always-Headers -f help FlagsHelp , noChg , -f noLocal-Values -f help FlagsHelp , chgNoHlp , -f noHex-remark-escape -f Always-Headers -f noHelp @@ -55,6 +57,7 @@ FlgReset FlgReset_1 FlgReset_2 FlgReset FlgReset_1 FlgReset_2 , AlwExt , -f Always-External AllMacros , , , ExamAllMacs.scr +AllBiFCTypes
# A little more set-up for Batch Test UserMacros , , , cp UserMacros.fth UserMacros_cpy1.fth
Modified: fcode-utils/testsuite/TokeErrs/DupNams.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/DupNams.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/DupNams.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -33,7 +33,7 @@
: noop ." Op? No!" ; [macro] zoop noop message" I Care." -: poop h# defeca8e ; +: poop h# -21013572 ;
new-device : zoop ." Nothing like the other zoop" croop ; @@ -74,8 +74,18 @@ finish-device
finish-device +start4 \ Let's just stick in an extra, and another error besides... +fcode-end
+\ And a few false-starts and ends... fcode-end
-\ Let's just stick in an extra... -fcode-end +start0 + ." What does this button do?" +end1 + +start2 + ." Oh, was I not supposed to touch that?" +end0 + +save-image poop.fc \ Not gonna happen anyway...
Modified: fcode-utils/testsuite/TokeErrs/GlobScopErrTst.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/GlobScopErrTst.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/GlobScopErrTst.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -73,7 +73,7 @@ garbanzo ;
-h# deadc0de instance value quaack [message] Instance should be legit here. +h# DEADc0de instance value quaack [message] Instance should be legit here.
global-definitions
Modified: fcode-utils/testsuite/TokeErrs/LocalTest.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/LocalTest.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/LocalTest.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,5 +1,5 @@ \ LocalTest.fth -\ Updated Wed, 25 Jan 2006 at 14:33 PST by David L. Paktor +\ Updated Thu, 31 Aug 2006 at 15:33 PDT by David L. Paktor
fcode-version2
@@ -9,7 +9,7 @@ fload LocalValuesSupport.fth [endif]
-h# deaf constant dean +h# Deaf constant dean
: faber ( n3 n2 n1 -- alloc-addr size $addr,len ) { _otter _weasel _skunk ; _muskrat _mole } @@ -58,6 +58,31 @@ : ordinary ( -- ) 123 456 789 miracle ; + + { _don't _allow _this ; _ever }
+ F[ + { _nor _this ; _either } + ]F + +\ And the "unterminated" tests + +: ahnold ( the unterminator ) + fload UntermLocalDecl.fth + } \ Does this conclude it okay? (No, it's extraneous...) + _green _goose + dup + -> _souvenirs + fload UntermLocalAssgmnt.fth + _souvenirs +; + +\ Once more, out of context: +fload UntermLocalDecl.fth +fload UntermLocalAssgmnt.fth _souvenirs + +\ And another couple of corner-cases: + fload UntermDefn.fth moopoop +F[ fload UntermDefn.fth poop-de-moo ]F + fcode-end
Modified: fcode-utils/testsuite/TokeErrs/MiscFeatErrs.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/MiscFeatErrs.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/MiscFeatErrs.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -3,10 +3,10 @@
[flag] Local-Values f[ ." This is a test" ]f -fcode-version2 +fcode-version1
fload LocalValuesSupport.fth - +noop noop noop headers
[char] G emit @@ -32,8 +32,8 @@ [macro] swell bell device-definitions [macro] yell bell - -bell +offset16 +bell offset16 : factl ( n -- n! ) ?dup 0= if 1 factl control G to bell
Modified: fcode-utils/testsuite/TokeErrs/MulPCI_LapFC.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/MulPCI_LapFC.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/MulPCI_LapFC.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,12 +1,12 @@ \ Combine Multiple PCI headers with overlapping FCodes. -\ Updated Wed, 14 Jun 2006 at 12:04 PDT by David L. Paktor +\ Updated Fri, 01 Sep 2006 at 12:55 PDT by David L. Paktor
\ We already have a source with overlapping FCodes in two FCode blocks \ We just have to wrap it in multiple PCI headers. \ Also, we have to make sure to define NoCrash as a command-line symbol \ While we're at it, let's also create another switchable behavior: \ If the command-line symbol RangeTwo is defined, it should have -\ a value in the form of a hex number (We'll tace care of the "hex") +\ a value in the form of a hex number (We'll take care of the "hex") \ which will, in a roundabout way, become the starting FCode for \ the second loading of the common Source. \ We'll save the symbol in a roundabout manner that will test whether @@ -37,11 +37,11 @@ fload TooManyFCodes.fth
-[ifdef] RangeTwo +\ Generate an error or two if RangeTwo is not DEFINED. It's harmless f[ [DEFINED] RangeTwo constant SecondRangeFCode ]f -[endif] +\ because all the other references to SecondRangeFCode are conditioned...
\ Try it once before and once after... [ifndef] NoReset fcode-reset [else] #message" Not resetting..." [endif]
Modified: fcode-utils/testsuite/TokeErrs/PCIhdrErrs.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/PCIhdrErrs.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/PCIhdrErrs.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,6 +1,6 @@ \ Basic PCI-Headers Errors test.
-\ Updated Wed, 25 May 2005 at 17:30 by David L. Paktor +\ Updated Thu, 31 Aug 2006 at 13:27 PDT by David L. Paktor
hex @@ -26,3 +26,6 @@
pci-header-end
+\ This is another... + +pci-header-end
Modified: fcode-utils/testsuite/TokeErrs/TestArgs =================================================================== --- fcode-utils/testsuite/TokeErrs/TestArgs 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TestArgs 2006-10-14 21:07:27 UTC (rev 95) @@ -13,11 +13,11 @@ # Most files in this category need the -i switch # Some may have additional variants.
-# Updated Thu, 27 Jul 2006 at 17:55 PDT by David L. Paktor +# Updated Thu, 07 Sep 2006 at 11:49 PDT by David L. Paktor
MiscFeatErrs , , -i -I. -I.. -LocalTest , NoLvSupp , -i -I. -I.. -f Local-Values -LocalTest , , -i -f Local-Values -d dont_omit_support -I. -I.. +LocalTest , NoLvSupp , -i -f Local-Values -I. -I.. +LocalTest , , -i -f Local-Values -I. -I.. -f Always-Headers -d dont_omit_support LocalTest1 , , -f Local-Values -f noLV-Legacy-Message -I. -I.. ControlMismatch , , -i SuppLocErrTest4 , , -i -f Local-Values -l -I. -I.. @@ -40,6 +40,7 @@ TooLargeBranch_off16 , V179 , -i -l -d "fld_cmd=fload TooLargeBranch_V179_body.fth" TooLargeBranch_off16 , V180 , -i -l -d "fld_cmd=fload TooLargeBranch_V180_body.fth" TooLargeBranch_off08 , , -i -l +TooLargeBranch_off08 , V180 , -i -l -d "fld_cmd=fload TooLargeBranch_V180_body.fth" TooLargeBranch_off08_to_16 , , -i -l TooTooLargeBuffer , , -i -l UserMacroErrors , , -i @@ -52,13 +53,13 @@ GlobScopErrTst_01 , , -i -f Local-Values -I. -I.. GlobScopErrTst_02 , , -i -f Local-Values -I. -I.. GlobScopErrTst_03 , , -i -f Local-Values -I. -I.. -# The script-fields below prepare for the ExpPath and InclLst tests -Frinstnce , , -i , touch ExpPath.NoV.f{c,l{,.missing}} -Frinstnce , NoI , , chmod a-rw ../TokeCommon/{MyBeerAndYouCannotHaveIt.fth,NoRead.bin} ExpPath.NoV.f{c,l{,.missing}} +# The script-fields below prepare for the ExpPath InclLst and DePList tests +Frinstnce , , -i , touch ExpPath.NoV.{P,f{c,l{,.missing}}} +Frinstnce , NoI , , chmod a-rw ../TokeCommon/{MyBeerAndYouCannotHaveIt.fth,NoRead.bin} ExpPath.NoV.{P,f{c,l{,.missing}}}
-# We're now ready for the ExpPath and InclLst tests +# We're now ready for the ExpPath InclLst and DePList tests
-ExpPath , NoV , -i -l , +V rm -f ExpPath.NoV.f{c,l{,.missing}} +ExpPath , NoV , -i -l -P , +V rm -f ExpPath.NoV.{P,f{c,l{,.missing}}}
InclLst , , -i -l -P -I .. -I ../TokBrack -I ../TokMisc -I ../TokeCommon -I ../TokoLoco -I ../TokCondl -I ../TokProdCpy -I ../TokeErrs -I /home/dlpaktor/HeyVern/DoYuhThink/ThisIsA/LongEnuffPathName/To/Make/The/Line/Really/Overflow -I . -I /home/dlpaktor/Hey/Vern/This/Path/Just/Fills/Up/TheLine/KnowWhudI/Mean -I ../TokeCommon -f noAbort-quote
@@ -68,29 +69,32 @@
# Done with the ExpPath and InclLst tests ToAtEnd , , -i +ToAtEnd , WLocSup , -i -I . -I .. ObsoFCodes , , -i ObsoFCodes , NoWarn , -f NoObsolete-FCode-Warning
TooLargePMessage TooLargePQuote , , -i TooLargeQMessage -TooLargeSQuote +TooLargeSQuote , , -i TooLargeParen , , -i TooLargeQAbort -TooLargeQNoAbort +TooLargeQNoAbort , , -f Local-Values
AbrtWQuotStr , , -i
# The new "Trace" feature, and handling of duplicate and mis-scoped names... DupNams , , -f Local-Values -T croop -T drop -T _harpo -T dup -T noop -T zoop -T foop
-TooManyFCodes , , -i +TooManyFCodes , , -l -o TooManyFCodes.fl +TooManyFCodes , Reg , -i TooManyFCodes , NoCrash , -i -d NoCrash
MulPCI_LapFC , , -i -d NoCrash -MulPCI_LapFC , RngTwo , -i -d NoCrash -d RangeTwo=0ace +MulPCI_LapFC , RngTwo , -i -d NoCrash=DupDefn -d NoCrash -d OIBeenToTheOasis=Twice -d RangeTwo=0941 -d NoCrash -d RangeTwo=0ace MulPCI_LapFC , RTwoNoRst , -i -d NoCrash -d RangeTwo=0ace -d NoReset MulPCI_LapFC , NoRst , -i -d NoCrash -d NoReset +MulPCI_LapFC , NoRTwoVal , -i -d NoCrash -d NoReset -d RangeTwo
RetStkDep , , -i CondlDefn , , -i
Modified: fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,6 +1,11 @@ -\ Test case of a branch going over too large a range +\ Test case of a branch going over too large a range for eight-bit offsets \ Body generated by the "Verbal Bottles of Beer" script, -\ (Argument of 1 is enough to do it.) +\ (Verbal argument of 1 is enough to do it.) +\ Also a branch that goes over too large a range even for sixteen-bit offsets. +\ (Verbal argument of 179 is just enough to do that.) +\ (Verbal argument of N >= 180 exceeds all the branch ranges.) +\ Command-line definition of 'fld_cmd' can be used to load variable-sized bodies +\ and should be of the form 'fload <filename>' .
fcode-version1 \ Eight-bit offsets. @@ -69,4 +74,36 @@ ." Here we go!" cr ;
+\ Here's the do-loop that can overflow even sixteen-bit offsets. + +: too-large-case ( n -- ) + + ." Let's give it a large back-reference too." + begin ." We've just begun" + ." 1 0 do " cr 1 0 do + dup ." if " cr + if + dup ." case" + case + 0 of ." Just a short case" cr endof + ." Not my default! A Big One!" cr + +[ifndef] fld_cmd + fload TooLargeBranch_off16_body.fth +[else] + [defined] fld_cmd +[endif] + + endcase + ." then" + then + ." Loop back and forward" cr loop + + ." And here we are!" + exit + ." Well, we needed some way out!" + + again ." Back to the fuchsia." +; + fcode-end
Modified: fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16_body.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16_body.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16_body.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -118,45 +118,45 @@ ." Oh, one hundred and fifty Bottles of Beer on the wall," cr ." one hundred and fifty Bottles of Beer!," cr ." Take one down and pass it around," cr -." one hundred and fourty-nine Bottles of Beer on the wall." cr -." Oh, one hundred and fourty-nine Bottles of Beer on the wall," cr -." one hundred and fourty-nine Bottles of Beer!," cr +." one hundred and forty-nine Bottles of Beer on the wall." cr +." Oh, one hundred and forty-nine Bottles of Beer on the wall," cr +." one hundred and forty-nine Bottles of Beer!," cr ." Take one down and pass it around," cr -." one hundred and fourty-eight Bottles of Beer on the wall." cr -." Oh, one hundred and fourty-eight Bottles of Beer on the wall," cr -." one hundred and fourty-eight Bottles of Beer!," cr +." one hundred and forty-eight Bottles of Beer on the wall." cr +." Oh, one hundred and forty-eight Bottles of Beer on the wall," cr +." one hundred and forty-eight Bottles of Beer!," cr ." Take one down and pass it around," cr -." one hundred and fourty-seven Bottles of Beer on the wall." cr -." Oh, one hundred and fourty-seven Bottles of Beer on the wall," cr -." one hundred and fourty-seven Bottles of Beer!," cr +." one hundred and forty-seven Bottles of Beer on the wall." cr +." Oh, one hundred and forty-seven Bottles of Beer on the wall," cr +." one hundred and forty-seven Bottles of Beer!," cr ." Take one down and pass it around," cr -." one hundred and fourty-six Bottles of Beer on the wall." cr -." Oh, one hundred and fourty-six Bottles of Beer on the wall," cr -." one hundred and fourty-six Bottles of Beer!," cr +." one hundred and forty-six Bottles of Beer on the wall." cr +." Oh, one hundred and forty-six Bottles of Beer on the wall," cr +." one hundred and forty-six Bottles of Beer!," cr ." Take one down and pass it around," cr -." one hundred and fourty-five Bottles of Beer on the wall." cr -." Oh, one hundred and fourty-five Bottles of Beer on the wall," cr -." one hundred and fourty-five Bottles of Beer!," cr +." one hundred and forty-five Bottles of Beer on the wall." cr +." Oh, one hundred and forty-five Bottles of Beer on the wall," cr +." one hundred and forty-five Bottles of Beer!," cr ." Take one down and pass it around," cr -." one hundred and fourty-four Bottles of Beer on the wall." cr -." Oh, one hundred and fourty-four Bottles of Beer on the wall," cr -." one hundred and fourty-four Bottles of Beer!," cr +." one hundred and forty-four Bottles of Beer on the wall." cr +." Oh, one hundred and forty-four Bottles of Beer on the wall," cr +." one hundred and forty-four Bottles of Beer!," cr ." Take one down and pass it around," cr -." one hundred and fourty-three Bottles of Beer on the wall." cr -." Oh, one hundred and fourty-three Bottles of Beer on the wall," cr -." one hundred and fourty-three Bottles of Beer!," cr +." one hundred and forty-three Bottles of Beer on the wall." cr +." Oh, one hundred and forty-three Bottles of Beer on the wall," cr +." one hundred and forty-three Bottles of Beer!," cr ." Take one down and pass it around," cr -." one hundred and fourty-two Bottles of Beer on the wall." cr -." Oh, one hundred and fourty-two Bottles of Beer on the wall," cr -." one hundred and fourty-two Bottles of Beer!," cr +." one hundred and forty-two Bottles of Beer on the wall." cr +." Oh, one hundred and forty-two Bottles of Beer on the wall," cr +." one hundred and forty-two Bottles of Beer!," cr ." Take one down and pass it around," cr -." one hundred and fourty-one Bottles of Beer on the wall." cr -." Oh, one hundred and fourty-one Bottles of Beer on the wall," cr -." one hundred and fourty-one Bottles of Beer!," cr +." one hundred and forty-one Bottles of Beer on the wall." cr +." Oh, one hundred and forty-one Bottles of Beer on the wall," cr +." one hundred and forty-one Bottles of Beer!," cr ." Take one down and pass it around," cr -." one hundred and fourty Bottles of Beer on the wall." cr -." Oh, one hundred and fourty Bottles of Beer on the wall," cr -." one hundred and fourty Bottles of Beer!," cr +." one hundred and forty Bottles of Beer on the wall." cr +." Oh, one hundred and forty Bottles of Beer on the wall," cr +." one hundred and forty Bottles of Beer!," cr ." Take one down and pass it around," cr ." one hundred and thirty-nine Bottles of Beer on the wall." cr ." Oh, one hundred and thirty-nine Bottles of Beer on the wall," cr @@ -518,45 +518,45 @@ ." Oh, fifty Bottles of Beer on the wall," cr ." fifty Bottles of Beer!," cr ." Take one down and pass it around," cr -." fourty-nine Bottles of Beer on the wall." cr -." Oh, fourty-nine Bottles of Beer on the wall," cr -." fourty-nine Bottles of Beer!," cr +." forty-nine Bottles of Beer on the wall." cr +." Oh, forty-nine Bottles of Beer on the wall," cr +." forty-nine Bottles of Beer!," cr ." Take one down and pass it around," cr -." fourty-eight Bottles of Beer on the wall." cr -." Oh, fourty-eight Bottles of Beer on the wall," cr -." fourty-eight Bottles of Beer!," cr +." forty-eight Bottles of Beer on the wall." cr +." Oh, forty-eight Bottles of Beer on the wall," cr +." forty-eight Bottles of Beer!," cr ." Take one down and pass it around," cr -." fourty-seven Bottles of Beer on the wall." cr -." Oh, fourty-seven Bottles of Beer on the wall," cr -." fourty-seven Bottles of Beer!," cr +." forty-seven Bottles of Beer on the wall." cr +." Oh, forty-seven Bottles of Beer on the wall," cr +." forty-seven Bottles of Beer!," cr ." Take one down and pass it around," cr -." fourty-six Bottles of Beer on the wall." cr -." Oh, fourty-six Bottles of Beer on the wall," cr -." fourty-six Bottles of Beer!," cr +." forty-six Bottles of Beer on the wall." cr +." Oh, forty-six Bottles of Beer on the wall," cr +." forty-six Bottles of Beer!," cr ." Take one down and pass it around," cr -." fourty-five Bottles of Beer on the wall." cr -." Oh, fourty-five Bottles of Beer on the wall," cr -." fourty-five Bottles of Beer!," cr +." forty-five Bottles of Beer on the wall." cr +." Oh, forty-five Bottles of Beer on the wall," cr +." forty-five Bottles of Beer!," cr ." Take one down and pass it around," cr -." fourty-four Bottles of Beer on the wall." cr -." Oh, fourty-four Bottles of Beer on the wall," cr -." fourty-four Bottles of Beer!," cr +." forty-four Bottles of Beer on the wall." cr +." Oh, forty-four Bottles of Beer on the wall," cr +." forty-four Bottles of Beer!," cr ." Take one down and pass it around," cr -." fourty-three Bottles of Beer on the wall." cr -." Oh, fourty-three Bottles of Beer on the wall," cr -." fourty-three Bottles of Beer!," cr +." forty-three Bottles of Beer on the wall." cr +." Oh, forty-three Bottles of Beer on the wall," cr +." forty-three Bottles of Beer!," cr ." Take one down and pass it around," cr -." fourty-two Bottles of Beer on the wall." cr -." Oh, fourty-two Bottles of Beer on the wall," cr -." fourty-two Bottles of Beer!," cr +." forty-two Bottles of Beer on the wall." cr +." Oh, forty-two Bottles of Beer on the wall," cr +." forty-two Bottles of Beer!," cr ." Take one down and pass it around," cr -." fourty-one Bottles of Beer on the wall." cr -." Oh, fourty-one Bottles of Beer on the wall," cr -." fourty-one Bottles of Beer!," cr +." forty-one Bottles of Beer on the wall." cr +." Oh, forty-one Bottles of Beer on the wall," cr +." forty-one Bottles of Beer!," cr ." Take one down and pass it around," cr -." fourty Bottles of Beer on the wall." cr -." Oh, fourty Bottles of Beer on the wall," cr -." fourty Bottles of Beer!," cr +." forty Bottles of Beer on the wall." cr +." Oh, forty Bottles of Beer on the wall," cr +." forty Bottles of Beer!," cr ." Take one down and pass it around," cr ." thirty-nine Bottles of Beer on the wall." cr ." Oh, thirty-nine Bottles of Beer on the wall," cr
Modified: fcode-utils/testsuite/TokeErrs/TooLargePMessage.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooLargePMessage.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TooLargePMessage.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,5 +1,5 @@ -\ Test a Paren-Message that is not terminated at all and the number -\ of characters until the end of file exceeds the buffer. +\ Test a Paren-Message that is not terminated at all and whose +\ number of characters until the end of file exceeds the buffer. \ A Paren-Message does not have the string-escape sequences. \ Enter Tokenizer-escape mode \ then define the required test-token as alias to .(
Modified: fcode-utils/testsuite/TokeErrs/TooLargePQuote.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooLargePQuote.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TooLargePQuote.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,4 +1,4 @@ -\ Test a P-Quote that is not terminated at all and the number +\ Test a P-Quote that is not terminated at all and whose number \ of characters until the end of file exceeds the buffer. \ A P-Quote has the string-escape sequences. \ Define the required test-token as alias to ."
Modified: fcode-utils/testsuite/TokeErrs/TooLargeParen.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooLargeParen.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TooLargeParen.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,15 +1,15 @@ -\ Test a Parenthesis-Comment that is not terminated at all and the number -\ of characters until the end of file exceeds the buffer. +\ Test a Parenthesis-Comment that is not terminated at all and whose +\ number of characters until the end of file exceeds the buffer. \ Define the required test-token as alias to ( \ then FLOAD the test-body file.
-\ Updated Wed, 10 May 2006 at 10:43 PDT by David L. Paktor +\ Updated Fri, 01 Sep 2006 at 09:39 PDT by David L. Paktor
global-definitions alias test-token (
-fcode-version2 +start4
headers
Modified: fcode-utils/testsuite/TokeErrs/TooLargeQAbort.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooLargeQAbort.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TooLargeQAbort.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,5 +1,5 @@ -\ Test an Abort-Quote whose body is not terminated at all and the number -\ of characters until the end of file exceeds the buffer. +\ Test an Abort-Quote whose body is not terminated at all and whose +\ number of characters until the end of file exceeds the buffer. \ Abort-Quote may be dis-allowed. This test allows it. \ Define the required test-token as alias to abort" \ then FLOAD the test-body file.
Modified: fcode-utils/testsuite/TokeErrs/TooLargeQMessage.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooLargeQMessage.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TooLargeQMessage.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,5 +1,5 @@ -\ Test a Quote-Message that is not terminated at all and the number -\ of characters until the end of file exceeds the buffer. +\ Test a Quote-Message that is not terminated at all and whose +\ number of characters until the end of file exceeds the buffer. \ A Quote-Message has the string-escape sequences. \ Define the required test-token as alias to #message" \ then FLOAD the test-body file.
Modified: fcode-utils/testsuite/TokeErrs/TooLargeQNoAbort.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooLargeQNoAbort.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TooLargeQNoAbort.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,5 +1,5 @@ -\ Test an Abort-Quote whose body is not terminated at all and the number -\ of characters until the end of file exceeds the buffer. +\ Test an Abort-Quote whose body is not terminated at all and whose +\ number of characters until the end of file exceeds the buffer. \ Abort-Quote may be dis-allowed. It is dis-allowed in this test. \ Define the required test-token as alias to abort" \ then FLOAD the test-body file.
Modified: fcode-utils/testsuite/TokeErrs/TooLargeSQuote.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooLargeSQuote.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TooLargeSQuote.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,4 +1,4 @@ -\ Test an Ess-Quote that is not terminated at all and the number +\ Test an Ess-Quote that is not terminated at all and whose number \ of characters until the end of file exceeds the buffer. \ An Ess-Quote does not have the string-escape sequences. \ Define the required test-token as alias to S"
Modified: fcode-utils/testsuite/TokeErrs/TooManyFCodes.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooManyFCodes.fth 2006-10-14 20:42:30 UTC (rev 94) +++ fcode-utils/testsuite/TokeErrs/TooManyFCodes.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -1,6 +1,6 @@ \ Test overlapping FCode # error checking, and reaching the max allowable.
-\ Updated Wed, 14 Jun 2006 at 12:54 PDT by David L. Paktor +\ Updated Wed, 06 Sep 2006 at 18:23 PDT by David L. Paktor
\ A macro to force showing the current nextfcode global-definitions @@ -18,11 +18,11 @@
0 constant my_zero fload OneTwoFive.fth - fcode-push + fcode-push f[ f['] eleven next-fcode ]f fcode-pop fcode-push #message" one_twenty-six" 126 constant one_hundred_and_twenty-six #message" one_twenty-seven" 127 constant one_hundred_and_twenty-seven #message" one_twenty-eight" 128 constant one_hundred_and_twenty-eight - + f[ f['] eleven emit-fcode ]f show-next-fcode
new-device @@ -33,7 +33,7 @@ #message" one_twenty-seven" 127 constant one_hundred_and_twenty-seven #message" one_twenty-eight" 128 constant one_hundred_and_twenty-eight
- show-next-fcode + f[ fcode-push f['] eleven next-fcode ]f fcode-pop finish-device
new-device @@ -50,7 +50,7 @@ new-device fcode-pop 0 constant my_zero - fload OneTwoFive.fth + fload OneTwoFive.fth f[ fcode-push f['] eleven next-fcode fcode-pop ]f f[ fcode-push constant dev-2-lap ]f #message" one_twenty-six" 126 constant one_hundred_and_twenty-six #message" one_twenty-seven" 127 constant one_hundred_and_twenty-seven @@ -136,10 +136,13 @@
\ This next one pushes the FCode # over the limit and causes a crash. \ Let's leave ourselves a way around that, so we can use this in other ways -\ Allow a command-line symbol called nocrash to prevent this. +\ Allow a command-line symbol called NoCrash to prevent this. [ifndef] NoCrash #message" one_twenty-eight" 128 constant one_hundred_and_twenty-eight show-next-fcode +[else] \ Otherwise, let's do this test: + #message" Overflow the data-stack." + f[ decimal fload TooManyPushes.fth f] [endif]
fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooManyPushes.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/TooManyPushes.fth (rev 0) +++ fcode-utils/testsuite/TokeErrs/TooManyPushes.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -0,0 +1,1027 @@ +1027 +1026 +1025 +1024 +1023 +1022 +1021 +1020 +1019 +1018 +1017 +1016 +1015 +1014 +1013 +1012 +1011 +1010 +1009 +1008 +1007 +1006 +1005 +1004 +1003 +1002 +1001 +1000 +999 +998 +997 +996 +995 +994 +993 +992 +991 +990 +989 +988 +987 +986 +985 +984 +983 +982 +981 +980 +979 +978 +977 +976 +975 +974 +973 +972 +971 +970 +969 +968 +967 +966 +965 +964 +963 +962 +961 +960 +959 +958 +957 +956 +955 +954 +953 +952 +951 +950 +949 +948 +947 +946 +945 +944 +943 +942 +941 +940 +939 +938 +937 +936 +935 +934 +933 +932 +931 +930 +929 +928 +927 +926 +925 +924 +923 +922 +921 +920 +919 +918 +917 +916 +915 +914 +913 +912 +911 +910 +909 +908 +907 +906 +905 +904 +903 +902 +901 +900 +899 +898 +897 +896 +895 +894 +893 +892 +891 +890 +889 +888 +887 +886 +885 +884 +883 +882 +881 +880 +879 +878 +877 +876 +875 +874 +873 +872 +871 +870 +869 +868 +867 +866 +865 +864 +863 +862 +861 +860 +859 +858 +857 +856 +855 +854 +853 +852 +851 +850 +849 +848 +847 +846 +845 +844 +843 +842 +841 +840 +839 +838 +837 +836 +835 +834 +833 +832 +831 +830 +829 +828 +827 +826 +825 +824 +823 +822 +821 +820 +819 +818 +817 +816 +815 +814 +813 +812 +811 +810 +809 +808 +807 +806 +805 +804 +803 +802 +801 +800 +799 +798 +797 +796 +795 +794 +793 +792 +791 +790 +789 +788 +787 +786 +785 +784 +783 +782 +781 +780 +779 +778 +777 +776 +775 +774 +773 +772 +771 +770 +769 +768 +767 +766 +765 +764 +763 +762 +761 +760 +759 +758 +757 +756 +755 +754 +753 +752 +751 +750 +749 +748 +747 +746 +745 +744 +743 +742 +741 +740 +739 +738 +737 +736 +735 +734 +733 +732 +731 +730 +729 +728 +727 +726 +725 +724 +723 +722 +721 +720 +719 +718 +717 +716 +715 +714 +713 +712 +711 +710 +709 +708 +707 +706 +705 +704 +703 +702 +701 +700 +699 +698 +697 +696 +695 +694 +693 +692 +691 +690 +689 +688 +687 +686 +685 +684 +683 +682 +681 +680 +679 +678 +677 +676 +675 +674 +673 +672 +671 +670 +669 +668 +667 +666 +665 +664 +663 +662 +661 +660 +659 +658 +657 +656 +655 +654 +653 +652 +651 +650 +649 +648 +647 +646 +645 +644 +643 +642 +641 +640 +639 +638 +637 +636 +635 +634 +633 +632 +631 +630 +629 +628 +627 +626 +625 +624 +623 +622 +621 +620 +619 +618 +617 +616 +615 +614 +613 +612 +611 +610 +609 +608 +607 +606 +605 +604 +603 +602 +601 +600 +599 +598 +597 +596 +595 +594 +593 +592 +591 +590 +589 +588 +587 +586 +585 +584 +583 +582 +581 +580 +579 +578 +577 +576 +575 +574 +573 +572 +571 +570 +569 +568 +567 +566 +565 +564 +563 +562 +561 +560 +559 +558 +557 +556 +555 +554 +553 +552 +551 +550 +549 +548 +547 +546 +545 +544 +543 +542 +541 +540 +539 +538 +537 +536 +535 +534 +533 +532 +531 +530 +529 +528 +527 +526 +525 +524 +523 +522 +521 +520 +519 +518 +517 +516 +515 +514 +513 +512 +511 +510 +509 +508 +507 +506 +505 +504 +503 +502 +501 +500 +499 +498 +497 +496 +495 +494 +493 +492 +491 +490 +489 +488 +487 +486 +485 +484 +483 +482 +481 +480 +479 +478 +477 +476 +475 +474 +473 +472 +471 +470 +469 +468 +467 +466 +465 +464 +463 +462 +461 +460 +459 +458 +457 +456 +455 +454 +453 +452 +451 +450 +449 +448 +447 +446 +445 +444 +443 +442 +441 +440 +439 +438 +437 +436 +435 +434 +433 +432 +431 +430 +429 +428 +427 +426 +425 +424 +423 +422 +421 +420 +419 +418 +417 +416 +415 +414 +413 +412 +411 +410 +409 +408 +407 +406 +405 +404 +403 +402 +401 +400 +399 +398 +397 +396 +395 +394 +393 +392 +391 +390 +389 +388 +387 +386 +385 +384 +383 +382 +381 +380 +379 +378 +377 +376 +375 +374 +373 +372 +371 +370 +369 +368 +367 +366 +365 +364 +363 +362 +361 +360 +359 +358 +357 +356 +355 +354 +353 +352 +351 +350 +349 +348 +347 +346 +345 +344 +343 +342 +341 +340 +339 +338 +337 +336 +335 +334 +333 +332 +331 +330 +329 +328 +327 +326 +325 +324 +323 +322 +321 +320 +319 +318 +317 +316 +315 +314 +313 +312 +311 +310 +309 +308 +307 +306 +305 +304 +303 +302 +301 +300 +299 +298 +297 +296 +295 +294 +293 +292 +291 +290 +289 +288 +287 +286 +285 +284 +283 +282 +281 +280 +279 +278 +277 +276 +275 +274 +273 +272 +271 +270 +269 +268 +267 +266 +265 +264 +263 +262 +261 +260 +259 +258 +257 +256 +255 +254 +253 +252 +251 +250 +249 +248 +247 +246 +245 +244 +243 +242 +241 +240 +239 +238 +237 +236 +235 +234 +233 +232 +231 +230 +229 +228 +227 +226 +225 +224 +223 +222 +221 +220 +219 +218 +217 +216 +215 +214 +213 +212 +211 +210 +209 +208 +207 +206 +205 +204 +203 +202 +201 +200 +199 +198 +197 +196 +195 +194 +193 +192 +191 +190 +189 +188 +187 +186 +185 +184 +183 +182 +181 +180 +179 +178 +177 +176 +175 +174 +173 +172 +171 +170 +169 +168 +167 +166 +165 +164 +163 +162 +161 +160 +159 +158 +157 +156 +155 +154 +153 +152 +151 +150 +149 +148 +147 +146 +145 +144 +143 +142 +141 +140 +139 +138 +137 +136 +135 +134 +133 +132 +131 +130 +129 +128 +127 +126 +125 +124 +123 +122 +121 +120 +119 +118 +117 +116 +115 +114 +113 +112 +111 +110 +109 +108 +107 +106 +105 +104 +103 +102 +101 +100 +99 +98 +97 +96 +95 +94 +93 +92 +91 +90 +89 +88 +87 +86 +85 +84 +83 +82 +81 +80 +79 +78 +77 +76 +75 +74 +73 +72 +71 +70 +69 +68 +67 +66 +65 +64 +63 +62 +61 +60 +59 +58 +57 +56 +55 +54 +53 +52 +51 +50 +49 +48 +47 +46 +45 +44 +43 +42 +41 +40 +39 +38 +37 +36 +35 +34 +33 +32 +31 +30 +29 +28 +27 +26 +25 +24 +23 +22 +21 +20 +19 +18 +17 +16 +15 +14 +13 +12 +11 +10 +9 +8 +7 +6 +5 +4 +3 +2 +1
Added: fcode-utils/testsuite/TokeErrs/UntermDefn.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/UntermDefn.fth (rev 0) +++ fcode-utils/testsuite/TokeErrs/UntermDefn.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -0,0 +1,7 @@ +\ Another unusual error.... +\ Not even a newbie would make this one, right? +\ Yeah, right... +\ Updated Thu, 31 Aug 2006 at 17:39 PDT by David L. Paktor + + +h# -41100132 constant
Added: fcode-utils/testsuite/TokeErrs/UntermLocalAssgmnt.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/UntermLocalAssgmnt.fth (rev 0) +++ fcode-utils/testsuite/TokeErrs/UntermLocalAssgmnt.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -0,0 +1,6 @@ +\ Another corner-case error. +\ Create an unterminated simple local-values assignment +\ to be FLoaded into various contexts... +\ Updated Thu, 31 Aug 2006 at 17:09 PDT by David L. Paktor + + ->
Added: fcode-utils/testsuite/TokeErrs/UntermLocalDecl.fth =================================================================== --- fcode-utils/testsuite/TokeErrs/UntermLocalDecl.fth (rev 0) +++ fcode-utils/testsuite/TokeErrs/UntermLocalDecl.fth 2006-10-14 21:07:27 UTC (rev 95) @@ -0,0 +1,7 @@ +\ Another corner-case error. +\ Create an unterminated simple local-values declaration +\ to be FLoaded into various contexts... +\ Updated Thu, 31 Aug 2006 at 15:47 PDT by David L. Paktor + + + { _green _goose | _souvenirs