Author: stepan
Date: 2006-10-14 22:31:53 +0200 (Sat, 14 Oct 2006)
New Revision: 91
Added:
fcode-utils/testsuite/
fcode-utils/testsuite/GlobalLocalValues.fth
fcode-utils/testsuite/GlobalLocalValuesDevel.fth
fcode-utils/testsuite/LocalValuesDevelSupport.fth
fcode-utils/testsuite/LocalValuesSupport.fth
fcode-utils/testsuite/TokBrack/
fcode-utils/testsuite/TokBrack/TestArgs
fcode-utils/testsuite/TokBrack/TokBrkErrTst_01.fth
fcode-utils/testsuite/TokBrack/TokBrkTst_01.fth
fcode-utils/testsuite/TokBrack/TokBrkTst_02.fth
fcode-utils/testsuite/TokBrack/TokBrkTst_03.fth
fcode-utils/testsuite/TokBrack/revlev.fth
fcode-utils/testsuite/TokCondl/
fcode-utils/testsuite/TokCondl/BooBalah.fth
fcode-utils/testsuite/TokCondl/CondAlias.fth
fcode-utils/testsuite/TokCondl/CondMacAlias.fth
fcode-utils/testsuite/TokCondl/CondMacAlias_01.fth
fcode-utils/testsuite/TokCondl/CondOpInIgndMssg.fth
fcode-utils/testsuite/TokCondl/DefCondTst.fth
fcode-utils/testsuite/TokCondl/DefCondTst2.fth
fcode-utils/testsuite/TokCondl/DupLoadBody.fth
fcode-utils/testsuite/TokCondl/DupLoadTst.fth
fcode-utils/testsuite/TokCondl/MulFCimgFT.fth
fcode-utils/testsuite/TokCondl/MulFCimgTF.fth
fcode-utils/testsuite/TokCondl/MulFCimg_01.fth
fcode-utils/testsuite/TokCondl/MulFCimg_01_Body.fth
fcode-utils/testsuite/TokCondl/MulPCI_FC.fth
fcode-utils/testsuite/TokCondl/MulPCIhdr.fth
fcode-utils/testsuite/TokCondl/TestArgs
fcode-utils/testsuite/TokCondl/TokCondErrs.fth
fcode-utils/testsuite/TokCondl/TokCondMinTst.fth
fcode-utils/testsuite/TokCondl/TokConstCondTst01.fth
fcode-utils/testsuite/TokCondl/TokConstCondTst02.fth
fcode-utils/testsuite/TokCondl/TokConstCondTstF.fth
fcode-utils/testsuite/TokCondl/TokConstCondTstT.fth
fcode-utils/testsuite/TokCondl/TokDefCondTst.fth
fcode-utils/testsuite/TokCondl/TokExstCondNadaTst.fth
fcode-utils/testsuite/TokCondl/TokExstCondNada_01.fth
fcode-utils/testsuite/TokCondl/TokExstCondNada_02.fth
fcode-utils/testsuite/TokCondl/TokExstCondTst01.fth
fcode-utils/testsuite/TokCondl/TokExstCondTstN.fth
fcode-utils/testsuite/TokCondl/TokExstCondTstY.fth
fcode-utils/testsuite/TokMisc/
fcode-utils/testsuite/TokMisc/AbrtQuot.fth
fcode-utils/testsuite/TokMisc/AllMacros.fth
fcode-utils/testsuite/TokMisc/Almost_a_Buffer_of_Beer.fth
fcode-utils/testsuite/TokMisc/BasicCont.fth
fcode-utils/testsuite/TokMisc/BatchTst.fth
fcode-utils/testsuite/TokMisc/BranchOverNewBuffer.fth
fcode-utils/testsuite/TokMisc/CaseTkns.fth
fcode-utils/testsuite/TokMisc/ContErr1.fth
fcode-utils/testsuite/TokMisc/ContErr2.fth
fcode-utils/testsuite/TokMisc/ContErr3.fth
fcode-utils/testsuite/TokMisc/EncodTst.fth
fcode-utils/testsuite/TokMisc/EncodeSrc
fcode-utils/testsuite/TokMisc/ExamAllMacs.scr
fcode-utils/testsuite/TokMisc/ExtCont.fth
fcode-utils/testsuite/TokMisc/FlagSet.fth
fcode-utils/testsuite/TokMisc/FlagsHelp.fth
fcode-utils/testsuite/TokMisc/FlgReset.fth
fcode-utils/testsuite/TokMisc/FlgReset_1.fth
fcode-utils/testsuite/TokMisc/FlgReset_2.fth
fcode-utils/testsuite/TokMisc/HeadrSettings.fth
fcode-utils/testsuite/TokMisc/LotsOfAliases.fth
fcode-utils/testsuite/TokMisc/MinPCIHtst.fth
fcode-utils/testsuite/TokMisc/MiscFeatures.DOS.fth
fcode-utils/testsuite/TokMisc/MiscFeatures.fth
fcode-utils/testsuite/TokMisc/MiscFeaturesCopy.fth
fcode-utils/testsuite/TokMisc/MiscFeaturesXtra.fth
fcode-utils/testsuite/TokMisc/MulDev.fth
fcode-utils/testsuite/TokMisc/MulDev_01.fth
fcode-utils/testsuite/TokMisc/MulDev_02.fth
fcode-utils/testsuite/TokMisc/No_Beer.fth
fcode-utils/testsuite/TokMisc/OldTkzr/
fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.DeTok
fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.Log
fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.fc
fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.fth
fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.DeTok
fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.Log
fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.fc
fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.fth
fcode-utils/testsuite/TokMisc/OneBeer.fc
fcode-utils/testsuite/TokMisc/StrAtEof.fld.fth
fcode-utils/testsuite/TokMisc/StrAtEof.fth
fcode-utils/testsuite/TokMisc/StrEscs.fth
fcode-utils/testsuite/TokMisc/StrEscs_01.fth
fcode-utils/testsuite/TokMisc/StringsGenl.DOS.fth
fcode-utils/testsuite/TokMisc/StringsGenl.fth
fcode-utils/testsuite/TokMisc/TestArgs
fcode-utils/testsuite/TokMisc/TooLargeBeerBuffer_body.fth
fcode-utils/testsuite/TokMisc/TooLargeBufferMulPciFcb.fth
fcode-utils/testsuite/TokMisc/UserMacros.fth
fcode-utils/testsuite/TokMisc/sub.w.dots/
fcode-utils/testsuite/TokMisc/sub.w.dots/MulDev
fcode-utils/testsuite/TokeCommon/
fcode-utils/testsuite/TokeCommon/BinData.bin
fcode-utils/testsuite/TokeCommon/MyBeerAndYouCannotHaveIt.fth
fcode-utils/testsuite/TokeCommon/NoRead.bin
fcode-utils/testsuite/TokeCommon/OneBeer.fl
fcode-utils/testsuite/TokeCommon/OneBeer.fth
fcode-utils/testsuite/TokeCommon/ZeroLen.bin
fcode-utils/testsuite/TokeErrs/
fcode-utils/testsuite/TokeErrs/AbrtWQuotStr.fth
fcode-utils/testsuite/TokeErrs/CStrEscOvflw.fth
fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_1.fth
fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_2.fth
fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_3.fth
fcode-utils/testsuite/TokeErrs/CommOvrRun.fth
fcode-utils/testsuite/TokeErrs/CommOvrRun_01.fth
fcode-utils/testsuite/TokeErrs/CommOvrRun_02.fth
fcode-utils/testsuite/TokeErrs/CommOvrRun_03.fth
fcode-utils/testsuite/TokeErrs/CommOvrRun_04.fth
fcode-utils/testsuite/TokeErrs/CommOvrRun_05.fth
fcode-utils/testsuite/TokeErrs/CondlDefn.fth
fcode-utils/testsuite/TokeErrs/ControlMismatch.fth
fcode-utils/testsuite/TokeErrs/DevImbal.fth
fcode-utils/testsuite/TokeErrs/DevNodAli.fth
fcode-utils/testsuite/TokeErrs/DevNodAli_01.fth
fcode-utils/testsuite/TokeErrs/DupNams.fth
fcode-utils/testsuite/TokeErrs/ExpPath.fth
fcode-utils/testsuite/TokeErrs/FCShdrErrs.fth
fcode-utils/testsuite/TokeErrs/Frinstnce.fth
fcode-utils/testsuite/TokeErrs/GlobScopErrTst.fth
fcode-utils/testsuite/TokeErrs/GlobScopErrTst_01.fth
fcode-utils/testsuite/TokeErrs/GlobScopErrTst_02.fth
fcode-utils/testsuite/TokeErrs/GlobScopErrTst_03.fth
fcode-utils/testsuite/TokeErrs/InclLst.fth
fcode-utils/testsuite/TokeErrs/LargeTextNoQte.fth
fcode-utils/testsuite/TokeErrs/LitNums.fth
fcode-utils/testsuite/TokeErrs/LocOvrRun.fth
fcode-utils/testsuite/TokeErrs/LocOvrRun_01.fth
fcode-utils/testsuite/TokeErrs/LocOvrRun_02.fth
fcode-utils/testsuite/TokeErrs/LocOvrRun_03.fth
fcode-utils/testsuite/TokeErrs/LocOvrRun_04.fth
fcode-utils/testsuite/TokeErrs/LocalTest.fth
fcode-utils/testsuite/TokeErrs/LocalTest1.fth
fcode-utils/testsuite/TokeErrs/MacTest.fth
fcode-utils/testsuite/TokeErrs/MiscFeatErrs.fth
fcode-utils/testsuite/TokeErrs/MulPCI_LapFC.fth
fcode-utils/testsuite/TokeErrs/ObsoFCodes.fth
fcode-utils/testsuite/TokeErrs/OneTwoFive.fth
fcode-utils/testsuite/TokeErrs/PCI_FCShdrErrs.fth
fcode-utils/testsuite/TokeErrs/PCIhdrErrs.fth
fcode-utils/testsuite/TokeErrs/PooPsalah.fth
fcode-utils/testsuite/TokeErrs/RetStkDep.fth
fcode-utils/testsuite/TokeErrs/SmlOvrRun.fth
fcode-utils/testsuite/TokeErrs/SplitImbal.fth
fcode-utils/testsuite/TokeErrs/SplitImbal_01.fth
fcode-utils/testsuite/TokeErrs/SplitImbal_02.fth
fcode-utils/testsuite/TokeErrs/SplitImbal_03.fth
fcode-utils/testsuite/TokeErrs/SplitImbal_04.fth
fcode-utils/testsuite/TokeErrs/SplitImbal_05.fth
fcode-utils/testsuite/TokeErrs/SuppLocErrTest4.ErrMsgs.NoI
fcode-utils/testsuite/TokeErrs/SuppLocErrTest4.fth
fcode-utils/testsuite/TokeErrs/TestArgs
fcode-utils/testsuite/TokeErrs/ToAtEnd.fth
fcode-utils/testsuite/TokeErrs/TokCondUnconcF.fth
fcode-utils/testsuite/TokeErrs/TokCondUnconcT.fth
fcode-utils/testsuite/TokeErrs/TokCondUnconc_01.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_N231_body.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_N232_body.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_N233_body.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_V178_body.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_V179_body.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_V180_body.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08_body.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08_to_16.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16.fth
fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16_body.fth
fcode-utils/testsuite/TokeErrs/TooLargeCase.fth
fcode-utils/testsuite/TokeErrs/TooLargeCase_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
fcode-utils/testsuite/TokeErrs/TooTooLargeBuffer.fth
fcode-utils/testsuite/TokeErrs/TooTooLargeBuffer_body.fth
fcode-utils/testsuite/TokeErrs/UserMacroErrors.fth
fcode-utils/testsuite/TokeErrs/errtest1.fth
fcode-utils/testsuite/TokeErrs/errtest2.fth
fcode-utils/testsuite/TokeErrs/testLocDevSupG.fth
fcode-utils/testsuite/TokoLoco/
fcode-utils/testsuite/TokoLoco/GlobalLocalValues.fth
fcode-utils/testsuite/TokoLoco/SupportedLocalTest.fth
fcode-utils/testsuite/TokoLoco/SupportedLocalTest2.fth
fcode-utils/testsuite/TokoLoco/SupportedLocalTest3.fth
fcode-utils/testsuite/TokoLoco/SupportedLocalTest4.fth
fcode-utils/testsuite/TokoLoco/TestArgs
fcode-utils/testsuite/TokoLoco/testCatch.fth
fcode-utils/testsuite/TokoLoco/testDevelSupport.fth
fcode-utils/testsuite/TokoLoco/testNest.fth
fcode-utils/testsuite/TokoLoco/testNest1.fth
fcode-utils/testsuite/TokoLoco/testNest2.fth
fcode-utils/testsuite/TokoLoco/testNest3.fth
fcode-utils/testsuite/TokoLoco/testSupport.fth
fcode-utils/testsuite/TotalLocalValuesSupport.fth
Log:
testsuite 1.0.0
Added: fcode-utils/testsuite/GlobalLocalValues.fth
===================================================================
--- fcode-utils/testsuite/GlobalLocalValues.fth (rev 0)
+++ fcode-utils/testsuite/GlobalLocalValues.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1 @@
+link ../../LocalValues/GlobalLocalValues.fth
\ No newline at end of file
Property changes on: fcode-utils/testsuite/GlobalLocalValues.fth
___________________________________________________________________
Name: svn:special
+ *
Added: fcode-utils/testsuite/GlobalLocalValuesDevel.fth
===================================================================
--- fcode-utils/testsuite/GlobalLocalValuesDevel.fth (rev 0)
+++ fcode-utils/testsuite/GlobalLocalValuesDevel.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1 @@
+link ../../LocalValues/GlobalLocalValuesDevel.fth
\ No newline at end of file
Property changes on: fcode-utils/testsuite/GlobalLocalValuesDevel.fth
___________________________________________________________________
Name: svn:special
+ *
Added: fcode-utils/testsuite/LocalValuesDevelSupport.fth
===================================================================
--- fcode-utils/testsuite/LocalValuesDevelSupport.fth (rev 0)
+++ fcode-utils/testsuite/LocalValuesDevelSupport.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1 @@
+link ../../LocalValues/LocalValuesDevelSupport.fth
\ No newline at end of file
Property changes on: fcode-utils/testsuite/LocalValuesDevelSupport.fth
___________________________________________________________________
Name: svn:special
+ *
Added: fcode-utils/testsuite/LocalValuesSupport.fth
===================================================================
--- fcode-utils/testsuite/LocalValuesSupport.fth (rev 0)
+++ fcode-utils/testsuite/LocalValuesSupport.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1 @@
+link ../../LocalValues/LocalValuesSupport.fth
\ No newline at end of file
Property changes on: fcode-utils/testsuite/LocalValuesSupport.fth
___________________________________________________________________
Name: svn:special
+ *
Added: fcode-utils/testsuite/TokBrack/TestArgs
===================================================================
--- fcode-utils/testsuite/TokBrack/TestArgs (rev 0)
+++ fcode-utils/testsuite/TokBrack/TestArgs 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,20 @@
+# Automated Test Arguments file for TokBrack category
+# (That's short for "Tokenizer Bracket";
+# it refers to the Tokenizer Escape state.)
+
+# Valid lines have four comma-separated fields:
+# Test-file base-name
+# Result-file label
+# Extra command-line switches
+# A script-command with arguments (but no commas).
+# Lines that have no label, no switches, and no script
+# do not need any commas.
+
+# Updated Wed, 08 Mar 2006 at 19:11 PST by David L. Paktor
+
+# Might as well get the date-and-time one out of the way first...
+TokBrkTst_02 , , -i -l
+TokBrkTst_01 , , -i
+TokBrkTst_01 , alwyshdr , -i -f ALWays-heADers
+TokBrkTst_03
+TokBrkErrTst_01 , , -i
Added: fcode-utils/testsuite/TokBrack/TokBrkErrTst_01.fth
===================================================================
--- fcode-utils/testsuite/TokBrack/TokBrkErrTst_01.fth (rev 0)
+++ fcode-utils/testsuite/TokBrack/TokBrkErrTst_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,60 @@
+\ Test of tokenizer[ ]tokenizer scope Error-Detection
+\ Updated Fri, 17 Feb 2006 at 10:15 PST by David L. Paktor
+
+fcode-version2
+
+headers
+ h# 30
+ emit-byte
+hex
+tokenizer[
+ rummidge
+ 10 emit-byte
+ 10 emit-byte
+ d# 10 emit-byte
+ o# 10 emit-byte
+ h# 10 emit-byte
+ 802 next-fcode
+ h# 1020 next-fcode
+ h# 3682 emit-byte
+ ]tokenizer
+decimal 50 constant gummidge
+hex
+tokenizer[ gummidge
+ rummidge
+ ]tokenizer
+ h# 30 emit-byte
+
+100 constant pele_yoetz_ne'ema'an_anochi_hu_ha'omer_v'oseh_v'ain_c'moni_bchol_ha_aretz
+
+pele_yoetz_ne'ema'an_anochi_hu_ha'omer_v'oseh_v'ain_c'moni_bchol_ha_aretz 2 * constant clone
+
+b(lit)
+tokenizer[
+ 30 swap emit-byte
+ d# 20 emit-byte
+ o# 20 emit-byte
+ h# 20 emit-byte
+ ]tokenizer
+tokenizer[
+h# defeca8e constant poopoo
+h# beeffece constant moopoo
+ ]tokenizer
+ alias merde poopoo
+ alias couterde moopoo
+tokenizer[
+ merde fliteral
+ ]tokenizer
+ couterde fliteral
+
+tokenizer[
+ fcode-push
+ fliteral
+ a# Fink
+ fcode-pop
+ ]tokenizer
+
+end0
+
+
+
Added: fcode-utils/testsuite/TokBrack/TokBrkTst_01.fth
===================================================================
--- fcode-utils/testsuite/TokBrack/TokBrkTst_01.fth (rev 0)
+++ fcode-utils/testsuite/TokBrack/TokBrkTst_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,49 @@
+\ Elementary test of the tokenizer[ ]tokenizer scope functions
+\ Updated Fri, 21 Oct 2005 at 16:01 PDT by David L. Paktor
+
+fcode-version2
+
+headers
+hex
+
+b(lit)
+tokenizer[
+ 10 emit-byte
+ d# 10 emit-byte
+ o# 10 emit-byte
+ h# 10 emit-byte
+ ]tokenizer
+decimal
+100 constant pele_yoetz_ne'ema'an_anochi_hu_ha'omer_v'oseh_v'ain_c'moni_bchol_ha_aretz
+
+pele_yoetz_ne'ema'an_anochi_hu_ha'omer_v'oseh_v'ain_c'moni_bchol_ha_aretz 2 * constant clone
+
+12 c,
+tokenizer[ 12 fliteral
+ ]tokenizer l,
+12 c,
+: yuttzer 14 tokenizer[ 14 fliteral hex 14 fliteral ]tokenizer 14 ;
+
+hex
+headerless
+80 constant this_name_has_a_whole_lot_of_syllables_and_so_would_not_be_a_good_ingredient_in_ice_cream_but_at_least_you_know_what_it_means
+
+headers
+
+ f[ 1cec6ea3 constant a_name_with_too_many_letters_should_not_matter_in_tokenizer_escape_mode
+ ]f
+
+: brand-x-ice-cream \ Because it uses ingredients with too many syllables
+ pele_yoetz_ne'ema'an_anochi_hu_ha'omer_v'oseh_v'ain_c'moni_bchol_ha_aretz
+ dup 20 - do i . loop cr
+ ." Nameless one..." this_name_has_a_whole_lot_of_syllables_and_so_would_not_be_a_good_ingredient_in_ice_cream_but_at_least_you_know_what_it_means ." equals " . cr
+ ." But everyone likes an "
+ f[ a_name_with_too_many_letters_should_not_matter_in_tokenizer_escape_mode
+ f] fliteral .
+ clone . cr
+;
+
+end0
+
+
+
Added: fcode-utils/testsuite/TokBrack/TokBrkTst_02.fth
===================================================================
--- fcode-utils/testsuite/TokBrack/TokBrkTst_02.fth (rev 0)
+++ fcode-utils/testsuite/TokBrack/TokBrkTst_02.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,94 @@
+\ Secondary test of tokenizer-escape mode functions
+\ Updated Thu, 02 Mar 2006 at 17:47 PST by David L. Paktor
+
+[macro] where-from ." This came from " [input-file-name] type ." line " [line-number] .d cr
+[macro] in_what ." In " [function-name] type cr
+[macro] mess_in_what f[ [function-name] ]f
+
+tokenizer[
+
+fload revlev.fth
+
+h# 020000 constant eithernet \ Class Code: 0x020000 (Ethernet)
+h# 5417 constant deviouce \ Device ID: 0x5417
+h# 17d5 constant vanitor \ Vendor ID: 0x17d5
+
+ vanitor deviouce eithernet
+ i-got-a-Rev-Level
+ false
+ ]tokenizer
+
+not-last-image
+last-img
+set-last-image
+ SET-REV-LEVEL
+ pci-header
+
+fcode-version2
+
+headers
+hex
+tokenizer[
+
+d# 10 constant triumph
+ o# 40 constant trophy
+ h# 80 constant trumpet
+ ]tokenizer
+b(lit)
+tokenizer[
+ 10 emit-byte
+ triumph emit-byte
+ trumpet emit-byte
+ trophy emit-byte
+
+ ]tokenizer
+b(lit)
+tokenizer[
+
+ h# de h# fe h# ca h# 8e
+ 2swap swap
+ emit-byte emit-byte
+ swap emit-byte emit-byte
+
+ ]tokenizer
+
+h# defeca8e constant poopoo
+h# beeffece constant moopoo
+alias couterde moopoo
+tokenizer[
+h# defeca8e constant poopoo
+h# beeffece constant moopoo
+alias couterde moopoo
+ couterde poopoo
+ ]tokenizer fliteral
+ fliteral
+
+ f['] moopoo \ Can't f['] couterde just yet
+ couterde poopoo
+tokenizer[ h# feedbac4 ]tokenizer \ Leave something extra on the stack...
+: merde
+ ['] moopoo \ Can't ['] couterde just yet, either
+ ' poopoo
+ couterde
+ ascii b char e [char] f
+[message] About to tokenize run-time date and time stamps. Twice!
+ ." Date " [fcode-date] type
+ ." Time" [fcode-time] type cr
+ ." Time" [fcode-time] type
+ ." Date " [fcode-date] type cr
+f[ [fcode-date] [fcode-time] ]f
+ in_what where-from mess_in_what
+;
+ascii f
+ char e
+ [char] c
+
+: terde
+ in_what where-from mess_in_what
+;
+
+
+end0
+
+\ save-image chalupa.fc
+
Added: fcode-utils/testsuite/TokBrack/TokBrkTst_03.fth
===================================================================
--- fcode-utils/testsuite/TokBrack/TokBrkTst_03.fth (rev 0)
+++ fcode-utils/testsuite/TokBrack/TokBrkTst_03.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,18 @@
+\ Test new Aliasing algorithm
+
+\ Updated Tue, 31 May 2005 at 12:05 by David L. Paktor
+
+fcode-version2
+tokenizer[
+\ emit-date
+\ alias dte emit-date
+alias dq ."
+dq This is a message"
+\ dte
+h# 00030000 constant goodmeat
+goodmeat fliteral
+alias goodeats goodmeat
+goodeats fliteral
+reset-symbols
+ ]tokenizer
+end0
Added: fcode-utils/testsuite/TokBrack/revlev.fth
===================================================================
--- fcode-utils/testsuite/TokBrack/revlev.fth (rev 0)
+++ fcode-utils/testsuite/TokBrack/revlev.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,2 @@
+\ Fake out an FLOAD-able constant
+h# f2ed constant i-got-a-Rev-Level
Added: fcode-utils/testsuite/TokCondl/BooBalah.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/BooBalah.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/BooBalah.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,34 @@
+\ FLoadable body for various conditional tests, based on the value of
+\ a constant named "boobalah?" (Okay, so I was running out of ideas...)
+
+." Begin Nested ""Constant"" Test Test"
+f[ boobalah? f] [if]
+[message] The TRUE path has wisely been chosen, Boobalah!
+ ." Is True, level 1"
+ f[ boobalah? f] [if]
+ " Is True and is True, level 2"
+ [else]
+ " Is True but is Not True. What?"
+ [then]
+ ." Middle of level 2"
+ f[ boobalah? 0= f] [if]
+ " Is True and is False. What?"
+ [else]
+ " Is True and is Not False, level 2"
+ [then]
+[else]
+[message] Oy, Boobalah. You have foolishly chosen the FALSE path.
+ ." Is Not True, level 1"
+ f[ boobalah? f] [if]
+ " Is Not True but is True. What?"
+ [else]
+ " Is Not True and is Not True, level 2"
+ [then]
+ ." Middle of Not level 2"
+ f[ boobalah? 0= f] [if]
+ " Is Not True and is False, level 2"
+ [else]
+ " Is Not True and is Not False. What?"
+ [then]
+[then]
+
Added: fcode-utils/testsuite/TokCondl/CondAlias.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/CondAlias.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/CondAlias.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,42 @@
+\ Test aliasing of Conditional directives. Use Command-line-definition
+\ Updated Tue, 20 Dec 2005 at 16:15 PST by David L. Paktor
+
+\
+\ Symbol moogoo is either defined true (-1) or false (0), or is absent
+
+
+alias [dowegotit?] [ifdef]
+alias [ifyouaintgot] [ifndef]
+alias [izzatso?] [if]
+alias [udderwise] [else]
+alias [donewidit] [then]
+ f[ alias mess( .(
+ alias mess" ."
+ f]
+
+[ifyouaintgot] moogoo
+ f[
+ mess( Y'gotta define MooGoo on da command-line.)
+ mess" "n"tIt's eider -D moogoo=true or -D moogoo=false"
+ f]
+[udderwise]
+ f[
+ mess( Hey! Y'got MooGoo! Good for you!)
+ [defined] moogoo [izzatso?]
+ mess" And guess what! It's TRUE! Drinks all around!"
+ [udderwise]
+ mess( So wut's it gonna be? You gonna be FLASE to me?)
+ [donewidit]
+ f]
+[donewidit]
+
+[dowegotit?] moogoo
+ f[
+ mess( Hey! Did I menshun dat we got MooGoo?)
+ mess" "n"tYeah? Well, so wut if I did? I'm gonna menshun it again!
+ WE GOT MooGoo!!!"
+ f]
+[udderwise]
+ f[
+ mess" "n"tCuz if ya don' got dat MooGoo, it don't mean a t'ing..." f]
+[donewidit]
Added: fcode-utils/testsuite/TokCondl/CondMacAlias.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/CondMacAlias.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/CondMacAlias.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,58 @@
+\ Test Conditionals and Locals with Macros and Aliases
+\ without (intentional) errors, this time...
+\ Updated Fri, 10 Mar 2006 at 14:26 PST by David L. Paktor
+
+headers
+fcode-version2
+
+fload GlobalLocalValues.fth
+
+Global-definitions
+
+alias // \
+alias ((( (
+
+alias loc{ {
+
+alias [whatden] [endif]
+alias [younwhudahmy] [else]
+[macro] [donewidit] [whatden]
+[macro] [udderwise] [younwhudahmy]
+
+
+alias [isitdere] [ifexist]
+alias [ifitaint] [ifnexist]
+[macro] doIgotit [isitdere]
+[macro] Iaintgotit [ifitaint]
+
+[macro] [ifitis] Iaintgotit gumblefritz
+
+device-definitions
+
+\ Don't define gumblefritz
+
+[message] Didn't define gumblefritz
+
+[ifitaint] gumblefritz
+ #message" Can't ignore fload. What if it's got a balancing [endif] ?"
+ [message] Or a balancing [else]
+ fload CondMacAlias_01.fth
+[udderwise]
+ #message" Dis ain't gonna show even if it has an [endif] "
+ [message] Dere's an [endif] here too
+[donewidit]
+
+new-device
+
+create gumblefritz
+[message] Just defined gumblefritz
+
+doIgotit gumblefritz
+
+ fload CondMacAlias_01.fth
+
+[donewidit]
+
+finish-device
+
+fcode-end
Added: fcode-utils/testsuite/TokCondl/CondMacAlias_01.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/CondMacAlias_01.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/CondMacAlias_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,120 @@
+\ Test Conditionals and Locals with Macros and Aliases
+\ without (intentional) errors. Common code...
+\ Updated Fri, 10 Mar 2006 at 17:18 PST by David L. Paktor
+
+
+( File that floads this will have to define // as an alias to \ and
+ also ((( as an alias to ( (open-paren)
+
+((( That last also acts as the close-paren that finishes the two-line
+ comment above. Funny... We also need a macro called [ifitis]
+ whose meaning may change but which will always begin the "true"
+ segment of a conditional, a macro called [udderwise] which will
+ be the equivalent of [else] and one called [donewidit] which
+ will be the equivalent of [then] )
+// Oh, yeah. And loc{ as an alias to { (open-curly-brace)
+
+// we will also have various comments, remarks and messages
+\ with embedded false [else]'s and the like...
+
+[ifitis]
+ #message" Dis is da TROO side of da test. What [else] ya gonna do?
+ Da message goes on ta heayuh!"
+ f[ .( Yuh got anuddah message.
+ What [then] chum? ) ]f
+ [ifitis]
+ #message" Now yer in da TROO o' da TROO. What [then] ?"
+ [udderwise]
+ #message" Yer in da FLASE o' da TROO. Yer in trubble, chum!"
+ [donewidit]
+ #message" Back to da foist level o' da TROO. Let's try sump'in'..."
+ : contralto ((( tony vinnie looie -- marie )
+ #message" No warning for multiline decl'n and none for comment"
+ multi-line
+ loc{ _ay_tony
+ multi-line ((( He's da ringleadah
+ Y'know, da leader of da pack! )
+ _ay_vinnie // He's da mussel
+ _ay_bobby ( He's got da ringwoim )
+ | _ay_marie ((( She's my goil! )
+ }
+ _ay_tony _ay_bobby + _ay_vinnie *
+ -> _ay_marie
+ #message" Multiline warning for this comment"
+ ( Dey're all outa roo'beah!
+ Y'wanna Doctah Peppah instea'? ) \ Got used by dis instea'?
+ _ay_marie
+ ;
+ : alto ((( sis boom bah -- hahaha )
+ #message" Warning for multiline decl'n but not comment"
+ loc{ _sis _boom
+ _bah multi-line ((( What is this anyway?
+ Oh, right... ) | _hahaha
+ }
+ #message" Warning for this multiline comment" ((( What is this?
+ It is a whiz. )
+ _sis _bah * _boom - dup -> _hahaha
+ ;
+ : tenor ( jose placido luciano -- enrico josef )
+ #message" No warning for multiline decl'n, but one for comment"
+ multi-line
+ loc{ _jose ((( Can you see?
+ Buy the Donzerly light! )
+ _placido _luciano
+ | _enrico _josef
+ }
+ _placido _luciano + _jose / -> _josef
+ ;
+
+[udderwise]
+ #message" Dis is da FLASE side of da test. What ya gonna do [then] ?
+ Ya gonna let da message go on ta heayuh!"
+ f[ .( So dis is anuddah message.
+ What [else] chum? ) ]f
+ [ifitis]
+ #message" Dis is da TROO o' da FLASE. Y'shouldn'a'ought'a evuh be heayuh..."
+ f[ ." Let's try some spurious [else] action, whaddya say?" ]f
+ : [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
+ d# 64 buffer: [else] [message] Fake [else] got through
+ struct
+ /l field [else] [message] Fake [else] got through
+ variable [else] [message] Fake [else] got through
+ defer [else] [message] Fake [else] got through
+ ['] [else] [message] Fake [else] got through
+ to [else] [message] Fake [else] got through
+ ['] [else]
+ is [else] [message] Fake [else] got through
+ : say-what ( tony vinnie looie --
+ -- marie )
+\ multi-line \ Should refer to the loc's decl'n, not to the comment
+ loc{ _ay_tony
+ multi-line \ Y'want this to refer to the comment
+ // but when ignoring, what happens?
+ ((( He's da ringleadah
+ Y'know, da leader of da pack! )
+ _ay_vinnie // He's da mussel
+ [else] [message] Really bad fake [else] got through
+ _ay_bobby ( He's got da ringwoim )
+ | _ay_marie ((( She's my goil! )
+ }
+ _ay_tony _ay_bobby + _ay_vinnie *
+ -> _ay_marie
+ ( Dey're all outa roo'beah!
+ Y'wanna Doctah Peppah instea'? ) \ Got used by dis instea'?
+ _ay_marie
+ ;
+ .( What does an [else] do in dot-parens? ) [message] Fake [else] got through
+ ." What does an [else] do in dot-quotes?" [message] Fake [else] got through
+ s" What does an [else] do in Ess-quote?" [message] Fake [else] got through
+ " What does an [else] do in dbl-quotes?" [message] Fake [else] got through
+
+ [udderwise]
+ #message" Dis is da FLASE o' da FLASE. Yer [then] should be absawbed bot' ways."
+ [donewidit]
+ [message] Y'should be back to the FLASE side. Okay, [then]
+[donewidit]
+
+
Added: fcode-utils/testsuite/TokCondl/CondOpInIgndMssg.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/CondOpInIgndMssg.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/CondOpInIgndMssg.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,41 @@
+\ Here we will demonstrate the fate of Conditional-Operators
+\ that occur in the text-body of user-messages that occur
+\ in conditional-compilation sections that are being ignored.
+\ We will also test whether aliases to comment-delimiters are recognized:
+\ in Normal mode
+\ in Tokenizer-escape mode
+\ inside conditional-compilation sections
+
+\ Updated Wed, 22 Feb 2006 at 12:52 PST by David L. Paktor
+
+fcode-version2
+
+headers
+
+Global-definitions
+ alias // \
+device-definitions
+
+\ #message" This is cleanly commented-out and will be ignored"
+// #message" This, too, will be ignored"
+f[ \ #message" Comment safely ignored in Tok-esc mode"
+ // #message" Aliased comment in Tok-esc mode. Should be ignored."
+ ]f
+[ifnexist] dup
+ \ This section should be ignored consistently
+ \ #message" This conditional commented-out message will be ignored"
+ [message] The next message has a brack-then
+ [message] [then] #message" Should be ignored but isn't"
+ #message" Re-balance the conditional..." [ifnexist] dup
+ // Unprocessed Aliased comment. [then] #message" Faked-out" [ifnexist] dup
+
+[else]
+ #message" This will not be ignored."
+ // #message" Aliased comment in unignored section"
+
+[then]
+
+garblegarblegarble // Force an error.
+
+fcode-end
+
Added: fcode-utils/testsuite/TokCondl/DefCondTst.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/DefCondTst.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/DefCondTst.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,24 @@
+\ Test Command-line-defined conditional
+\ Updated Wed, 11 May 2005 at 09:45 by David L. Paktor
+\
+\ Symbol moogoo is either defined true (-1) or false (0), or is absent
+
+[ifndef] moogoo
+ f[
+ .( Y'gotta define MooGoo on the command-line.)
+ ." "!"
+ ." X
+a line." ." Another on the line."
+ ." "t(Lower-case will be okay, too)"
+ f]
+ #message Use -D moogoo=true or -D moogoo=false
+ [message] or even -D moogoo=-1 or -D moogoo=0
+ [#message]
+[else]
+ f[
+ [defined] moogoo
+ f]
+
+fload TokConstCondTst01.fth
+[then]
+
Added: fcode-utils/testsuite/TokCondl/DefCondTst2.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/DefCondTst2.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/DefCondTst2.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,109 @@
+\ Modified Command-line-defined conditional test.
+\ Using it to create anomalies for the detokenizer...
+\ Updated Wed, 29 Jun 2005 at 13:43 by David L. Paktor
+\
+\ Symbol moogoo is either defined true (-1) or false (0), or is absent
+
+[ifndef] moogoo
+ f[
+ .( Y'gotta define MooGoo on the command-line.)
+ ." "!"
+ ." X
+a line." ." Another on the line."
+ ." "t(Lower-case will be okay, too)"
+ f]
+ #message Use -D moogoo=true or -D moogoo=false
+ [message] or even -D moogoo=-1 or -D moogoo=0
+ [#message]
+[else]
+
+
+tokenizer[
+
+h# feeb \ Bogus Rev-Level
+ SET-REV-LEVEL
+
+not-last-image
+
+h# 1fad \ Vendor
+h# c0ed \ Bogus Device ID
+h# 90210 \ Bogus Class Code
+ pci-header
+
+ ]tokenizer
+
+fcode-version2
+
+ f[
+ [defined] moogoo
+ f]
+fload TokConstCondTst02.fth
+
+fcode-end
+
+tokenizer[
+ reset-symbols
+ ]tokenizer
+
+fcode-version2
+
+ f[
+ [defined] moogoo 0=
+ f]
+fload TokConstCondTst02.fth
+
+." De-tokenize THIS, wise-guy!"n"
+
+tokenizer[
+ 0 emit-byte \ Fake a premature end0
+ 6 emit-byte \ Just to be confusing!
+ h# 77 emit-byte
+ ]tokenizer
+
+fcode-end
+
+pci-header-end
+
+tokenizer[
+
+h# 2a55 \ Bogus Rev-Level
+ SET-REV-LEVEL
+
+ last-image
+
+h# 5afe \ Vendor
+h# 1991 \ Bogus Device ID
+h# 10203 \ Bogus Class Code
+ pci-header
+
+ ]tokenizer
+
+fcode-version2
+
+tokenizer[ reset-symbols true ]tokenizer
+
+fload TokConstCondTst02.fth
+
+tokenizer[
+ \ Fake Fcode-Block header in the middle of things...
+ h# f1 emit-byte \ Fake start-byte
+ 8 emit-byte \ Fake format
+ h# 21 emit-byte \ Fake checksum
+ h# 95 emit-byte
+ 0 emit-byte \ Fake length
+ 0 emit-byte
+ 0 emit-byte
+ h# 12 emit-byte
+
+ reset-symbols
+ false
+ ]tokenizer
+ reset-symbols
+fload TokConstCondTst02.fth
+
+fcode-end
+
+pci-header-end
+
+[then]
+
Added: fcode-utils/testsuite/TokCondl/DupLoadBody.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/DupLoadBody.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/DupLoadBody.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,13 @@
+\ Source file that controls duplicate loading of itself
+\ Updated Thu, 27 Jul 2006 at 15:24 PDT by David L. Paktor
+
+
+f[ [ifnexist] DupLoadBody.fth
+ true constant DupLoadBody.fth f]
+
+." Just this one time, eh!" cr
+
+f[ .( Go ask your mother) ]f
+
+
+f[ [endif] f]
Added: fcode-utils/testsuite/TokCondl/DupLoadTst.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/DupLoadTst.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/DupLoadTst.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,17 @@
+\ Test for being able to control duplicate loading of a source file
+\ Updated Thu, 27 Jul 2006 at 15:23 PDT by David L. Paktor
+
+
+fcode-version2
+
+." Going once," cr
+
+fload DupLoadBody.fth
+
+." Going twice." cr
+
+fload DupLoadBody.fth
+
+." Gone!" cr
+
+fcode-end
Added: fcode-utils/testsuite/TokCondl/MulFCimgFT.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/MulFCimgFT.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/MulFCimgFT.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,28 @@
+\ Multiple FCode images under one PCI header
+\ False, then True
+
+\ Updated Wed, 01 Jun 2005 at 14:51 by David L. Paktor
+
+tokenizer[
+
+h# fa57 \ Bogus Rev-Level
+ SET-REV-LEVEL
+
+h# cede \ Vendor
+h# 193a \ Bogus Device ID
+h# 95014 \ Bogus Class Code
+
+ ]tokenizer
+ pci-header
+
+
+fload TokConstCondTstF.fth
+
+tokenizer[
+ reset-symbols
+ ]tokenizer
+
+fload TokConstCondTstT.fth
+
+
+pci-header-end
Added: fcode-utils/testsuite/TokCondl/MulFCimgTF.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/MulFCimgTF.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/MulFCimgTF.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,25 @@
+\ Multiple FCode images under one PCI header
+\ True, then False
+
+\ Updated Wed, 01 Jun 2005 at 14:51 by David L. Paktor
+
+tokenizer[
+
+h# fa57 \ Bogus Rev-Level
+ SET-REV-LEVEL
+
+h# cede \ Vendor
+h# 193a \ Bogus Device ID
+h# 95014 \ Bogus Class Code
+
+ ]tokenizer
+ pci-header
+
+
+fload TokConstCondTstT.fth
+
+
+fload TokConstCondTstF.fth
+
+
+pci-header-end
Added: fcode-utils/testsuite/TokCondl/MulFCimg_01.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/MulFCimg_01.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/MulFCimg_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,53 @@
+\ Another test of conditionals and multiple FCode blocks.
+\ This is the "Wrapper" file.
+
+\ Updated Wed, 10 Aug 2005 at 10:57 by David L. Paktor
+
+
+[ifndef] moogoo
+ f[
+ .( Y'gotta define MooGoo on the command-line.)
+ #message Use -D moogoo=true or -D moogoo=false
+ f]
+[else]
+
+ tokenizer[
+
+ h# 5afe \ Bogus Rev-Level
+ SET-REV-LEVEL
+
+ h# beef \ Vendor
+ h# c0de \ Bogus Device ID
+ h# 90210 \ Beverly Hills ZIP Code. Now that's a _Class_ Code!
+
+ pci-header
+ ]tokenizer
+
+ f[
+ [defined] moogoo
+ constant boobalah?
+ f]
+
+ fcode-version2
+
+ fload MulFCimg_01_Body.fth
+
+ fcode-end
+
+
+ f[
+ reset-symbols
+ [defined] moogoo
+ 0=
+ constant boobalah?
+ f]
+
+ fcode-version2
+
+ fload MulFCimg_01_Body.fth
+
+ fcode-end
+
+ pci-header-end
+
+[then]
Added: fcode-utils/testsuite/TokCondl/MulFCimg_01_Body.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/MulFCimg_01_Body.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/MulFCimg_01_Body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,23 @@
+\ Another test of conditionals and multiple FCode blocks.
+\ This is the "Body" file.
+
+\ Updated Wed, 10 Aug 2005 at 11:12 by David L. Paktor
+
+
+headers
+
+: whatziz
+ ." This is the "
+ f[ boobalah? [if] f] ." True " f[ [else] f] ." False" f[ [then] f]
+ ." side of the test." cr
+;
+
+: wherezis
+ fload BooBalah.fth
+;
+
+
+: whoozis whatziz wherezis ;
+
+: whyzis whoozis wherezis whatziz ;
+
Added: fcode-utils/testsuite/TokCondl/MulPCI_FC.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/MulPCI_FC.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/MulPCI_FC.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,36 @@
+\ Another multiple PCI and FCode test
+
+\ Updated Fri, 10 Jun 2005 at 09:06 by David L. Paktor
+
+
+[ifndef] first-path \ Check to see if the symbol was defined?
+ F[
+ ." "n"n"tAdd a command-line switch:"n"t"t-d ""first-path=<true|false>""
+ "tthen run this again."n"n"
+ F]
+[else]
+ F[
+ b00b c0ed 90210 pci-header
+ [defined] first-path
+ F]
+[message] Loading first pass
+ not-last-image
+
+ fload TokConstCondTst01.fth
+
+ pci-header-end
+
+
+F[ reset-symbols
+ b00b fece 07112 pci-header
+ [defined] first-path 0=
+ F]
+[message] Loading second pass
+ last-image
+
+ fload TokConstCondTst01.fth
+
+ pci-header-end
+
+[then]
+
Added: fcode-utils/testsuite/TokCondl/MulPCIhdr.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/MulPCIhdr.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/MulPCIhdr.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,44 @@
+\ Create an image with multiple PCI headers
+\ and then let's see what still we need to do
+\
+\ Updated Mon, 23 May 2005 at 16:17 by David L. Paktor
+
+
+tokenizer[
+
+h# f2a7 \ Bogus Rev-Level
+ SET-REV-LEVEL
+
+not-last-image
+
+h# 1fed \ Vendor
+h# 9009 \ Bogus Device ID
+h# 20109 \ Bogus Class Code
+ pci-header
+
+ ]tokenizer
+
+fload TokConstCondTstT.fth
+
+pci-header-end
+
+
+
+tokenizer[
+
+h# ea57 \ Bogus Rev-Level
+ SET-REV-LEVEL
+
+ last-image
+
+h# deaf \ Vendor
+h# 9021 \ Bogus Device ID
+h# 10902 \ Bogus Class Code
+ pci-header
+
+ ]tokenizer
+
+fload TokConstCondTstF.fth
+
+pci-header-end
+
Added: fcode-utils/testsuite/TokCondl/TestArgs
===================================================================
--- fcode-utils/testsuite/TokCondl/TestArgs (rev 0)
+++ fcode-utils/testsuite/TokCondl/TestArgs 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,55 @@
+# Automated Test Arguments file for TokCondl category
+# (That's short for "Tokenizer Conditional";
+# it refers to the Conditional Tokenization directives.)
+
+# Valid lines have four comma-separated fields:
+# Test-file base-name
+# Result-file label
+# Extra command-line switches
+# A script-command with arguments (but no commas).
+# Lines that have no label, no switches, and no script
+# do not need any commas.
+
+# Updated Thu, 27 Jul 2006 at 15:20 PDT by David L. Paktor
+
+TokExstCondTstY , , -l
+TokExstCondTstN , , -l
+TokExstCondNadaTst , , -i -f Trace-Conditionals
+CondOpInIgndMssg
+TokCondMinTst
+TokCondErrs , , -i -f Trace-Conditionals
+TokConstCondTstT , , -l
+TokConstCondTstF , , -l
+DefCondTst , , -l
+MulPCIhdr , , -l
+MulPCIhdr , BERev , -f Big-End-PCI-Rev-Level
+MulFCimgTF , , -l
+MulFCimgFT , , -l
+MulPCI_FC , , -l
+MulPCI_FC , fpT , -l -d first-path=true
+MulPCI_FC , fpF , -l -d first-path=false -f Trace-Conditionals
+
+TokDefCondTst , NotDef
+TokDefCondTst , Def , -d NEStTest
+
+DefCondTst , NotDef , -l
+DefCondTst , DefTrue , -d 'moOGOO=TRue' -l
+DefCondTst , DefFalse , -d 'MOOGoo=faLSE' -l -f Trace-Conditionals
+
+DefCondTst2 , NotDef , -l
+DefCondTst2 , MeT , -d 'MOOgoo=true' -l
+DefCondTst2 , MeF , -d 'moogOO=FalsE' -l -f Trace-Conditionals
+
+CondAlias , NotDef , -i
+CondAlias , MeT , -d 'MOOgoo=true' -i
+CondAlias , MeF , -d 'moogOO=FalsE' -i -f Trace-Conditionals
+
+CondMacAlias , , -I . -I .. -I ../TokoLoco
+CondMacAlias , NoSpc , -f Trace-Conditionals -I. -I.. -I ../TokoLoco
+
+MulFCimg_01 , NotDef , -l
+MulFCimg_01 , MeT , -d 'moogoo=TRUe' -l
+MulFCimg_01 , MeF , -d 'moogoo=false' -l
+
+DupLoadTst , , -f Trace-Conditionals
+
Added: fcode-utils/testsuite/TokCondl/TokCondErrs.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokCondErrs.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokCondErrs.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,91 @@
+\ Nested Conditionals Erorrs test
+
+\ Updated Fri, 07 Apr 2006 at 15:04 PDT by David L. Paktor
+
+fcode-version2
+
+headers
+
+create NestTest
+
+#else
+
+[endif]
+
+." Begin Nested Erorrs Test"
+[#ifexist]
+NestTest
+ ." Exists, level 1"
+ [ifexist] NestTest
+ ." Exists and exists, level 2"
+ [else]
+ ." Exists but doesn't exist. What? Level 2"
+ [then]
+ ." Resumes existence, level 1"
+ [ifnexist] NestTest
+ ." Exists but not exists. What? Level 2"
+ [else]
+ ." Exists and doesn't not exist, level 2"
+ [then]
+ ." Still exists, level 1"
+[else]
+ ." Doesn't exist, level 1"
+[else]
+ ." Dubble elst, Wazzat?"
+ [ifexist] NestTest
+ ." Doesn't exist but exists. What? Level 2"
+ [else]
+ ." Doesn't exist and doesn't exist, level 2"
+\ [then]
+ " Resumes non-existence, level 1"
+ [ifnexist] NestTest
+ ." Doesn't exist and not exists, level 2"
+ [else]
+ ." Doesn't exist but doesn't not exist. What? Level 2"
+ [then]
+ ." Still doesn't exist, level 1"
+[then]
+
+." Middle of Nest Test Test"
+[ifnexist] NestTest
+ ." Not exists, pass 2, level 1"
+ [ifexist] NestTest
+ ." Not exists but exists. What? Pass 2, Level 2"
+ [else]
+ ." Not exists and doesn't exist, pass 2, level 2"
+ [else]
+ ." Extra Else where it should be ignored, pass 2, level 2"
+ [then]
+ " Resumes non-existence, pass 2, level 1"
+ [ifnexist] NestTest
+ ." Not exists and not exists, pass 2, level 2"
+ [else]
+ ." Not exists but doesn't not exist. What? Pass 2, Level 2"
+ [else]
+ ." Extra Else where it should never be seen, pass 2, level 2"
+ [then]
+ ." Still not exists, pass 2, level 1"
+[else]
+ ." Doesn't not exist, pass 2, level 1"
+ [ifexist] NestTest
+ ." Doesn't not exist and exists, pass 2, level 2"
+ [else]
+ ." Doesn't not exist but doesn't exist. What? Pass 2, Level 2"
+ [then]
+ " Resumes not non-existing, pass 2, level 1"
+ [ifnexist] NestTest
+ ." Doesn't not exist but not exists. What? Pass 2, Level 2"
+ [else]
+ ." Doesn't not exist and doesn't not exist, pass 2, level 1"
+ [else]
+ ." And has an extra Else where it will be seen, pass 2, level 1"
+ [then]
+ ." Still doesn't not exist, pass 2, level 1"
+[then]
+
+." End Nest Test Test"
+
+
+fcode-end
+
+
Added: fcode-utils/testsuite/TokCondl/TokCondMinTst.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokCondMinTst.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokCondMinTst.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,16 @@
+\ Minimal Nested Conditionals test
+
+\ Updated Tue, 12 Apr 2005 at 15:55 by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+create NestTest
+
+." Here is one."
+[ifnexist] NestTest
+ ." Here is another."
+[then]
+fcode-end
Added: fcode-utils/testsuite/TokCondl/TokConstCondTst01.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokConstCondTst01.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokConstCondTst01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,23 @@
+\ Common code (insert obligatory sneeze here)
+\ for Nested "Constant" Conditionals test
+
+\ Updated Sun, 09 Apr 2006 at 00:22 PDT by David L. Paktor
+
+\ File that FLOADs this has already put TRUE or FALSE on the stack.
+
+f[ constant boobalah? f]
+
+fcode-version2
+
+: whatziz
+ ." This is the "
+ f[ boobalah? [if] f] ." True " f[ [else] f] ." False"
+ f[ [then] f] ." side of the test." cr
+;
+headers
+
+fload BooBalah.fth
+
+: whoozis whatziz ;
+
+fcode-end
Added: fcode-utils/testsuite/TokCondl/TokConstCondTst02.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokConstCondTst02.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokConstCondTst02.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,52 @@
+\ Common code (insert obligatory sneeze here)
+\ for second Nested "Constant" Conditionals test
+
+\ Updated Wed, 29 Jun 2005 at 13:41 by David L. Paktor
+
+\ File that FLOADs this has already put TRUE or FALSE on the stack.
+
+f[ constant boobalah? f]
+
+: whatziz
+ ." This is the "
+ f[ boobalah? [if] f] ." True " f[ [else] f] ." False" f[ [then] f]
+ ." side of the test." cr
+;
+headers
+
+: tell-me
+ ." Begin Nested ""Constant"" Test Test"
+ f[ boobalah? f] [if]
+ [message] The TRUE path has wisely been chosen, Boobalah!
+ ." Is True, level 1"
+ f[ boobalah? f] [if]
+ " Is True and is True, level 2"
+ [else]
+ " Is True but is Not True. What?"
+ [then]
+ ." Middle of level 2"
+ f[ boobalah? 0= f] [if]
+ " Is True and is False. What?"
+ [else]
+ " Is True and is Not False, level 2"
+ [then]
+ [else]
+ [message] Oy, Boobalah. You have foolishly chosen the FALSE path.
+ ." Is Not True, level 1"
+ f[ boobalah? f] [if]
+ " Is Not True but is True. What?"
+ [else]
+ " Is Not True and is Not True, level 2"
+ [then]
+ ." Middle of Not level 2"
+ f[ boobalah? 0= f] [if]
+ " Is Not True and is False, level 2"
+ [else]
+ " Is Not True and is Not False. What?"
+ [then]
+ [then]
+;
+
+: whoozis whatziz ;
+
+
Added: fcode-utils/testsuite/TokCondl/TokConstCondTstF.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokConstCondTstF.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokConstCondTstF.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,8 @@
+\ "False" side of Nested "Constant" Conditionals test
+
+\ Updated Wed, 20 Apr 2005 at 11:14 by David L. Paktor
+\
+
+f[ false f]
+
+fload TokConstCondTst01.fth
Added: fcode-utils/testsuite/TokCondl/TokConstCondTstT.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokConstCondTstT.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokConstCondTstT.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,8 @@
+\ "True" side of Nested "Constant" Conditionals test
+
+\ Updated Wed, 20 Apr 2005 at 11:14 by David L. Paktor
+\
+
+f[ true f]
+
+fload TokConstCondTst01.fth
Added: fcode-utils/testsuite/TokCondl/TokDefCondTst.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokDefCondTst.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokDefCondTst.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,73 @@
+\ Stand-alone version of Nested "Defined" Conditionals test
+\ looking for command-line or [define] def'n of NestTest
+
+\ Updated Wed, 27 Apr 2005 at 17:59 by David L. Paktor
+
+fcode-version2
+
+." Begin Nest Test Test"
+[ifdef] NestTest
+ ." Is defined, level 1"
+ [ifdef] NestTest
+ ." Is defined and is defined, level 2"
+ [else]
+ ." Is defined but isn't defined. What? Level 2"
+ [then]
+ ." Resumes defined-ness, level 1"
+ [ifndef] NestTest
+ ." Is defined but is not defined. What? Level 2"
+ [else]
+ ." Is defined and isn't not defined, level 2"
+ [then]
+ ." Still is defined, level 1"
+[else]
+ ." Isn't defined, level 1"
+ [ifdef] NestTest
+ ." Isn't defined but is defined. What? Level 2"
+ [else]
+ ." Isn't defined and isn't defined, level 2"
+ [then]
+ " Resumes non-defined-ness, level 1"
+ [ifndef] NestTest
+ ." Isn't defined and is not defined, level 2"
+ [else]
+ ." Isn't defined but isn't not defined. What? Level 2"
+ [then]
+ ." Still isn't defined, level 1"
+[then]
+
+." Middle of Nest Test Test"
+[ifndef] NestTest
+ ." Is not defined, pass 2, level 1"
+ [ifdef] NestTest
+ ." Is not defined but is defined. What? Pass 2, Level 2"
+ [else]
+ ." Is not defined and isn't defined, pass 2, level 2"
+ [then]
+ " Resumes non-defined-ness, pass 2, level 1"
+ [ifndef] NestTest
+ ." Is not defined and is not defined, pass 2, level 2"
+ [else]
+ ." Is not defined but isn't not defined. What? Pass 2, Level 2"
+ [then]
+ ." Still is not defined, pass 2, level 1"
+[else]
+ ." Isn't not defined, pass 2, level 1"
+ [ifdef] NestTest
+ ." Isn't not defined and is defined, pass 2, level 2"
+ [else]
+ ." Isn't not defined but isn't defined. What? Pass 2, Level 2"
+ [then]
+ " Resumes not non-existing, pass 2, level 1"
+ [ifndef] NestTest
+ ." Isn't not defined but is not defined. What? Pass 2, Level 2"
+ [else]
+ ." Isn't not defined and isn't not defined, pass 2, level 1"
+ [then]
+ ." Still isn't not defined, pass 2, level 1"
+[then]
+
+." End Nest Test Test"
+
+
+fcode-end
Added: fcode-utils/testsuite/TokCondl/TokExstCondNadaTst.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokExstCondNadaTst.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokExstCondNadaTst.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,60 @@
+\ What happens to "Exists" Conditionals test when the
+\ target isn't on the same line?
+\ "Exists" side of test
+
+\ Updated Tue, 21 Feb 2006 at 15:33 PST by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+create HotNasty
+
+fload TokExstCondNada_01.fth
+
+Global-definitions
+ alias [yestest] [ifexist]
+device-definitions
+
+fload TokExstCondNada_01.fth
+
+Global-definitions
+ alias [notest] [ifnexist]
+device-definitions
+
+fload TokExstCondNada_01.fth
+
+\ Here we will test:
+\ Whether aliases to comment-delimiters are recognized:
+\ in Normal mode
+\ in Tokenizer-escape mode
+\ inside conditional-compilation sections
+\ We will also re-demonstrate the fate of Conditional-Operators
+\ that occur inside conditional-compilation sections that are
+\ being ignored.
+
+Global-definitions
+ alias // \
+device-definitions
+
+\ #message" This is cleanly commented-out and will be ignored"
+// #message" This, too, will be ignored"
+f[ \ #message" Comment safely ignored in Tok-esc mode"
+ // #message" Aliased comment in Tok-esc mode. Should be ignored."
+ ]f
+[ifnexist] dup
+ \ This section should be ignored consistently
+ \ #message" This conditional commented-out message will be ignored"
+ [message] The next message has a brack-then
+ [message] [then] #message" Should be ignored but isn't"
+ #message" Re-balance the conditional..." [ifnexist] dup
+ // Unprocessed Aliased comment. [then] #message" Faked-out" [ifnexist] dup
+
+[else]
+ #message" This will not be ignored."
+ // #message" Aliased comment in unignored section"
+
+[then]
+
+fcode-end
Added: fcode-utils/testsuite/TokCondl/TokExstCondNada_01.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokExstCondNada_01.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokExstCondNada_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,31 @@
+\ What happens to "Exists" Conditionals test when the
+\ target isn't on the same line?
+\ Or the "Defined" Conditionals, for that matter
+\ Preliminary test before FLoading Common code (insert obligatory sneeze here)
+
+\ Updated Tue, 21 Feb 2006 at 15:33 PST by David L. Paktor
+
+
+\ File that FLoads this must define a pair of macros or aliases
+\ called [yestest] and [notest] respectively, that are
+\ inverses of each other.
+
+f[ false ]f
+[ifnexist] [yestest]
+ [if] [endif] \ Until we have a better way to drop in tok-esc mode
+ f[ true ]f
+[endif]
+
+[ifnexist] [notest]
+ [if] [endif] \ Until we have a better way to drop in tok-esc mode
+ f[ true ]f
+[endif]
+[#message] got this far
+[if]
+ [#message] \ Must define macros or aliases called [yestest] and [notest] respectively
+[else]
+[#message] are we here
+ fload TokExstCondNada_02.fth
+[#message] we are here
+[endif]
+
Added: fcode-utils/testsuite/TokCondl/TokExstCondNada_02.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokExstCondNada_02.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokExstCondNada_02.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,71 @@
+\ What happens to "Exists" Conditionals test when the
+\ target isn't on the same line?
+\ Or the "Defined" Conditionals, for that matter
+\ Common code (insert obligatory sneeze here)
+\ FLoaded only after necessary preliminary test.
+
+\ Updated Tue, 21 Feb 2006 at 15:58 PST by David L. Paktor
+
+." Begin Nest Test Test"
+[yestest]
+ ." Exists, level 1"
+ [yestest]
+ ." Exists and exists, level 2"
+ [else]
+ ." Exists but doesn't exist. What? Level 2"
+ [then]
+ ." Resumes existence, level 1"
+ [notest]
+ ." Exists but not exists. What? Level 2"
+ [else]
+ ." Exists and doesn't not exist, level 2"
+ [then]
+ ." Still exists, level 1"
+[else]
+ ." Doesn't exist, level 1"
+ [yestest]
+ ." Doesn't exist but exists. What? Level 2"
+ [else]
+ ." Doesn't exist and doesn't exist, level 2"
+ [then]
+ " Resumes non-existence, level 1"
+ [notest]
+ ." Doesn't exist and not exists, level 2"
+ [else]
+ ." Doesn't exist but doesn't not exist. What? Level 2"
+ [then]
+ ." Still doesn't exist, level 1"
+[then]
+
+." Middle of Nest Test Test"
+[notest]
+ ." Not exists, pass 2, level 1"
+ [yestest]
+ ." Not exists but exists. What? Pass 2, Level 2"
+ [else]
+ ." Not exists and doesn't exist, pass 2, level 2"
+ [then]
+ " Resumes non-existence, pass 2, level 1"
+ [notest]
+ ." Not exists and not exists, pass 2, level 2"
+ [else]
+ ." Not exists but doesn't not exist. What? Pass 2, Level 2"
+ [then]
+ ." Still not exists, pass 2, level 1"
+[else]
+ ." Doesn't not exist, pass 2, level 1"
+ [yestest]
+ ." Doesn't not exist and exists, pass 2, level 2"
+ [else]
+ ." Doesn't not exist but doesn't exist. What? Pass 2, Level 2"
+ [then]
+ " Resumes not non-existing, pass 2, level 1"
+ [notest]
+ ." Doesn't not exist but not exists. What? Pass 2, Level 2"
+ [else]
+ ." Doesn't not exist and doesn't not exist, pass 2, level 1"
+ [then]
+ ." Still doesn't not exist, pass 2, level 1"
+[then]
+
+." End Nest Test Test"
Added: fcode-utils/testsuite/TokCondl/TokExstCondTst01.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokExstCondTst01.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokExstCondTst01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,70 @@
+\ Common code (insert obligatory sneeze here)
+\ for Nested "Exists" Conditionals test
+
+\ Updated Tue, 12 Apr 2005 at 14:45 by David L. Paktor
+
+
+." Begin Nest Test Test"
+[ifexist] NestTest
+ ." Exists, level 1"
+ [ifexist] NestTest
+ ." Exists and exists, level 2"
+ [else]
+ ." Exists but doesn't exist. What? Level 2"
+ [then]
+ ." Resumes existence, level 1"
+ [ifnexist] NestTest
+ ." Exists but not exists. What? Level 2"
+ [else]
+ ." Exists and doesn't not exist, level 2"
+ [then]
+ ." Still exists, level 1"
+[else]
+ ." Doesn't exist, level 1"
+ [ifexist] NestTest
+ ." Doesn't exist but exists. What? Level 2"
+ [else]
+ ." Doesn't exist and doesn't exist, level 2"
+ [then]
+ " Resumes non-existence, level 1"
+ [ifnexist] NestTest
+ ." Doesn't exist and not exists, level 2"
+ [else]
+ ." Doesn't exist but doesn't not exist. What? Level 2"
+ [then]
+ ." Still doesn't exist, level 1"
+[then]
+
+." Middle of Nest Test Test"
+[ifnexist] NestTest
+ ." Not exists, pass 2, level 1"
+ [ifexist] NestTest
+ ." Not exists but exists. What? Pass 2, Level 2"
+ [else]
+ ." Not exists and doesn't exist, pass 2, level 2"
+ [then]
+ " Resumes non-existence, pass 2, level 1"
+ [ifnexist] NestTest
+ ." Not exists and not exists, pass 2, level 2"
+ [else]
+ ." Not exists but doesn't not exist. What? Pass 2, Level 2"
+ [then]
+ ." Still not exists, pass 2, level 1"
+[else]
+ ." Doesn't not exist, pass 2, level 1"
+ [ifexist] NestTest
+ ." Doesn't not exist and exists, pass 2, level 2"
+ [else]
+ ." Doesn't not exist but doesn't exist. What? Pass 2, Level 2"
+ [then]
+ " Resumes not non-existing, pass 2, level 1"
+ [ifnexist] NestTest
+ ." Doesn't not exist but not exists. What? Pass 2, Level 2"
+ [else]
+ ." Doesn't not exist and doesn't not exist, pass 2, level 1"
+ [then]
+ ." Still doesn't not exist, pass 2, level 1"
+[then]
+
+." End Nest Test Test"
+
Added: fcode-utils/testsuite/TokCondl/TokExstCondTstN.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokExstCondTstN.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokExstCondTstN.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,14 @@
+\ "Doesn't Exist" side of Nested "Exists" Conditionals test
+
+\ Updated Tue, 12 Apr 2005 at 14:45 by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+create NotTasty
+
+fload TokExstCondTst01.fth
+
+fcode-end
Added: fcode-utils/testsuite/TokCondl/TokExstCondTstY.fth
===================================================================
--- fcode-utils/testsuite/TokCondl/TokExstCondTstY.fth (rev 0)
+++ fcode-utils/testsuite/TokCondl/TokExstCondTstY.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,14 @@
+\ "Exists" side of Nested "Exists" Conditionals test
+
+\ Updated Tue, 12 Apr 2005 at 14:45 by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+create NestTest
+
+fload TokExstCondTst01.fth
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/AbrtQuot.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/AbrtQuot.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/AbrtQuot.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,24 @@
+\ Test of Abort" with various switches, JTMS.
+\ Throw in a few other misc goodies while we're at it...
+
+
+fcode-version2
+
+headers
+
+h# defeca8e constant poopoo
+h# beeffece constant moopoo
+alias couterde moopoo
+
+: gotta_try_it
+ gumfritsch \ Let's see how an unknown word is treated, before.
+ { \ What does this do?
+ } \ Or let's see what this does...
+ couterde poopoo = abort" Should be different. "
+ ." poopoo is " f['] poopoo .h cr
+ ." couterde is " f['] couterde .h cr
+ ." And its XT is: " ['] couterde
+ strumburkle \ Let's see how an unknown word is treated after.
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/AllMacros.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/AllMacros.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/AllMacros.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,81 @@
+\ Quick test for all single-function macros that have just been moved...
+\ This code isn't executable in any sense; but a detokenization
+\ should show that each "original" function is displayed twice
+\ (With the exception of the last pair, which takes a little more...)
+
+fcode-version2
+
+" Start of simple pairs"
+ not
+ invert
+ <<
+ lshift
+ >>
+ rshift
+ na1+
+ cell+
+ /c*
+ chars
+ /n*
+ cells
+ flip
+ wbflip
+ version
+ fcode-revision
+ true
+ -1
+ false
+ 0
+ struct
+ 0
+ eval
+ evaluate
+ u*x
+ um*
+ xu/mod
+ um/mod
+ x+
+ d+
+ x-
+ d-
+ attribute
+ property
+ xdrint
+ encode-int
+ xdr+
+ encode+
+ xdrphys
+ encode-phys
+ xdrstring
+ encode-string
+ xdrbytes
+ encode-bytes
+ decode-2int
+ parse-2int
+ map-sbus
+ map-low
+ name
+ device-name
+ get-my-attribute
+ get-my-property
+ xdrtoint
+ decode-int
+ xdrtostring
+ decode-string
+ get-inherited-attribute
+ get-inherited-property
+ delete-attribute
+ delete-property
+ get-package-attribute
+ get-package-property
+ wflips
+ wbflips
+ lflips
+ lwflips
+" End of simple pairs."
+0 if " Last phrase-item"
+ endif
+0 if " Last phrase-item"
+ then
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/Almost_a_Buffer_of_Beer.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/Almost_a_Buffer_of_Beer.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/Almost_a_Buffer_of_Beer.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,2582 @@
+." Oh, six hundred and forty-five Bottles of Beer on the wall," cr
+." six hundred and forty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty-four Bottles of Beer on the wall." cr
+." Oh, six hundred and forty-four Bottles of Beer on the wall," cr
+." six hundred and forty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty-three Bottles of Beer on the wall." cr
+." Oh, six hundred and forty-three Bottles of Beer on the wall," cr
+." six hundred and forty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty-two Bottles of Beer on the wall." cr
+." Oh, six hundred and forty-two Bottles of Beer on the wall," cr
+." six hundred and forty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty-one Bottles of Beer on the wall." cr
+." Oh, six hundred and forty-one Bottles of Beer on the wall," cr
+." six hundred and forty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty Bottles of Beer on the wall." cr
+." Oh, six hundred and forty Bottles of Beer on the wall," cr
+." six hundred and forty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-nine Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-nine Bottles of Beer on the wall," cr
+." six hundred and thirty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-eight Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-eight Bottles of Beer on the wall," cr
+." six hundred and thirty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-seven Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-seven Bottles of Beer on the wall," cr
+." six hundred and thirty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-six Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-six Bottles of Beer on the wall," cr
+." six hundred and thirty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-five Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-five Bottles of Beer on the wall," cr
+." six hundred and thirty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-four Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-four Bottles of Beer on the wall," cr
+." six hundred and thirty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-three Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-three Bottles of Beer on the wall," cr
+." six hundred and thirty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-two Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-two Bottles of Beer on the wall," cr
+." six hundred and thirty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-one Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-one Bottles of Beer on the wall," cr
+." six hundred and thirty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty Bottles of Beer on the wall," cr
+." six hundred and thirty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-nine Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-nine Bottles of Beer on the wall," cr
+." six hundred and twenty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-eight Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-eight Bottles of Beer on the wall," cr
+." six hundred and twenty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-seven Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-seven Bottles of Beer on the wall," cr
+." six hundred and twenty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-six Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-six Bottles of Beer on the wall," cr
+." six hundred and twenty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-five Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-five Bottles of Beer on the wall," cr
+." six hundred and twenty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-four Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-four Bottles of Beer on the wall," cr
+." six hundred and twenty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-three Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-three Bottles of Beer on the wall," cr
+." six hundred and twenty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-two Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-two Bottles of Beer on the wall," cr
+." six hundred and twenty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-one Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-one Bottles of Beer on the wall," cr
+." six hundred and twenty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty Bottles of Beer on the wall," cr
+." six hundred and twenty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and nineteen Bottles of Beer on the wall." cr
+." Oh, six hundred and nineteen Bottles of Beer on the wall," cr
+." six hundred and nineteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and eighteen Bottles of Beer on the wall." cr
+." Oh, six hundred and eighteen Bottles of Beer on the wall," cr
+." six hundred and eighteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and seventeen Bottles of Beer on the wall." cr
+." Oh, six hundred and seventeen Bottles of Beer on the wall," cr
+." six hundred and seventeen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and sixteen Bottles of Beer on the wall." cr
+." Oh, six hundred and sixteen Bottles of Beer on the wall," cr
+." six hundred and sixteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and fifteen Bottles of Beer on the wall." cr
+." Oh, six hundred and fifteen Bottles of Beer on the wall," cr
+." six hundred and fifteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and fourteen Bottles of Beer on the wall." cr
+." Oh, six hundred and fourteen Bottles of Beer on the wall," cr
+." six hundred and fourteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirteen Bottles of Beer on the wall." cr
+." Oh, six hundred and thirteen Bottles of Beer on the wall," cr
+." six hundred and thirteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twelve Bottles of Beer on the wall." cr
+." Oh, six hundred and twelve Bottles of Beer on the wall," cr
+." six hundred and twelve Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and eleven Bottles of Beer on the wall." cr
+." Oh, six hundred and eleven Bottles of Beer on the wall," cr
+." six hundred and eleven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and ten Bottles of Beer on the wall." cr
+." Oh, six hundred and ten Bottles of Beer on the wall," cr
+." six hundred and ten Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and nine Bottles of Beer on the wall." cr
+." Oh, six hundred and nine Bottles of Beer on the wall," cr
+." six hundred and nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and eight Bottles of Beer on the wall." cr
+." Oh, six hundred and eight Bottles of Beer on the wall," cr
+." six hundred and eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and seven Bottles of Beer on the wall." cr
+." Oh, six hundred and seven Bottles of Beer on the wall," cr
+." six hundred and seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and six Bottles of Beer on the wall." cr
+." Oh, six hundred and six Bottles of Beer on the wall," cr
+." six hundred and six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and five Bottles of Beer on the wall." cr
+." Oh, six hundred and five Bottles of Beer on the wall," cr
+." six hundred and five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and four Bottles of Beer on the wall." cr
+." Oh, six hundred and four Bottles of Beer on the wall," cr
+." six hundred and four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and three Bottles of Beer on the wall." cr
+." Oh, six hundred and three Bottles of Beer on the wall," cr
+." six hundred and three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and two Bottles of Beer on the wall." cr
+." Oh, six hundred and two Bottles of Beer on the wall," cr
+." six hundred and two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and one Bottles of Beer on the wall." cr
+." Oh, six hundred and one Bottles of Beer on the wall," cr
+." six hundred and one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred Bottles of Beer on the wall." cr
+." Oh, six hundred Bottles of Beer on the wall," cr
+." six hundred Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-nine Bottles of Beer on the wall," cr
+." five hundred and ninety-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-eight Bottles of Beer on the wall," cr
+." five hundred and ninety-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-seven Bottles of Beer on the wall," cr
+." five hundred and ninety-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-six Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-six Bottles of Beer on the wall," cr
+." five hundred and ninety-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-five Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-five Bottles of Beer on the wall," cr
+." five hundred and ninety-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-four Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-four Bottles of Beer on the wall," cr
+." five hundred and ninety-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-three Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-three Bottles of Beer on the wall," cr
+." five hundred and ninety-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-two Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-two Bottles of Beer on the wall," cr
+." five hundred and ninety-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-one Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-one Bottles of Beer on the wall," cr
+." five hundred and ninety-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety Bottles of Beer on the wall," cr
+." five hundred and ninety Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-nine Bottles of Beer on the wall," cr
+." five hundred and eighty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-eight Bottles of Beer on the wall," cr
+." five hundred and eighty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-seven Bottles of Beer on the wall," cr
+." five hundred and eighty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-six Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-six Bottles of Beer on the wall," cr
+." five hundred and eighty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-five Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-five Bottles of Beer on the wall," cr
+." five hundred and eighty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-four Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-four Bottles of Beer on the wall," cr
+." five hundred and eighty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-three Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-three Bottles of Beer on the wall," cr
+." five hundred and eighty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-two Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-two Bottles of Beer on the wall," cr
+." five hundred and eighty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-one Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-one Bottles of Beer on the wall," cr
+." five hundred and eighty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty Bottles of Beer on the wall," cr
+." five hundred and eighty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-nine Bottles of Beer on the wall," cr
+." five hundred and seventy-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-eight Bottles of Beer on the wall," cr
+." five hundred and seventy-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-seven Bottles of Beer on the wall," cr
+." five hundred and seventy-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-six Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-six Bottles of Beer on the wall," cr
+." five hundred and seventy-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-five Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-five Bottles of Beer on the wall," cr
+." five hundred and seventy-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-four Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-four Bottles of Beer on the wall," cr
+." five hundred and seventy-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-three Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-three Bottles of Beer on the wall," cr
+." five hundred and seventy-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-two Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-two Bottles of Beer on the wall," cr
+." five hundred and seventy-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-one Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-one Bottles of Beer on the wall," cr
+." five hundred and seventy-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy Bottles of Beer on the wall," cr
+." five hundred and seventy Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-nine Bottles of Beer on the wall," cr
+." five hundred and sixty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-eight Bottles of Beer on the wall," cr
+." five hundred and sixty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-seven Bottles of Beer on the wall," cr
+." five hundred and sixty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-six Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-six Bottles of Beer on the wall," cr
+." five hundred and sixty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-five Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-five Bottles of Beer on the wall," cr
+." five hundred and sixty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-four Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-four Bottles of Beer on the wall," cr
+." five hundred and sixty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-three Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-three Bottles of Beer on the wall," cr
+." five hundred and sixty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-two Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-two Bottles of Beer on the wall," cr
+." five hundred and sixty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-one Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-one Bottles of Beer on the wall," cr
+." five hundred and sixty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty Bottles of Beer on the wall," cr
+." five hundred and sixty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-nine Bottles of Beer on the wall," cr
+." five hundred and fifty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-eight Bottles of Beer on the wall," cr
+." five hundred and fifty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-seven Bottles of Beer on the wall," cr
+." five hundred and fifty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-six Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-six Bottles of Beer on the wall," cr
+." five hundred and fifty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-five Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-five Bottles of Beer on the wall," cr
+." five hundred and fifty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-four Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-four Bottles of Beer on the wall," cr
+." five hundred and fifty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-three Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-three Bottles of Beer on the wall," cr
+." five hundred and fifty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-two Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-two Bottles of Beer on the wall," cr
+." five hundred and fifty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-one Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-one Bottles of Beer on the wall," cr
+." five hundred and fifty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty Bottles of Beer on the wall," cr
+." five hundred and fifty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and forty-nine Bottles of Beer on the wall," cr
+." five hundred and forty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and forty-eight Bottles of Beer on the wall," cr
+." five hundred and forty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and forty-seven Bottles of Beer on the wall," cr
+." five hundred and forty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-six Bottles of Beer on the wall." cr
+." Oh, five hundred and forty-six Bottles of Beer on the wall," cr
+." five hundred and forty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-five Bottles of Beer on the wall." cr
+." Oh, five hundred and forty-five Bottles of Beer on the wall," cr
+." five hundred and forty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-four Bottles of Beer on the wall." cr
+." Oh, five hundred and forty-four Bottles of Beer on the wall," cr
+." five hundred and forty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-three Bottles of Beer on the wall." cr
+." Oh, five hundred and forty-three Bottles of Beer on the wall," cr
+." five hundred and forty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-two Bottles of Beer on the wall." cr
+." Oh, five hundred and forty-two Bottles of Beer on the wall," cr
+." five hundred and forty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-one Bottles of Beer on the wall." cr
+." Oh, five hundred and forty-one Bottles of Beer on the wall," cr
+." five hundred and forty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty Bottles of Beer on the wall." cr
+." Oh, five hundred and forty Bottles of Beer on the wall," cr
+." five hundred and forty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirty-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and thirty-nine Bottles of Beer on the wall," cr
+." five hundred and thirty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirty-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and thirty-eight Bottles of Beer on the wall," cr
+." five hundred and thirty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirty-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and thirty-seven Bottles of Beer on the wall," cr
+." five hundred and thirty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirty-six Bottles of Beer on the wall." cr
+." Oh, five hundred and thirty-six Bottles of Beer on the wall," cr
+." five hundred and thirty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirty-five Bottles of Beer on the wall." cr
+." Oh, five hundred and thirty-five Bottles of Beer on the wall," cr
+." five hundred and thirty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirty-four Bottles of Beer on the wall." cr
+." Oh, five hundred and thirty-four Bottles of Beer on the wall," cr
+." five hundred and thirty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirty-three Bottles of Beer on the wall." cr
+." Oh, five hundred and thirty-three Bottles of Beer on the wall," cr
+." five hundred and thirty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirty-two Bottles of Beer on the wall." cr
+." Oh, five hundred and thirty-two Bottles of Beer on the wall," cr
+." five hundred and thirty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirty-one Bottles of Beer on the wall." cr
+." Oh, five hundred and thirty-one Bottles of Beer on the wall," cr
+." five hundred and thirty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirty Bottles of Beer on the wall." cr
+." Oh, five hundred and thirty Bottles of Beer on the wall," cr
+." five hundred and thirty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twenty-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and twenty-nine Bottles of Beer on the wall," cr
+." five hundred and twenty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twenty-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and twenty-eight Bottles of Beer on the wall," cr
+." five hundred and twenty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twenty-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and twenty-seven Bottles of Beer on the wall," cr
+." five hundred and twenty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twenty-six Bottles of Beer on the wall." cr
+." Oh, five hundred and twenty-six Bottles of Beer on the wall," cr
+." five hundred and twenty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twenty-five Bottles of Beer on the wall." cr
+." Oh, five hundred and twenty-five Bottles of Beer on the wall," cr
+." five hundred and twenty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twenty-four Bottles of Beer on the wall." cr
+." Oh, five hundred and twenty-four Bottles of Beer on the wall," cr
+." five hundred and twenty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twenty-three Bottles of Beer on the wall." cr
+." Oh, five hundred and twenty-three Bottles of Beer on the wall," cr
+." five hundred and twenty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twenty-two Bottles of Beer on the wall." cr
+." Oh, five hundred and twenty-two Bottles of Beer on the wall," cr
+." five hundred and twenty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twenty-one Bottles of Beer on the wall." cr
+." Oh, five hundred and twenty-one Bottles of Beer on the wall," cr
+." five hundred and twenty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twenty Bottles of Beer on the wall." cr
+." Oh, five hundred and twenty Bottles of Beer on the wall," cr
+." five hundred and twenty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and nineteen Bottles of Beer on the wall." cr
+." Oh, five hundred and nineteen Bottles of Beer on the wall," cr
+." five hundred and nineteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighteen Bottles of Beer on the wall." cr
+." Oh, five hundred and eighteen Bottles of Beer on the wall," cr
+." five hundred and eighteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventeen Bottles of Beer on the wall." cr
+." Oh, five hundred and seventeen Bottles of Beer on the wall," cr
+." five hundred and seventeen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixteen Bottles of Beer on the wall." cr
+." Oh, five hundred and sixteen Bottles of Beer on the wall," cr
+." five hundred and sixteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifteen Bottles of Beer on the wall." cr
+." Oh, five hundred and fifteen Bottles of Beer on the wall," cr
+." five hundred and fifteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fourteen Bottles of Beer on the wall." cr
+." Oh, five hundred and fourteen Bottles of Beer on the wall," cr
+." five hundred and fourteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and thirteen Bottles of Beer on the wall." cr
+." Oh, five hundred and thirteen Bottles of Beer on the wall," cr
+." five hundred and thirteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and twelve Bottles of Beer on the wall." cr
+." Oh, five hundred and twelve Bottles of Beer on the wall," cr
+." five hundred and twelve Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eleven Bottles of Beer on the wall." cr
+." Oh, five hundred and eleven Bottles of Beer on the wall," cr
+." five hundred and eleven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ten Bottles of Beer on the wall." cr
+." Oh, five hundred and ten Bottles of Beer on the wall," cr
+." five hundred and ten Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and nine Bottles of Beer on the wall." cr
+." Oh, five hundred and nine Bottles of Beer on the wall," cr
+." five hundred and nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eight Bottles of Beer on the wall." cr
+." Oh, five hundred and eight Bottles of Beer on the wall," cr
+." five hundred and eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seven Bottles of Beer on the wall." cr
+." Oh, five hundred and seven Bottles of Beer on the wall," cr
+." five hundred and seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and six Bottles of Beer on the wall." cr
+." Oh, five hundred and six Bottles of Beer on the wall," cr
+." five hundred and six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and five Bottles of Beer on the wall." cr
+." Oh, five hundred and five Bottles of Beer on the wall," cr
+." five hundred and five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and four Bottles of Beer on the wall." cr
+." Oh, five hundred and four Bottles of Beer on the wall," cr
+." five hundred and four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and three Bottles of Beer on the wall." cr
+." Oh, five hundred and three Bottles of Beer on the wall," cr
+." five hundred and three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and two Bottles of Beer on the wall." cr
+." Oh, five hundred and two Bottles of Beer on the wall," cr
+." five hundred and two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and one Bottles of Beer on the wall." cr
+." Oh, five hundred and one Bottles of Beer on the wall," cr
+." five hundred and one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred Bottles of Beer on the wall." cr
+." Oh, five hundred Bottles of Beer on the wall," cr
+." five hundred Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ninety-nine Bottles of Beer on the wall." cr
+." Oh, four hundred and ninety-nine Bottles of Beer on the wall," cr
+." four hundred and ninety-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ninety-eight Bottles of Beer on the wall." cr
+." Oh, four hundred and ninety-eight Bottles of Beer on the wall," cr
+." four hundred and ninety-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ninety-seven Bottles of Beer on the wall." cr
+." Oh, four hundred and ninety-seven Bottles of Beer on the wall," cr
+." four hundred and ninety-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ninety-six Bottles of Beer on the wall." cr
+." Oh, four hundred and ninety-six Bottles of Beer on the wall," cr
+." four hundred and ninety-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ninety-five Bottles of Beer on the wall." cr
+." Oh, four hundred and ninety-five Bottles of Beer on the wall," cr
+." four hundred and ninety-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ninety-four Bottles of Beer on the wall." cr
+." Oh, four hundred and ninety-four Bottles of Beer on the wall," cr
+." four hundred and ninety-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ninety-three Bottles of Beer on the wall." cr
+." Oh, four hundred and ninety-three Bottles of Beer on the wall," cr
+." four hundred and ninety-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ninety-two Bottles of Beer on the wall." cr
+." Oh, four hundred and ninety-two Bottles of Beer on the wall," cr
+." four hundred and ninety-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ninety-one Bottles of Beer on the wall." cr
+." Oh, four hundred and ninety-one Bottles of Beer on the wall," cr
+." four hundred and ninety-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ninety Bottles of Beer on the wall." cr
+." Oh, four hundred and ninety Bottles of Beer on the wall," cr
+." four hundred and ninety Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighty-nine Bottles of Beer on the wall." cr
+." Oh, four hundred and eighty-nine Bottles of Beer on the wall," cr
+." four hundred and eighty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighty-eight Bottles of Beer on the wall." cr
+." Oh, four hundred and eighty-eight Bottles of Beer on the wall," cr
+." four hundred and eighty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighty-seven Bottles of Beer on the wall." cr
+." Oh, four hundred and eighty-seven Bottles of Beer on the wall," cr
+." four hundred and eighty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighty-six Bottles of Beer on the wall." cr
+." Oh, four hundred and eighty-six Bottles of Beer on the wall," cr
+." four hundred and eighty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighty-five Bottles of Beer on the wall." cr
+." Oh, four hundred and eighty-five Bottles of Beer on the wall," cr
+." four hundred and eighty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighty-four Bottles of Beer on the wall." cr
+." Oh, four hundred and eighty-four Bottles of Beer on the wall," cr
+." four hundred and eighty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighty-three Bottles of Beer on the wall." cr
+." Oh, four hundred and eighty-three Bottles of Beer on the wall," cr
+." four hundred and eighty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighty-two Bottles of Beer on the wall." cr
+." Oh, four hundred and eighty-two Bottles of Beer on the wall," cr
+." four hundred and eighty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighty-one Bottles of Beer on the wall." cr
+." Oh, four hundred and eighty-one Bottles of Beer on the wall," cr
+." four hundred and eighty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighty Bottles of Beer on the wall." cr
+." Oh, four hundred and eighty Bottles of Beer on the wall," cr
+." four hundred and eighty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventy-nine Bottles of Beer on the wall." cr
+." Oh, four hundred and seventy-nine Bottles of Beer on the wall," cr
+." four hundred and seventy-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventy-eight Bottles of Beer on the wall." cr
+." Oh, four hundred and seventy-eight Bottles of Beer on the wall," cr
+." four hundred and seventy-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventy-seven Bottles of Beer on the wall." cr
+." Oh, four hundred and seventy-seven Bottles of Beer on the wall," cr
+." four hundred and seventy-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventy-six Bottles of Beer on the wall." cr
+." Oh, four hundred and seventy-six Bottles of Beer on the wall," cr
+." four hundred and seventy-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventy-five Bottles of Beer on the wall." cr
+." Oh, four hundred and seventy-five Bottles of Beer on the wall," cr
+." four hundred and seventy-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventy-four Bottles of Beer on the wall." cr
+." Oh, four hundred and seventy-four Bottles of Beer on the wall," cr
+." four hundred and seventy-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventy-three Bottles of Beer on the wall." cr
+." Oh, four hundred and seventy-three Bottles of Beer on the wall," cr
+." four hundred and seventy-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventy-two Bottles of Beer on the wall." cr
+." Oh, four hundred and seventy-two Bottles of Beer on the wall," cr
+." four hundred and seventy-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventy-one Bottles of Beer on the wall." cr
+." Oh, four hundred and seventy-one Bottles of Beer on the wall," cr
+." four hundred and seventy-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventy Bottles of Beer on the wall." cr
+." Oh, four hundred and seventy Bottles of Beer on the wall," cr
+." four hundred and seventy Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixty-nine Bottles of Beer on the wall." cr
+." Oh, four hundred and sixty-nine Bottles of Beer on the wall," cr
+." four hundred and sixty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixty-eight Bottles of Beer on the wall." cr
+." Oh, four hundred and sixty-eight Bottles of Beer on the wall," cr
+." four hundred and sixty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixty-seven Bottles of Beer on the wall." cr
+." Oh, four hundred and sixty-seven Bottles of Beer on the wall," cr
+." four hundred and sixty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixty-six Bottles of Beer on the wall." cr
+." Oh, four hundred and sixty-six Bottles of Beer on the wall," cr
+." four hundred and sixty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixty-five Bottles of Beer on the wall." cr
+." Oh, four hundred and sixty-five Bottles of Beer on the wall," cr
+." four hundred and sixty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixty-four Bottles of Beer on the wall." cr
+." Oh, four hundred and sixty-four Bottles of Beer on the wall," cr
+." four hundred and sixty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixty-three Bottles of Beer on the wall." cr
+." Oh, four hundred and sixty-three Bottles of Beer on the wall," cr
+." four hundred and sixty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixty-two Bottles of Beer on the wall." cr
+." Oh, four hundred and sixty-two Bottles of Beer on the wall," cr
+." four hundred and sixty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixty-one Bottles of Beer on the wall." cr
+." Oh, four hundred and sixty-one Bottles of Beer on the wall," cr
+." four hundred and sixty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixty Bottles of Beer on the wall." cr
+." Oh, four hundred and sixty Bottles of Beer on the wall," cr
+." four hundred and sixty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifty-nine Bottles of Beer on the wall." cr
+." Oh, four hundred and fifty-nine Bottles of Beer on the wall," cr
+." four hundred and fifty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifty-eight Bottles of Beer on the wall." cr
+." Oh, four hundred and fifty-eight Bottles of Beer on the wall," cr
+." four hundred and fifty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifty-seven Bottles of Beer on the wall." cr
+." Oh, four hundred and fifty-seven Bottles of Beer on the wall," cr
+." four hundred and fifty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifty-six Bottles of Beer on the wall." cr
+." Oh, four hundred and fifty-six Bottles of Beer on the wall," cr
+." four hundred and fifty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifty-five Bottles of Beer on the wall." cr
+." Oh, four hundred and fifty-five Bottles of Beer on the wall," cr
+." four hundred and fifty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifty-four Bottles of Beer on the wall." cr
+." Oh, four hundred and fifty-four Bottles of Beer on the wall," cr
+." four hundred and fifty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifty-three Bottles of Beer on the wall." cr
+." Oh, four hundred and fifty-three Bottles of Beer on the wall," cr
+." four hundred and fifty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifty-two Bottles of Beer on the wall." cr
+." Oh, four hundred and fifty-two Bottles of Beer on the wall," cr
+." four hundred and fifty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifty-one Bottles of Beer on the wall." cr
+." Oh, four hundred and fifty-one Bottles of Beer on the wall," cr
+." four hundred and fifty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifty Bottles of Beer on the wall." cr
+." Oh, four hundred and fifty Bottles of Beer on the wall," cr
+." four hundred and fifty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and forty-nine Bottles of Beer on the wall." cr
+." Oh, four hundred and forty-nine Bottles of Beer on the wall," cr
+." four hundred and forty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and forty-eight Bottles of Beer on the wall." cr
+." Oh, four hundred and forty-eight Bottles of Beer on the wall," cr
+." four hundred and forty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and forty-seven Bottles of Beer on the wall." cr
+." Oh, four hundred and forty-seven Bottles of Beer on the wall," cr
+." four hundred and forty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and forty-six Bottles of Beer on the wall." cr
+." Oh, four hundred and forty-six Bottles of Beer on the wall," cr
+." four hundred and forty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and forty-five Bottles of Beer on the wall." cr
+." Oh, four hundred and forty-five Bottles of Beer on the wall," cr
+." four hundred and forty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and forty-four Bottles of Beer on the wall." cr
+." Oh, four hundred and forty-four Bottles of Beer on the wall," cr
+." four hundred and forty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and forty-three Bottles of Beer on the wall." cr
+." Oh, four hundred and forty-three Bottles of Beer on the wall," cr
+." four hundred and forty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and forty-two Bottles of Beer on the wall." cr
+." Oh, four hundred and forty-two Bottles of Beer on the wall," cr
+." four hundred and forty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and forty-one Bottles of Beer on the wall." cr
+." Oh, four hundred and forty-one Bottles of Beer on the wall," cr
+." four hundred and forty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and forty Bottles of Beer on the wall." cr
+." Oh, four hundred and forty Bottles of Beer on the wall," cr
+." four hundred and forty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirty-nine Bottles of Beer on the wall." cr
+." Oh, four hundred and thirty-nine Bottles of Beer on the wall," cr
+." four hundred and thirty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirty-eight Bottles of Beer on the wall." cr
+." Oh, four hundred and thirty-eight Bottles of Beer on the wall," cr
+." four hundred and thirty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirty-seven Bottles of Beer on the wall." cr
+." Oh, four hundred and thirty-seven Bottles of Beer on the wall," cr
+." four hundred and thirty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirty-six Bottles of Beer on the wall." cr
+." Oh, four hundred and thirty-six Bottles of Beer on the wall," cr
+." four hundred and thirty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirty-five Bottles of Beer on the wall." cr
+." Oh, four hundred and thirty-five Bottles of Beer on the wall," cr
+." four hundred and thirty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirty-four Bottles of Beer on the wall." cr
+." Oh, four hundred and thirty-four Bottles of Beer on the wall," cr
+." four hundred and thirty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirty-three Bottles of Beer on the wall." cr
+." Oh, four hundred and thirty-three Bottles of Beer on the wall," cr
+." four hundred and thirty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirty-two Bottles of Beer on the wall." cr
+." Oh, four hundred and thirty-two Bottles of Beer on the wall," cr
+." four hundred and thirty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirty-one Bottles of Beer on the wall." cr
+." Oh, four hundred and thirty-one Bottles of Beer on the wall," cr
+." four hundred and thirty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirty Bottles of Beer on the wall." cr
+." Oh, four hundred and thirty Bottles of Beer on the wall," cr
+." four hundred and thirty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twenty-nine Bottles of Beer on the wall." cr
+." Oh, four hundred and twenty-nine Bottles of Beer on the wall," cr
+." four hundred and twenty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twenty-eight Bottles of Beer on the wall." cr
+." Oh, four hundred and twenty-eight Bottles of Beer on the wall," cr
+." four hundred and twenty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twenty-seven Bottles of Beer on the wall." cr
+." Oh, four hundred and twenty-seven Bottles of Beer on the wall," cr
+." four hundred and twenty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twenty-six Bottles of Beer on the wall." cr
+." Oh, four hundred and twenty-six Bottles of Beer on the wall," cr
+." four hundred and twenty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twenty-five Bottles of Beer on the wall." cr
+." Oh, four hundred and twenty-five Bottles of Beer on the wall," cr
+." four hundred and twenty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twenty-four Bottles of Beer on the wall." cr
+." Oh, four hundred and twenty-four Bottles of Beer on the wall," cr
+." four hundred and twenty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twenty-three Bottles of Beer on the wall." cr
+." Oh, four hundred and twenty-three Bottles of Beer on the wall," cr
+." four hundred and twenty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twenty-two Bottles of Beer on the wall." cr
+." Oh, four hundred and twenty-two Bottles of Beer on the wall," cr
+." four hundred and twenty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twenty-one Bottles of Beer on the wall." cr
+." Oh, four hundred and twenty-one Bottles of Beer on the wall," cr
+." four hundred and twenty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twenty Bottles of Beer on the wall." cr
+." Oh, four hundred and twenty Bottles of Beer on the wall," cr
+." four hundred and twenty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and nineteen Bottles of Beer on the wall." cr
+." Oh, four hundred and nineteen Bottles of Beer on the wall," cr
+." four hundred and nineteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eighteen Bottles of Beer on the wall." cr
+." Oh, four hundred and eighteen Bottles of Beer on the wall," cr
+." four hundred and eighteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seventeen Bottles of Beer on the wall." cr
+." Oh, four hundred and seventeen Bottles of Beer on the wall," cr
+." four hundred and seventeen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and sixteen Bottles of Beer on the wall." cr
+." Oh, four hundred and sixteen Bottles of Beer on the wall," cr
+." four hundred and sixteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fifteen Bottles of Beer on the wall." cr
+." Oh, four hundred and fifteen Bottles of Beer on the wall," cr
+." four hundred and fifteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and fourteen Bottles of Beer on the wall." cr
+." Oh, four hundred and fourteen Bottles of Beer on the wall," cr
+." four hundred and fourteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and thirteen Bottles of Beer on the wall." cr
+." Oh, four hundred and thirteen Bottles of Beer on the wall," cr
+." four hundred and thirteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and twelve Bottles of Beer on the wall." cr
+." Oh, four hundred and twelve Bottles of Beer on the wall," cr
+." four hundred and twelve Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eleven Bottles of Beer on the wall." cr
+." Oh, four hundred and eleven Bottles of Beer on the wall," cr
+." four hundred and eleven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and ten Bottles of Beer on the wall." cr
+." Oh, four hundred and ten Bottles of Beer on the wall," cr
+." four hundred and ten Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and nine Bottles of Beer on the wall." cr
+." Oh, four hundred and nine Bottles of Beer on the wall," cr
+." four hundred and nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and eight Bottles of Beer on the wall." cr
+." Oh, four hundred and eight Bottles of Beer on the wall," cr
+." four hundred and eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and seven Bottles of Beer on the wall." cr
+." Oh, four hundred and seven Bottles of Beer on the wall," cr
+." four hundred and seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and six Bottles of Beer on the wall." cr
+." Oh, four hundred and six Bottles of Beer on the wall," cr
+." four hundred and six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and five Bottles of Beer on the wall." cr
+." Oh, four hundred and five Bottles of Beer on the wall," cr
+." four hundred and five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and four Bottles of Beer on the wall." cr
+." Oh, four hundred and four Bottles of Beer on the wall," cr
+." four hundred and four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and three Bottles of Beer on the wall." cr
+." Oh, four hundred and three Bottles of Beer on the wall," cr
+." four hundred and three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and two Bottles of Beer on the wall." cr
+." Oh, four hundred and two Bottles of Beer on the wall," cr
+." four hundred and two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred and one Bottles of Beer on the wall." cr
+." Oh, four hundred and one Bottles of Beer on the wall," cr
+." four hundred and one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four hundred Bottles of Beer on the wall." cr
+." Oh, four hundred Bottles of Beer on the wall," cr
+." four hundred Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ninety-nine Bottles of Beer on the wall." cr
+." Oh, three hundred and ninety-nine Bottles of Beer on the wall," cr
+." three hundred and ninety-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ninety-eight Bottles of Beer on the wall." cr
+." Oh, three hundred and ninety-eight Bottles of Beer on the wall," cr
+." three hundred and ninety-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ninety-seven Bottles of Beer on the wall." cr
+." Oh, three hundred and ninety-seven Bottles of Beer on the wall," cr
+." three hundred and ninety-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ninety-six Bottles of Beer on the wall." cr
+." Oh, three hundred and ninety-six Bottles of Beer on the wall," cr
+." three hundred and ninety-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ninety-five Bottles of Beer on the wall." cr
+." Oh, three hundred and ninety-five Bottles of Beer on the wall," cr
+." three hundred and ninety-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ninety-four Bottles of Beer on the wall." cr
+." Oh, three hundred and ninety-four Bottles of Beer on the wall," cr
+." three hundred and ninety-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ninety-three Bottles of Beer on the wall." cr
+." Oh, three hundred and ninety-three Bottles of Beer on the wall," cr
+." three hundred and ninety-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ninety-two Bottles of Beer on the wall." cr
+." Oh, three hundred and ninety-two Bottles of Beer on the wall," cr
+." three hundred and ninety-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ninety-one Bottles of Beer on the wall." cr
+." Oh, three hundred and ninety-one Bottles of Beer on the wall," cr
+." three hundred and ninety-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ninety Bottles of Beer on the wall." cr
+." Oh, three hundred and ninety Bottles of Beer on the wall," cr
+." three hundred and ninety Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighty-nine Bottles of Beer on the wall." cr
+." Oh, three hundred and eighty-nine Bottles of Beer on the wall," cr
+." three hundred and eighty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighty-eight Bottles of Beer on the wall." cr
+." Oh, three hundred and eighty-eight Bottles of Beer on the wall," cr
+." three hundred and eighty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighty-seven Bottles of Beer on the wall." cr
+." Oh, three hundred and eighty-seven Bottles of Beer on the wall," cr
+." three hundred and eighty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighty-six Bottles of Beer on the wall." cr
+." Oh, three hundred and eighty-six Bottles of Beer on the wall," cr
+." three hundred and eighty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighty-five Bottles of Beer on the wall." cr
+." Oh, three hundred and eighty-five Bottles of Beer on the wall," cr
+." three hundred and eighty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighty-four Bottles of Beer on the wall." cr
+." Oh, three hundred and eighty-four Bottles of Beer on the wall," cr
+." three hundred and eighty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighty-three Bottles of Beer on the wall." cr
+." Oh, three hundred and eighty-three Bottles of Beer on the wall," cr
+." three hundred and eighty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighty-two Bottles of Beer on the wall." cr
+." Oh, three hundred and eighty-two Bottles of Beer on the wall," cr
+." three hundred and eighty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighty-one Bottles of Beer on the wall." cr
+." Oh, three hundred and eighty-one Bottles of Beer on the wall," cr
+." three hundred and eighty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighty Bottles of Beer on the wall." cr
+." Oh, three hundred and eighty Bottles of Beer on the wall," cr
+." three hundred and eighty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventy-nine Bottles of Beer on the wall." cr
+." Oh, three hundred and seventy-nine Bottles of Beer on the wall," cr
+." three hundred and seventy-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventy-eight Bottles of Beer on the wall." cr
+." Oh, three hundred and seventy-eight Bottles of Beer on the wall," cr
+." three hundred and seventy-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventy-seven Bottles of Beer on the wall." cr
+." Oh, three hundred and seventy-seven Bottles of Beer on the wall," cr
+." three hundred and seventy-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventy-six Bottles of Beer on the wall." cr
+." Oh, three hundred and seventy-six Bottles of Beer on the wall," cr
+." three hundred and seventy-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventy-five Bottles of Beer on the wall." cr
+." Oh, three hundred and seventy-five Bottles of Beer on the wall," cr
+." three hundred and seventy-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventy-four Bottles of Beer on the wall." cr
+." Oh, three hundred and seventy-four Bottles of Beer on the wall," cr
+." three hundred and seventy-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventy-three Bottles of Beer on the wall." cr
+." Oh, three hundred and seventy-three Bottles of Beer on the wall," cr
+." three hundred and seventy-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventy-two Bottles of Beer on the wall." cr
+." Oh, three hundred and seventy-two Bottles of Beer on the wall," cr
+." three hundred and seventy-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventy-one Bottles of Beer on the wall." cr
+." Oh, three hundred and seventy-one Bottles of Beer on the wall," cr
+." three hundred and seventy-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventy Bottles of Beer on the wall." cr
+." Oh, three hundred and seventy Bottles of Beer on the wall," cr
+." three hundred and seventy Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixty-nine Bottles of Beer on the wall." cr
+." Oh, three hundred and sixty-nine Bottles of Beer on the wall," cr
+." three hundred and sixty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixty-eight Bottles of Beer on the wall." cr
+." Oh, three hundred and sixty-eight Bottles of Beer on the wall," cr
+." three hundred and sixty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixty-seven Bottles of Beer on the wall." cr
+." Oh, three hundred and sixty-seven Bottles of Beer on the wall," cr
+." three hundred and sixty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixty-six Bottles of Beer on the wall." cr
+." Oh, three hundred and sixty-six Bottles of Beer on the wall," cr
+." three hundred and sixty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixty-five Bottles of Beer on the wall." cr
+." Oh, three hundred and sixty-five Bottles of Beer on the wall," cr
+." three hundred and sixty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixty-four Bottles of Beer on the wall." cr
+." Oh, three hundred and sixty-four Bottles of Beer on the wall," cr
+." three hundred and sixty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixty-three Bottles of Beer on the wall." cr
+." Oh, three hundred and sixty-three Bottles of Beer on the wall," cr
+." three hundred and sixty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixty-two Bottles of Beer on the wall." cr
+." Oh, three hundred and sixty-two Bottles of Beer on the wall," cr
+." three hundred and sixty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixty-one Bottles of Beer on the wall." cr
+." Oh, three hundred and sixty-one Bottles of Beer on the wall," cr
+." three hundred and sixty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixty Bottles of Beer on the wall." cr
+." Oh, three hundred and sixty Bottles of Beer on the wall," cr
+." three hundred and sixty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifty-nine Bottles of Beer on the wall." cr
+." Oh, three hundred and fifty-nine Bottles of Beer on the wall," cr
+." three hundred and fifty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifty-eight Bottles of Beer on the wall." cr
+." Oh, three hundred and fifty-eight Bottles of Beer on the wall," cr
+." three hundred and fifty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifty-seven Bottles of Beer on the wall." cr
+." Oh, three hundred and fifty-seven Bottles of Beer on the wall," cr
+." three hundred and fifty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifty-six Bottles of Beer on the wall." cr
+." Oh, three hundred and fifty-six Bottles of Beer on the wall," cr
+." three hundred and fifty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifty-five Bottles of Beer on the wall." cr
+." Oh, three hundred and fifty-five Bottles of Beer on the wall," cr
+." three hundred and fifty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifty-four Bottles of Beer on the wall." cr
+." Oh, three hundred and fifty-four Bottles of Beer on the wall," cr
+." three hundred and fifty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifty-three Bottles of Beer on the wall." cr
+." Oh, three hundred and fifty-three Bottles of Beer on the wall," cr
+." three hundred and fifty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifty-two Bottles of Beer on the wall." cr
+." Oh, three hundred and fifty-two Bottles of Beer on the wall," cr
+." three hundred and fifty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifty-one Bottles of Beer on the wall." cr
+." Oh, three hundred and fifty-one Bottles of Beer on the wall," cr
+." three hundred and fifty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifty Bottles of Beer on the wall." cr
+." Oh, three hundred and fifty Bottles of Beer on the wall," cr
+." three hundred and fifty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and forty-nine Bottles of Beer on the wall." cr
+." Oh, three hundred and forty-nine Bottles of Beer on the wall," cr
+." three hundred and forty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and forty-eight Bottles of Beer on the wall." cr
+." Oh, three hundred and forty-eight Bottles of Beer on the wall," cr
+." three hundred and forty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and forty-seven Bottles of Beer on the wall." cr
+." Oh, three hundred and forty-seven Bottles of Beer on the wall," cr
+." three hundred and forty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and forty-six Bottles of Beer on the wall." cr
+." Oh, three hundred and forty-six Bottles of Beer on the wall," cr
+." three hundred and forty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and forty-five Bottles of Beer on the wall." cr
+." Oh, three hundred and forty-five Bottles of Beer on the wall," cr
+." three hundred and forty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and forty-four Bottles of Beer on the wall." cr
+." Oh, three hundred and forty-four Bottles of Beer on the wall," cr
+." three hundred and forty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and forty-three Bottles of Beer on the wall." cr
+." Oh, three hundred and forty-three Bottles of Beer on the wall," cr
+." three hundred and forty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and forty-two Bottles of Beer on the wall." cr
+." Oh, three hundred and forty-two Bottles of Beer on the wall," cr
+." three hundred and forty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and forty-one Bottles of Beer on the wall." cr
+." Oh, three hundred and forty-one Bottles of Beer on the wall," cr
+." three hundred and forty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and forty Bottles of Beer on the wall." cr
+." Oh, three hundred and forty Bottles of Beer on the wall," cr
+." three hundred and forty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirty-nine Bottles of Beer on the wall." cr
+." Oh, three hundred and thirty-nine Bottles of Beer on the wall," cr
+." three hundred and thirty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirty-eight Bottles of Beer on the wall." cr
+." Oh, three hundred and thirty-eight Bottles of Beer on the wall," cr
+." three hundred and thirty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirty-seven Bottles of Beer on the wall." cr
+." Oh, three hundred and thirty-seven Bottles of Beer on the wall," cr
+." three hundred and thirty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirty-six Bottles of Beer on the wall." cr
+." Oh, three hundred and thirty-six Bottles of Beer on the wall," cr
+." three hundred and thirty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirty-five Bottles of Beer on the wall." cr
+." Oh, three hundred and thirty-five Bottles of Beer on the wall," cr
+." three hundred and thirty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirty-four Bottles of Beer on the wall." cr
+." Oh, three hundred and thirty-four Bottles of Beer on the wall," cr
+." three hundred and thirty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirty-three Bottles of Beer on the wall." cr
+." Oh, three hundred and thirty-three Bottles of Beer on the wall," cr
+." three hundred and thirty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirty-two Bottles of Beer on the wall." cr
+." Oh, three hundred and thirty-two Bottles of Beer on the wall," cr
+." three hundred and thirty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirty-one Bottles of Beer on the wall." cr
+." Oh, three hundred and thirty-one Bottles of Beer on the wall," cr
+." three hundred and thirty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirty Bottles of Beer on the wall." cr
+." Oh, three hundred and thirty Bottles of Beer on the wall," cr
+." three hundred and thirty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twenty-nine Bottles of Beer on the wall." cr
+." Oh, three hundred and twenty-nine Bottles of Beer on the wall," cr
+." three hundred and twenty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twenty-eight Bottles of Beer on the wall." cr
+." Oh, three hundred and twenty-eight Bottles of Beer on the wall," cr
+." three hundred and twenty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twenty-seven Bottles of Beer on the wall." cr
+." Oh, three hundred and twenty-seven Bottles of Beer on the wall," cr
+." three hundred and twenty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twenty-six Bottles of Beer on the wall." cr
+." Oh, three hundred and twenty-six Bottles of Beer on the wall," cr
+." three hundred and twenty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twenty-five Bottles of Beer on the wall." cr
+." Oh, three hundred and twenty-five Bottles of Beer on the wall," cr
+." three hundred and twenty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twenty-four Bottles of Beer on the wall." cr
+." Oh, three hundred and twenty-four Bottles of Beer on the wall," cr
+." three hundred and twenty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twenty-three Bottles of Beer on the wall." cr
+." Oh, three hundred and twenty-three Bottles of Beer on the wall," cr
+." three hundred and twenty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twenty-two Bottles of Beer on the wall." cr
+." Oh, three hundred and twenty-two Bottles of Beer on the wall," cr
+." three hundred and twenty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twenty-one Bottles of Beer on the wall." cr
+." Oh, three hundred and twenty-one Bottles of Beer on the wall," cr
+." three hundred and twenty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twenty Bottles of Beer on the wall." cr
+." Oh, three hundred and twenty Bottles of Beer on the wall," cr
+." three hundred and twenty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and nineteen Bottles of Beer on the wall." cr
+." Oh, three hundred and nineteen Bottles of Beer on the wall," cr
+." three hundred and nineteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eighteen Bottles of Beer on the wall." cr
+." Oh, three hundred and eighteen Bottles of Beer on the wall," cr
+." three hundred and eighteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seventeen Bottles of Beer on the wall." cr
+." Oh, three hundred and seventeen Bottles of Beer on the wall," cr
+." three hundred and seventeen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and sixteen Bottles of Beer on the wall." cr
+." Oh, three hundred and sixteen Bottles of Beer on the wall," cr
+." three hundred and sixteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fifteen Bottles of Beer on the wall." cr
+." Oh, three hundred and fifteen Bottles of Beer on the wall," cr
+." three hundred and fifteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and fourteen Bottles of Beer on the wall." cr
+." Oh, three hundred and fourteen Bottles of Beer on the wall," cr
+." three hundred and fourteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and thirteen Bottles of Beer on the wall." cr
+." Oh, three hundred and thirteen Bottles of Beer on the wall," cr
+." three hundred and thirteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and twelve Bottles of Beer on the wall." cr
+." Oh, three hundred and twelve Bottles of Beer on the wall," cr
+." three hundred and twelve Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eleven Bottles of Beer on the wall." cr
+." Oh, three hundred and eleven Bottles of Beer on the wall," cr
+." three hundred and eleven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and ten Bottles of Beer on the wall." cr
+." Oh, three hundred and ten Bottles of Beer on the wall," cr
+." three hundred and ten Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and nine Bottles of Beer on the wall." cr
+." Oh, three hundred and nine Bottles of Beer on the wall," cr
+." three hundred and nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and eight Bottles of Beer on the wall." cr
+." Oh, three hundred and eight Bottles of Beer on the wall," cr
+." three hundred and eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and seven Bottles of Beer on the wall." cr
+." Oh, three hundred and seven Bottles of Beer on the wall," cr
+." three hundred and seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and six Bottles of Beer on the wall." cr
+." Oh, three hundred and six Bottles of Beer on the wall," cr
+." three hundred and six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and five Bottles of Beer on the wall." cr
+." Oh, three hundred and five Bottles of Beer on the wall," cr
+." three hundred and five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and four Bottles of Beer on the wall." cr
+." Oh, three hundred and four Bottles of Beer on the wall," cr
+." three hundred and four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and three Bottles of Beer on the wall." cr
+." Oh, three hundred and three Bottles of Beer on the wall," cr
+." three hundred and three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and two Bottles of Beer on the wall." cr
+." Oh, three hundred and two Bottles of Beer on the wall," cr
+." three hundred and two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred and one Bottles of Beer on the wall." cr
+." Oh, three hundred and one Bottles of Beer on the wall," cr
+." three hundred and one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three hundred Bottles of Beer on the wall." cr
+." Oh, three hundred Bottles of Beer on the wall," cr
+." three hundred Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ninety-nine Bottles of Beer on the wall." cr
+." Oh, two hundred and ninety-nine Bottles of Beer on the wall," cr
+." two hundred and ninety-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ninety-eight Bottles of Beer on the wall." cr
+." Oh, two hundred and ninety-eight Bottles of Beer on the wall," cr
+." two hundred and ninety-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ninety-seven Bottles of Beer on the wall." cr
+." Oh, two hundred and ninety-seven Bottles of Beer on the wall," cr
+." two hundred and ninety-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ninety-six Bottles of Beer on the wall." cr
+." Oh, two hundred and ninety-six Bottles of Beer on the wall," cr
+." two hundred and ninety-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ninety-five Bottles of Beer on the wall." cr
+." Oh, two hundred and ninety-five Bottles of Beer on the wall," cr
+." two hundred and ninety-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ninety-four Bottles of Beer on the wall." cr
+." Oh, two hundred and ninety-four Bottles of Beer on the wall," cr
+." two hundred and ninety-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ninety-three Bottles of Beer on the wall." cr
+." Oh, two hundred and ninety-three Bottles of Beer on the wall," cr
+." two hundred and ninety-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ninety-two Bottles of Beer on the wall." cr
+." Oh, two hundred and ninety-two Bottles of Beer on the wall," cr
+." two hundred and ninety-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ninety-one Bottles of Beer on the wall." cr
+." Oh, two hundred and ninety-one Bottles of Beer on the wall," cr
+." two hundred and ninety-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ninety Bottles of Beer on the wall." cr
+." Oh, two hundred and ninety Bottles of Beer on the wall," cr
+." two hundred and ninety Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighty-nine Bottles of Beer on the wall." cr
+." Oh, two hundred and eighty-nine Bottles of Beer on the wall," cr
+." two hundred and eighty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighty-eight Bottles of Beer on the wall." cr
+." Oh, two hundred and eighty-eight Bottles of Beer on the wall," cr
+." two hundred and eighty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighty-seven Bottles of Beer on the wall." cr
+." Oh, two hundred and eighty-seven Bottles of Beer on the wall," cr
+." two hundred and eighty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighty-six Bottles of Beer on the wall." cr
+." Oh, two hundred and eighty-six Bottles of Beer on the wall," cr
+." two hundred and eighty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighty-five Bottles of Beer on the wall." cr
+." Oh, two hundred and eighty-five Bottles of Beer on the wall," cr
+." two hundred and eighty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighty-four Bottles of Beer on the wall." cr
+." Oh, two hundred and eighty-four Bottles of Beer on the wall," cr
+." two hundred and eighty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighty-three Bottles of Beer on the wall." cr
+." Oh, two hundred and eighty-three Bottles of Beer on the wall," cr
+." two hundred and eighty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighty-two Bottles of Beer on the wall." cr
+." Oh, two hundred and eighty-two Bottles of Beer on the wall," cr
+." two hundred and eighty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighty-one Bottles of Beer on the wall." cr
+." Oh, two hundred and eighty-one Bottles of Beer on the wall," cr
+." two hundred and eighty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighty Bottles of Beer on the wall." cr
+." Oh, two hundred and eighty Bottles of Beer on the wall," cr
+." two hundred and eighty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventy-nine Bottles of Beer on the wall." cr
+." Oh, two hundred and seventy-nine Bottles of Beer on the wall," cr
+." two hundred and seventy-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventy-eight Bottles of Beer on the wall." cr
+." Oh, two hundred and seventy-eight Bottles of Beer on the wall," cr
+." two hundred and seventy-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventy-seven Bottles of Beer on the wall." cr
+." Oh, two hundred and seventy-seven Bottles of Beer on the wall," cr
+." two hundred and seventy-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventy-six Bottles of Beer on the wall." cr
+." Oh, two hundred and seventy-six Bottles of Beer on the wall," cr
+." two hundred and seventy-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventy-five Bottles of Beer on the wall." cr
+." Oh, two hundred and seventy-five Bottles of Beer on the wall," cr
+." two hundred and seventy-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventy-four Bottles of Beer on the wall." cr
+." Oh, two hundred and seventy-four Bottles of Beer on the wall," cr
+." two hundred and seventy-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventy-three Bottles of Beer on the wall." cr
+." Oh, two hundred and seventy-three Bottles of Beer on the wall," cr
+." two hundred and seventy-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventy-two Bottles of Beer on the wall." cr
+." Oh, two hundred and seventy-two Bottles of Beer on the wall," cr
+." two hundred and seventy-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventy-one Bottles of Beer on the wall." cr
+." Oh, two hundred and seventy-one Bottles of Beer on the wall," cr
+." two hundred and seventy-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventy Bottles of Beer on the wall." cr
+." Oh, two hundred and seventy Bottles of Beer on the wall," cr
+." two hundred and seventy Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixty-nine Bottles of Beer on the wall." cr
+." Oh, two hundred and sixty-nine Bottles of Beer on the wall," cr
+." two hundred and sixty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixty-eight Bottles of Beer on the wall." cr
+." Oh, two hundred and sixty-eight Bottles of Beer on the wall," cr
+." two hundred and sixty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixty-seven Bottles of Beer on the wall." cr
+." Oh, two hundred and sixty-seven Bottles of Beer on the wall," cr
+." two hundred and sixty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixty-six Bottles of Beer on the wall." cr
+." Oh, two hundred and sixty-six Bottles of Beer on the wall," cr
+." two hundred and sixty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixty-five Bottles of Beer on the wall." cr
+." Oh, two hundred and sixty-five Bottles of Beer on the wall," cr
+." two hundred and sixty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixty-four Bottles of Beer on the wall." cr
+." Oh, two hundred and sixty-four Bottles of Beer on the wall," cr
+." two hundred and sixty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixty-three Bottles of Beer on the wall." cr
+." Oh, two hundred and sixty-three Bottles of Beer on the wall," cr
+." two hundred and sixty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixty-two Bottles of Beer on the wall." cr
+." Oh, two hundred and sixty-two Bottles of Beer on the wall," cr
+." two hundred and sixty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixty-one Bottles of Beer on the wall." cr
+." Oh, two hundred and sixty-one Bottles of Beer on the wall," cr
+." two hundred and sixty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixty Bottles of Beer on the wall." cr
+." Oh, two hundred and sixty Bottles of Beer on the wall," cr
+." two hundred and sixty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifty-nine Bottles of Beer on the wall." cr
+." Oh, two hundred and fifty-nine Bottles of Beer on the wall," cr
+." two hundred and fifty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifty-eight Bottles of Beer on the wall." cr
+." Oh, two hundred and fifty-eight Bottles of Beer on the wall," cr
+." two hundred and fifty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifty-seven Bottles of Beer on the wall." cr
+." Oh, two hundred and fifty-seven Bottles of Beer on the wall," cr
+." two hundred and fifty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifty-six Bottles of Beer on the wall." cr
+." Oh, two hundred and fifty-six Bottles of Beer on the wall," cr
+." two hundred and fifty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifty-five Bottles of Beer on the wall." cr
+." Oh, two hundred and fifty-five Bottles of Beer on the wall," cr
+." two hundred and fifty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifty-four Bottles of Beer on the wall." cr
+." Oh, two hundred and fifty-four Bottles of Beer on the wall," cr
+." two hundred and fifty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifty-three Bottles of Beer on the wall." cr
+." Oh, two hundred and fifty-three Bottles of Beer on the wall," cr
+." two hundred and fifty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifty-two Bottles of Beer on the wall." cr
+." Oh, two hundred and fifty-two Bottles of Beer on the wall," cr
+." two hundred and fifty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifty-one Bottles of Beer on the wall." cr
+." Oh, two hundred and fifty-one Bottles of Beer on the wall," cr
+." two hundred and fifty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifty Bottles of Beer on the wall." cr
+." Oh, two hundred and fifty Bottles of Beer on the wall," cr
+." two hundred and fifty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and forty-nine Bottles of Beer on the wall." cr
+." Oh, two hundred and forty-nine Bottles of Beer on the wall," cr
+." two hundred and forty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and forty-eight Bottles of Beer on the wall." cr
+." Oh, two hundred and forty-eight Bottles of Beer on the wall," cr
+." two hundred and forty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and forty-seven Bottles of Beer on the wall." cr
+." Oh, two hundred and forty-seven Bottles of Beer on the wall," cr
+." two hundred and forty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and forty-six Bottles of Beer on the wall." cr
+." Oh, two hundred and forty-six Bottles of Beer on the wall," cr
+." two hundred and forty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and forty-five Bottles of Beer on the wall." cr
+." Oh, two hundred and forty-five Bottles of Beer on the wall," cr
+." two hundred and forty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and forty-four Bottles of Beer on the wall." cr
+." Oh, two hundred and forty-four Bottles of Beer on the wall," cr
+." two hundred and forty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and forty-three Bottles of Beer on the wall." cr
+." Oh, two hundred and forty-three Bottles of Beer on the wall," cr
+." two hundred and forty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and forty-two Bottles of Beer on the wall." cr
+." Oh, two hundred and forty-two Bottles of Beer on the wall," cr
+." two hundred and forty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and forty-one Bottles of Beer on the wall." cr
+." Oh, two hundred and forty-one Bottles of Beer on the wall," cr
+." two hundred and forty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and forty Bottles of Beer on the wall." cr
+." Oh, two hundred and forty Bottles of Beer on the wall," cr
+." two hundred and forty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirty-nine Bottles of Beer on the wall." cr
+." Oh, two hundred and thirty-nine Bottles of Beer on the wall," cr
+." two hundred and thirty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirty-eight Bottles of Beer on the wall." cr
+." Oh, two hundred and thirty-eight Bottles of Beer on the wall," cr
+." two hundred and thirty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirty-seven Bottles of Beer on the wall." cr
+." Oh, two hundred and thirty-seven Bottles of Beer on the wall," cr
+." two hundred and thirty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirty-six Bottles of Beer on the wall." cr
+." Oh, two hundred and thirty-six Bottles of Beer on the wall," cr
+." two hundred and thirty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirty-five Bottles of Beer on the wall." cr
+." Oh, two hundred and thirty-five Bottles of Beer on the wall," cr
+." two hundred and thirty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirty-four Bottles of Beer on the wall." cr
+." Oh, two hundred and thirty-four Bottles of Beer on the wall," cr
+." two hundred and thirty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirty-three Bottles of Beer on the wall." cr
+." Oh, two hundred and thirty-three Bottles of Beer on the wall," cr
+." two hundred and thirty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirty-two Bottles of Beer on the wall." cr
+." Oh, two hundred and thirty-two Bottles of Beer on the wall," cr
+." two hundred and thirty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirty-one Bottles of Beer on the wall." cr
+." Oh, two hundred and thirty-one Bottles of Beer on the wall," cr
+." two hundred and thirty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirty Bottles of Beer on the wall." cr
+." Oh, two hundred and thirty Bottles of Beer on the wall," cr
+." two hundred and thirty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twenty-nine Bottles of Beer on the wall." cr
+." Oh, two hundred and twenty-nine Bottles of Beer on the wall," cr
+." two hundred and twenty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twenty-eight Bottles of Beer on the wall." cr
+." Oh, two hundred and twenty-eight Bottles of Beer on the wall," cr
+." two hundred and twenty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twenty-seven Bottles of Beer on the wall." cr
+." Oh, two hundred and twenty-seven Bottles of Beer on the wall," cr
+." two hundred and twenty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twenty-six Bottles of Beer on the wall." cr
+." Oh, two hundred and twenty-six Bottles of Beer on the wall," cr
+." two hundred and twenty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twenty-five Bottles of Beer on the wall." cr
+." Oh, two hundred and twenty-five Bottles of Beer on the wall," cr
+." two hundred and twenty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twenty-four Bottles of Beer on the wall." cr
+." Oh, two hundred and twenty-four Bottles of Beer on the wall," cr
+." two hundred and twenty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twenty-three Bottles of Beer on the wall." cr
+." Oh, two hundred and twenty-three Bottles of Beer on the wall," cr
+." two hundred and twenty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twenty-two Bottles of Beer on the wall." cr
+." Oh, two hundred and twenty-two Bottles of Beer on the wall," cr
+." two hundred and twenty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twenty-one Bottles of Beer on the wall." cr
+." Oh, two hundred and twenty-one Bottles of Beer on the wall," cr
+." two hundred and twenty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twenty Bottles of Beer on the wall." cr
+." Oh, two hundred and twenty Bottles of Beer on the wall," cr
+." two hundred and twenty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and nineteen Bottles of Beer on the wall." cr
+." Oh, two hundred and nineteen Bottles of Beer on the wall," cr
+." two hundred and nineteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eighteen Bottles of Beer on the wall." cr
+." Oh, two hundred and eighteen Bottles of Beer on the wall," cr
+." two hundred and eighteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seventeen Bottles of Beer on the wall." cr
+." Oh, two hundred and seventeen Bottles of Beer on the wall," cr
+." two hundred and seventeen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and sixteen Bottles of Beer on the wall." cr
+." Oh, two hundred and sixteen Bottles of Beer on the wall," cr
+." two hundred and sixteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fifteen Bottles of Beer on the wall." cr
+." Oh, two hundred and fifteen Bottles of Beer on the wall," cr
+." two hundred and fifteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and fourteen Bottles of Beer on the wall." cr
+." Oh, two hundred and fourteen Bottles of Beer on the wall," cr
+." two hundred and fourteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and thirteen Bottles of Beer on the wall." cr
+." Oh, two hundred and thirteen Bottles of Beer on the wall," cr
+." two hundred and thirteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and twelve Bottles of Beer on the wall." cr
+." Oh, two hundred and twelve Bottles of Beer on the wall," cr
+." two hundred and twelve Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eleven Bottles of Beer on the wall." cr
+." Oh, two hundred and eleven Bottles of Beer on the wall," cr
+." two hundred and eleven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and ten Bottles of Beer on the wall." cr
+." Oh, two hundred and ten Bottles of Beer on the wall," cr
+." two hundred and ten Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and nine Bottles of Beer on the wall." cr
+." Oh, two hundred and nine Bottles of Beer on the wall," cr
+." two hundred and nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and eight Bottles of Beer on the wall." cr
+." Oh, two hundred and eight Bottles of Beer on the wall," cr
+." two hundred and eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and seven Bottles of Beer on the wall." cr
+." Oh, two hundred and seven Bottles of Beer on the wall," cr
+." two hundred and seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and six Bottles of Beer on the wall." cr
+." Oh, two hundred and six Bottles of Beer on the wall," cr
+." two hundred and six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and five Bottles of Beer on the wall." cr
+." Oh, two hundred and five Bottles of Beer on the wall," cr
+." two hundred and five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and four Bottles of Beer on the wall." cr
+." Oh, two hundred and four Bottles of Beer on the wall," cr
+." two hundred and four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and three Bottles of Beer on the wall." cr
+." Oh, two hundred and three Bottles of Beer on the wall," cr
+." two hundred and three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and two Bottles of Beer on the wall." cr
+." Oh, two hundred and two Bottles of Beer on the wall," cr
+." two hundred and two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred and one Bottles of Beer on the wall." cr
+." Oh, two hundred and one Bottles of Beer on the wall," cr
+." two hundred and one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two hundred Bottles of Beer on the wall." cr
+." Oh, two hundred Bottles of Beer on the wall," cr
+." two hundred Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ninety-nine Bottles of Beer on the wall." cr
+." Oh, one hundred and ninety-nine Bottles of Beer on the wall," cr
+." one hundred and ninety-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ninety-eight Bottles of Beer on the wall." cr
+." Oh, one hundred and ninety-eight Bottles of Beer on the wall," cr
+." one hundred and ninety-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ninety-seven Bottles of Beer on the wall." cr
+." Oh, one hundred and ninety-seven Bottles of Beer on the wall," cr
+." one hundred and ninety-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ninety-six Bottles of Beer on the wall." cr
+." Oh, one hundred and ninety-six Bottles of Beer on the wall," cr
+." one hundred and ninety-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ninety-five Bottles of Beer on the wall." cr
+." Oh, one hundred and ninety-five Bottles of Beer on the wall," cr
+." one hundred and ninety-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ninety-four Bottles of Beer on the wall." cr
+." Oh, one hundred and ninety-four Bottles of Beer on the wall," cr
+." one hundred and ninety-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ninety-three Bottles of Beer on the wall." cr
+." Oh, one hundred and ninety-three Bottles of Beer on the wall," cr
+." one hundred and ninety-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ninety-two Bottles of Beer on the wall." cr
+." Oh, one hundred and ninety-two Bottles of Beer on the wall," cr
+." one hundred and ninety-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ninety-one Bottles of Beer on the wall." cr
+." Oh, one hundred and ninety-one Bottles of Beer on the wall," cr
+." one hundred and ninety-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ninety Bottles of Beer on the wall." cr
+." Oh, one hundred and ninety Bottles of Beer on the wall," cr
+." one hundred and ninety Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighty-nine Bottles of Beer on the wall." cr
+." Oh, one hundred and eighty-nine Bottles of Beer on the wall," cr
+." one hundred and eighty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighty-eight Bottles of Beer on the wall." cr
+." Oh, one hundred and eighty-eight Bottles of Beer on the wall," cr
+." one hundred and eighty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighty-seven Bottles of Beer on the wall." cr
+." Oh, one hundred and eighty-seven Bottles of Beer on the wall," cr
+." one hundred and eighty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighty-six Bottles of Beer on the wall." cr
+." Oh, one hundred and eighty-six Bottles of Beer on the wall," cr
+." one hundred and eighty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighty-five Bottles of Beer on the wall." cr
+." Oh, one hundred and eighty-five Bottles of Beer on the wall," cr
+." one hundred and eighty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighty-four Bottles of Beer on the wall." cr
+." Oh, one hundred and eighty-four Bottles of Beer on the wall," cr
+." one hundred and eighty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighty-three Bottles of Beer on the wall." cr
+." Oh, one hundred and eighty-three Bottles of Beer on the wall," cr
+." one hundred and eighty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighty-two Bottles of Beer on the wall." cr
+." Oh, one hundred and eighty-two Bottles of Beer on the wall," cr
+." one hundred and eighty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighty-one Bottles of Beer on the wall." cr
+." Oh, one hundred and eighty-one Bottles of Beer on the wall," cr
+." one hundred and eighty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighty Bottles of Beer on the wall." cr
+." Oh, one hundred and eighty Bottles of Beer on the wall," cr
+." one hundred and eighty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventy-nine Bottles of Beer on the wall." cr
+." Oh, one hundred and seventy-nine Bottles of Beer on the wall," cr
+." one hundred and seventy-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventy-eight Bottles of Beer on the wall." cr
+." Oh, one hundred and seventy-eight Bottles of Beer on the wall," cr
+." one hundred and seventy-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventy-seven Bottles of Beer on the wall." cr
+." Oh, one hundred and seventy-seven Bottles of Beer on the wall," cr
+." one hundred and seventy-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventy-six Bottles of Beer on the wall." cr
+." Oh, one hundred and seventy-six Bottles of Beer on the wall," cr
+." one hundred and seventy-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventy-five Bottles of Beer on the wall." cr
+." Oh, one hundred and seventy-five Bottles of Beer on the wall," cr
+." one hundred and seventy-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventy-four Bottles of Beer on the wall." cr
+." Oh, one hundred and seventy-four Bottles of Beer on the wall," cr
+." one hundred and seventy-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventy-three Bottles of Beer on the wall." cr
+." Oh, one hundred and seventy-three Bottles of Beer on the wall," cr
+." one hundred and seventy-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventy-two Bottles of Beer on the wall." cr
+." Oh, one hundred and seventy-two Bottles of Beer on the wall," cr
+." one hundred and seventy-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventy-one Bottles of Beer on the wall." cr
+." Oh, one hundred and seventy-one Bottles of Beer on the wall," cr
+." one hundred and seventy-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventy Bottles of Beer on the wall." cr
+." Oh, one hundred and seventy Bottles of Beer on the wall," cr
+." one hundred and seventy Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixty-nine Bottles of Beer on the wall." cr
+." Oh, one hundred and sixty-nine Bottles of Beer on the wall," cr
+." one hundred and sixty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixty-eight Bottles of Beer on the wall." cr
+." Oh, one hundred and sixty-eight Bottles of Beer on the wall," cr
+." one hundred and sixty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixty-seven Bottles of Beer on the wall." cr
+." Oh, one hundred and sixty-seven Bottles of Beer on the wall," cr
+." one hundred and sixty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixty-six Bottles of Beer on the wall." cr
+." Oh, one hundred and sixty-six Bottles of Beer on the wall," cr
+." one hundred and sixty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixty-five Bottles of Beer on the wall." cr
+." Oh, one hundred and sixty-five Bottles of Beer on the wall," cr
+." one hundred and sixty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixty-four Bottles of Beer on the wall." cr
+." Oh, one hundred and sixty-four Bottles of Beer on the wall," cr
+." one hundred and sixty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixty-three Bottles of Beer on the wall." cr
+." Oh, one hundred and sixty-three Bottles of Beer on the wall," cr
+." one hundred and sixty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixty-two Bottles of Beer on the wall." cr
+." Oh, one hundred and sixty-two Bottles of Beer on the wall," cr
+." one hundred and sixty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixty-one Bottles of Beer on the wall." cr
+." Oh, one hundred and sixty-one Bottles of Beer on the wall," cr
+." one hundred and sixty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixty Bottles of Beer on the wall." cr
+." Oh, one hundred and sixty Bottles of Beer on the wall," cr
+." one hundred and sixty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifty-nine Bottles of Beer on the wall." cr
+." Oh, one hundred and fifty-nine Bottles of Beer on the wall," cr
+." one hundred and fifty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifty-eight Bottles of Beer on the wall." cr
+." Oh, one hundred and fifty-eight Bottles of Beer on the wall," cr
+." one hundred and fifty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifty-seven Bottles of Beer on the wall." cr
+." Oh, one hundred and fifty-seven Bottles of Beer on the wall," cr
+." one hundred and fifty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifty-six Bottles of Beer on the wall." cr
+." Oh, one hundred and fifty-six Bottles of Beer on the wall," cr
+." one hundred and fifty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifty-five Bottles of Beer on the wall." cr
+." Oh, one hundred and fifty-five Bottles of Beer on the wall," cr
+." one hundred and fifty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifty-four Bottles of Beer on the wall." cr
+." Oh, one hundred and fifty-four Bottles of Beer on the wall," cr
+." one hundred and fifty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifty-three Bottles of Beer on the wall." cr
+." Oh, one hundred and fifty-three Bottles of Beer on the wall," cr
+." one hundred and fifty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifty-two Bottles of Beer on the wall." cr
+." Oh, one hundred and fifty-two Bottles of Beer on the wall," cr
+." one hundred and fifty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifty-one Bottles of Beer on the wall." cr
+." Oh, one hundred and fifty-one Bottles of Beer on the wall," cr
+." one hundred and fifty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifty Bottles of Beer on the wall." cr
+." 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 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 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 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 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 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 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 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 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 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 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
+." one hundred and thirty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and thirty-eight Bottles of Beer on the wall." cr
+." Oh, one hundred and thirty-eight Bottles of Beer on the wall," cr
+." one hundred and thirty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and thirty-seven Bottles of Beer on the wall." cr
+." Oh, one hundred and thirty-seven Bottles of Beer on the wall," cr
+." one hundred and thirty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and thirty-six Bottles of Beer on the wall." cr
+." Oh, one hundred and thirty-six Bottles of Beer on the wall," cr
+." one hundred and thirty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and thirty-five Bottles of Beer on the wall." cr
+." Oh, one hundred and thirty-five Bottles of Beer on the wall," cr
+." one hundred and thirty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and thirty-four Bottles of Beer on the wall." cr
+." Oh, one hundred and thirty-four Bottles of Beer on the wall," cr
+." one hundred and thirty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and thirty-three Bottles of Beer on the wall." cr
+." Oh, one hundred and thirty-three Bottles of Beer on the wall," cr
+." one hundred and thirty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and thirty-two Bottles of Beer on the wall." cr
+." Oh, one hundred and thirty-two Bottles of Beer on the wall," cr
+." one hundred and thirty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and thirty-one Bottles of Beer on the wall." cr
+." Oh, one hundred and thirty-one Bottles of Beer on the wall," cr
+." one hundred and thirty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and thirty Bottles of Beer on the wall." cr
+." Oh, one hundred and thirty Bottles of Beer on the wall," cr
+." one hundred and thirty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twenty-nine Bottles of Beer on the wall." cr
+." Oh, one hundred and twenty-nine Bottles of Beer on the wall," cr
+." one hundred and twenty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twenty-eight Bottles of Beer on the wall." cr
+." Oh, one hundred and twenty-eight Bottles of Beer on the wall," cr
+." one hundred and twenty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twenty-seven Bottles of Beer on the wall." cr
+." Oh, one hundred and twenty-seven Bottles of Beer on the wall," cr
+." one hundred and twenty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twenty-six Bottles of Beer on the wall." cr
+." Oh, one hundred and twenty-six Bottles of Beer on the wall," cr
+." one hundred and twenty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twenty-five Bottles of Beer on the wall." cr
+." Oh, one hundred and twenty-five Bottles of Beer on the wall," cr
+." one hundred and twenty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twenty-four Bottles of Beer on the wall." cr
+." Oh, one hundred and twenty-four Bottles of Beer on the wall," cr
+." one hundred and twenty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twenty-three Bottles of Beer on the wall." cr
+." Oh, one hundred and twenty-three Bottles of Beer on the wall," cr
+." one hundred and twenty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twenty-two Bottles of Beer on the wall." cr
+." Oh, one hundred and twenty-two Bottles of Beer on the wall," cr
+." one hundred and twenty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twenty-one Bottles of Beer on the wall." cr
+." Oh, one hundred and twenty-one Bottles of Beer on the wall," cr
+." one hundred and twenty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twenty Bottles of Beer on the wall." cr
+." Oh, one hundred and twenty Bottles of Beer on the wall," cr
+." one hundred and twenty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and nineteen Bottles of Beer on the wall." cr
+." Oh, one hundred and nineteen Bottles of Beer on the wall," cr
+." one hundred and nineteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eighteen Bottles of Beer on the wall." cr
+." Oh, one hundred and eighteen Bottles of Beer on the wall," cr
+." one hundred and eighteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seventeen Bottles of Beer on the wall." cr
+." Oh, one hundred and seventeen Bottles of Beer on the wall," cr
+." one hundred and seventeen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and sixteen Bottles of Beer on the wall." cr
+." Oh, one hundred and sixteen Bottles of Beer on the wall," cr
+." one hundred and sixteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fifteen Bottles of Beer on the wall." cr
+." Oh, one hundred and fifteen Bottles of Beer on the wall," cr
+." one hundred and fifteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fourteen Bottles of Beer on the wall." cr
+." Oh, one hundred and fourteen Bottles of Beer on the wall," cr
+." one hundred and fourteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and thirteen Bottles of Beer on the wall." cr
+." Oh, one hundred and thirteen Bottles of Beer on the wall," cr
+." one hundred and thirteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and twelve Bottles of Beer on the wall." cr
+." Oh, one hundred and twelve Bottles of Beer on the wall," cr
+." one hundred and twelve Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eleven Bottles of Beer on the wall." cr
+." Oh, one hundred and eleven Bottles of Beer on the wall," cr
+." one hundred and eleven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and ten Bottles of Beer on the wall." cr
+." Oh, one hundred and ten Bottles of Beer on the wall," cr
+." one hundred and ten Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and nine Bottles of Beer on the wall." cr
+." Oh, one hundred and nine Bottles of Beer on the wall," cr
+." one hundred and nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and eight Bottles of Beer on the wall." cr
+." Oh, one hundred and eight Bottles of Beer on the wall," cr
+." one hundred and eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and seven Bottles of Beer on the wall." cr
+." Oh, one hundred and seven Bottles of Beer on the wall," cr
+." one hundred and seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and six Bottles of Beer on the wall." cr
+." Oh, one hundred and six Bottles of Beer on the wall," cr
+." one hundred and six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and five Bottles of Beer on the wall." cr
+." Oh, one hundred and five Bottles of Beer on the wall," cr
+." one hundred and five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and four Bottles of Beer on the wall." cr
+." Oh, one hundred and four Bottles of Beer on the wall," cr
+." one hundred and four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and three Bottles of Beer on the wall." cr
+." Oh, one hundred and three Bottles of Beer on the wall," cr
+." one hundred and three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and two Bottles of Beer on the wall." cr
+." Oh, one hundred and two Bottles of Beer on the wall," cr
+." one hundred and two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and one Bottles of Beer on the wall." cr
+." Oh, one hundred and one Bottles of Beer on the wall," cr
+." one hundred and one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred Bottles of Beer on the wall." cr
+." Oh, one hundred Bottles of Beer on the wall," cr
+." one hundred Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ninety-nine Bottles of Beer on the wall." cr
+." Oh, ninety-nine Bottles of Beer on the wall," cr
+." ninety-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ninety-eight Bottles of Beer on the wall." cr
+." Oh, ninety-eight Bottles of Beer on the wall," cr
+." ninety-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ninety-seven Bottles of Beer on the wall." cr
+." Oh, ninety-seven Bottles of Beer on the wall," cr
+." ninety-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ninety-six Bottles of Beer on the wall." cr
+." Oh, ninety-six Bottles of Beer on the wall," cr
+." ninety-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ninety-five Bottles of Beer on the wall." cr
+." Oh, ninety-five Bottles of Beer on the wall," cr
+." ninety-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ninety-four Bottles of Beer on the wall." cr
+." Oh, ninety-four Bottles of Beer on the wall," cr
+." ninety-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ninety-three Bottles of Beer on the wall." cr
+." Oh, ninety-three Bottles of Beer on the wall," cr
+." ninety-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ninety-two Bottles of Beer on the wall." cr
+." Oh, ninety-two Bottles of Beer on the wall," cr
+." ninety-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ninety-one Bottles of Beer on the wall." cr
+." Oh, ninety-one Bottles of Beer on the wall," cr
+." ninety-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ninety Bottles of Beer on the wall." cr
+." Oh, ninety Bottles of Beer on the wall," cr
+." ninety Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighty-nine Bottles of Beer on the wall." cr
+." Oh, eighty-nine Bottles of Beer on the wall," cr
+." eighty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighty-eight Bottles of Beer on the wall." cr
+." Oh, eighty-eight Bottles of Beer on the wall," cr
+." eighty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighty-seven Bottles of Beer on the wall." cr
+." Oh, eighty-seven Bottles of Beer on the wall," cr
+." eighty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighty-six Bottles of Beer on the wall." cr
+." Oh, eighty-six Bottles of Beer on the wall," cr
+." eighty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighty-five Bottles of Beer on the wall." cr
+." Oh, eighty-five Bottles of Beer on the wall," cr
+." eighty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighty-four Bottles of Beer on the wall." cr
+." Oh, eighty-four Bottles of Beer on the wall," cr
+." eighty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighty-three Bottles of Beer on the wall." cr
+." Oh, eighty-three Bottles of Beer on the wall," cr
+." eighty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighty-two Bottles of Beer on the wall." cr
+." Oh, eighty-two Bottles of Beer on the wall," cr
+." eighty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighty-one Bottles of Beer on the wall." cr
+." Oh, eighty-one Bottles of Beer on the wall," cr
+." eighty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighty Bottles of Beer on the wall." cr
+." Oh, eighty Bottles of Beer on the wall," cr
+." eighty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventy-nine Bottles of Beer on the wall." cr
+." Oh, seventy-nine Bottles of Beer on the wall," cr
+." seventy-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventy-eight Bottles of Beer on the wall." cr
+." Oh, seventy-eight Bottles of Beer on the wall," cr
+." seventy-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventy-seven Bottles of Beer on the wall." cr
+." Oh, seventy-seven Bottles of Beer on the wall," cr
+." seventy-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventy-six Bottles of Beer on the wall." cr
+." Oh, seventy-six Bottles of Beer on the wall," cr
+." seventy-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventy-five Bottles of Beer on the wall." cr
+." Oh, seventy-five Bottles of Beer on the wall," cr
+." seventy-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventy-four Bottles of Beer on the wall." cr
+." Oh, seventy-four Bottles of Beer on the wall," cr
+." seventy-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventy-three Bottles of Beer on the wall." cr
+." Oh, seventy-three Bottles of Beer on the wall," cr
+." seventy-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventy-two Bottles of Beer on the wall." cr
+." Oh, seventy-two Bottles of Beer on the wall," cr
+." seventy-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventy-one Bottles of Beer on the wall." cr
+." Oh, seventy-one Bottles of Beer on the wall," cr
+." seventy-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventy Bottles of Beer on the wall." cr
+." Oh, seventy Bottles of Beer on the wall," cr
+." seventy Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixty-nine Bottles of Beer on the wall." cr
+." Oh, sixty-nine Bottles of Beer on the wall," cr
+." sixty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixty-eight Bottles of Beer on the wall." cr
+." Oh, sixty-eight Bottles of Beer on the wall," cr
+." sixty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixty-seven Bottles of Beer on the wall." cr
+." Oh, sixty-seven Bottles of Beer on the wall," cr
+." sixty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixty-six Bottles of Beer on the wall." cr
+." Oh, sixty-six Bottles of Beer on the wall," cr
+." sixty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixty-five Bottles of Beer on the wall." cr
+." Oh, sixty-five Bottles of Beer on the wall," cr
+." sixty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixty-four Bottles of Beer on the wall." cr
+." Oh, sixty-four Bottles of Beer on the wall," cr
+." sixty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixty-three Bottles of Beer on the wall." cr
+." Oh, sixty-three Bottles of Beer on the wall," cr
+." sixty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixty-two Bottles of Beer on the wall." cr
+." Oh, sixty-two Bottles of Beer on the wall," cr
+." sixty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixty-one Bottles of Beer on the wall." cr
+." Oh, sixty-one Bottles of Beer on the wall," cr
+." sixty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixty Bottles of Beer on the wall." cr
+." Oh, sixty Bottles of Beer on the wall," cr
+." sixty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifty-nine Bottles of Beer on the wall." cr
+." Oh, fifty-nine Bottles of Beer on the wall," cr
+." fifty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifty-eight Bottles of Beer on the wall." cr
+." Oh, fifty-eight Bottles of Beer on the wall," cr
+." fifty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifty-seven Bottles of Beer on the wall." cr
+." Oh, fifty-seven Bottles of Beer on the wall," cr
+." fifty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifty-six Bottles of Beer on the wall." cr
+." Oh, fifty-six Bottles of Beer on the wall," cr
+." fifty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifty-five Bottles of Beer on the wall." cr
+." Oh, fifty-five Bottles of Beer on the wall," cr
+." fifty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifty-four Bottles of Beer on the wall." cr
+." Oh, fifty-four Bottles of Beer on the wall," cr
+." fifty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifty-three Bottles of Beer on the wall." cr
+." Oh, fifty-three Bottles of Beer on the wall," cr
+." fifty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifty-two Bottles of Beer on the wall." cr
+." Oh, fifty-two Bottles of Beer on the wall," cr
+." fifty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifty-one Bottles of Beer on the wall." cr
+." Oh, fifty-one Bottles of Beer on the wall," cr
+." fifty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifty Bottles of Beer on the wall." cr
+." Oh, fifty Bottles of Beer on the wall," cr
+." fifty Bottles of Beer!," cr
+." Take one down and pass it around," 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
+." 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
+." 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
+." 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
+." 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
+." 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
+." 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
+." 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
+." 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
+." 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
+." thirty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." thirty-eight Bottles of Beer on the wall." cr
+." Oh, thirty-eight Bottles of Beer on the wall," cr
+." thirty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." thirty-seven Bottles of Beer on the wall." cr
+." Oh, thirty-seven Bottles of Beer on the wall," cr
+." thirty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." thirty-six Bottles of Beer on the wall." cr
+." Oh, thirty-six Bottles of Beer on the wall," cr
+." thirty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." thirty-five Bottles of Beer on the wall." cr
+." Oh, thirty-five Bottles of Beer on the wall," cr
+." thirty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." thirty-four Bottles of Beer on the wall." cr
+." Oh, thirty-four Bottles of Beer on the wall," cr
+." thirty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." thirty-three Bottles of Beer on the wall." cr
+." Oh, thirty-three Bottles of Beer on the wall," cr
+." thirty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." thirty-two Bottles of Beer on the wall." cr
+." Oh, thirty-two Bottles of Beer on the wall," cr
+." thirty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." thirty-one Bottles of Beer on the wall." cr
+." Oh, thirty-one Bottles of Beer on the wall," cr
+." thirty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." thirty Bottles of Beer on the wall." cr
+." Oh, thirty Bottles of Beer on the wall," cr
+." thirty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twenty-nine Bottles of Beer on the wall." cr
+." Oh, twenty-nine Bottles of Beer on the wall," cr
+." twenty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twenty-eight Bottles of Beer on the wall." cr
+." Oh, twenty-eight Bottles of Beer on the wall," cr
+." twenty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twenty-seven Bottles of Beer on the wall." cr
+." Oh, twenty-seven Bottles of Beer on the wall," cr
+." twenty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twenty-six Bottles of Beer on the wall." cr
+." Oh, twenty-six Bottles of Beer on the wall," cr
+." twenty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twenty-five Bottles of Beer on the wall." cr
+." Oh, twenty-five Bottles of Beer on the wall," cr
+." twenty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twenty-four Bottles of Beer on the wall." cr
+." Oh, twenty-four Bottles of Beer on the wall," cr
+." twenty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twenty-three Bottles of Beer on the wall." cr
+." Oh, twenty-three Bottles of Beer on the wall," cr
+." twenty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twenty-two Bottles of Beer on the wall." cr
+." Oh, twenty-two Bottles of Beer on the wall," cr
+." twenty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twenty-one Bottles of Beer on the wall." cr
+." Oh, twenty-one Bottles of Beer on the wall," cr
+." twenty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twenty Bottles of Beer on the wall." cr
+." Oh, twenty Bottles of Beer on the wall," cr
+." twenty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." nineteen Bottles of Beer on the wall." cr
+." Oh, nineteen Bottles of Beer on the wall," cr
+." nineteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eighteen Bottles of Beer on the wall." cr
+." Oh, eighteen Bottles of Beer on the wall," cr
+." eighteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seventeen Bottles of Beer on the wall." cr
+." Oh, seventeen Bottles of Beer on the wall," cr
+." seventeen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." sixteen Bottles of Beer on the wall." cr
+." Oh, sixteen Bottles of Beer on the wall," cr
+." sixteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fifteen Bottles of Beer on the wall." cr
+." Oh, fifteen Bottles of Beer on the wall," cr
+." fifteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fourteen Bottles of Beer on the wall." cr
+." Oh, fourteen Bottles of Beer on the wall," cr
+." fourteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." thirteen Bottles of Beer on the wall." cr
+." Oh, thirteen Bottles of Beer on the wall," cr
+." thirteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." twelve Bottles of Beer on the wall." cr
+." Oh, twelve Bottles of Beer on the wall," cr
+." twelve Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eleven Bottles of Beer on the wall." cr
+." Oh, eleven Bottles of Beer on the wall," cr
+." eleven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." ten Bottles of Beer on the wall." cr
+." Oh, ten Bottles of Beer on the wall," cr
+." ten Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." nine Bottles of Beer on the wall." cr
+." Oh, nine Bottles of Beer on the wall," cr
+." nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." eight Bottles of Beer on the wall." cr
+." Oh, eight Bottles of Beer on the wall," cr
+." eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." seven Bottles of Beer on the wall." cr
+." Oh, seven Bottles of Beer on the wall," cr
+." seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six Bottles of Beer on the wall." cr
+." Oh, six Bottles of Beer on the wall," cr
+." six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five Bottles of Beer on the wall." cr
+." Oh, five Bottles of Beer on the wall," cr
+." five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." four Bottles of Beer on the wall." cr
+." Oh, four Bottles of Beer on the wall," cr
+." four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." three Bottles of Beer on the wall." cr
+." Oh, three Bottles of Beer on the wall," cr
+." three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." two Bottles of Beer on the wall." cr
+." Oh, two Bottles of Beer on the wall," cr
+." two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one Bottle of Beer on the wall." cr
+." Oh, one Bottle of Beer on the wall," cr
+." one Bottle of Beer!," cr
+." Take it down and pass it around..." cr
+." How dry I am! How dry I am!" cr
+." No body knows how dry I am." cr
+." How ... Dry I ... Aaaammm." cr
Added: fcode-utils/testsuite/TokMisc/BasicCont.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/BasicCont.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/BasicCont.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,48 @@
+\ Test Basic Control Constructs
+\ Updated Mon, 02 May 2005 at 15:39 by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+: mishka
+ ." begin" begin
+ ." -1 if" -1 if
+ exit
+ ." else" else 0 drop
+ ." then" then
+ ." again" again
+ ." Donshka vith Mishka"
+;
+
+: moose
+ ." begin" begin
+ ." 0 while" 0 while
+ ." repeat" repeat
+ ." Done Vith Moose."
+;
+
+: minski
+ ." 1 0 do" 1 0 do
+ ." i drop" i drop
+ ." Please leave" leave
+ ." loop" loop
+ ." Donesky vith Minski"
+;
+
+: goofsky
+ ." 0 case" 0 case
+ ." 1 of"
+ 1 of ." 1 endof" 1 endof
+ ." 2 of"
+ 2 of ." 2 endof" 2 endof
+ ." 3 of"
+ 3 of ." 3 endof" 3 endof
+ ." default 0" 0
+ ." endcase"
+ endcase
+ ." Donesky vith goofsky."
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/BatchTst.fth
===================================================================
Added: fcode-utils/testsuite/TokMisc/BranchOverNewBuffer.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/BranchOverNewBuffer.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/BranchOverNewBuffer.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,33 @@
+\ Test case: a normal-size branch that takes place across the point
+\ where the output buffer was expanded.
+\ We will use a body generated by the "Verbal Bottles of Beer" script
+\ To just almost but not quite fill up the buffer.
+\ A parameter of 645 does it
+
+fcode-version2 \ Sixteen-bit offsets.
+
+headers
+
+\ Try various tricks to force an allocation of the space
+\ just above the output buffer so that the realloc of
+\ the output buffer will be forced into a new space
+f[
+ fload LotsOfAliases.fth
+ f]
+
+: a-lot-of-beer
+ ." We're about a third of the way into a school-bus trip" cr
+ ." that started with a thousand bottles." cr
+
+fload Almost_a_Buffer_of_Beer.fth
+
+ 0 if
+
+fload No_Beer.fth
+
+ then
+ ." It's so over."
+;
+
+fcode-end
+
Added: fcode-utils/testsuite/TokMisc/CaseTkns.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/CaseTkns.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/CaseTkns.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,36 @@
+\ Test the new Upper-Case-Token-Names and Lower-Case-Token-Names flags
+\ Updated Tue, 27 Jun 2006 at 11:32 PDT by David L. Paktor
+
+hex headers
+
+fcode-version2
+
+123 constant MiXeD-uP-CaSes-natch
+
+#flag Lower-Case-Token-Names
+
+456 constant MiXeD-uP-TO-LoWeR-Case
+." But This sTrInG KeePS ItS MIxeD CaSEs."
+
+#flag Upper-Case-Token-Names
+
+789 constant Up-mIxEd-tO-uPPer-cASe
+." THis StRiNG KeEpS ItS MiXeD CaSeS tOO."
+
+headerless
+defeca8e constant NoShiT,sHerLocK!
+headers
+
+#flag Lower-Case-Token-Names
+
+0abc constant mIXeD-BaCk-To-Lower-CAsE
+
+#flag noUpper-Case-Token-Names
+
+0def constant mIxEd-BuT-StIlL-To-Lower
+
+#flag noLower-Case-Token-Names
+
+0fed constant BaCk-To-tHe-MiX
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/ContErr1.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/ContErr1.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/ContErr1.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,50 @@
+\ Another test of cunningly contrived Erroneous Control Constructs.
+\ This one doesn't pass the "Old" tokenizer, even though
+\ it doesn't have the check for Control-Structure matching,
+\ because the way it does its case .. of .. endof ... endcase
+\ is completely incompatible with the way it does its if ... then
+\
+
+\ Updated Wed, 04 May 2005 at 16:26 by David L. Paktor
+
+fcode-version2
+
+headers
+
+
+\ We can't fake this to the "Old" tokenizer, because
+\ it does its case .. of .. endof ... endcase
+\ in a way that's completely incompatible with
+\ the way it does its if ... then
+\ So just test this with the "New".
+
+: garfield
+ ." if" if
+ ." begin" begin
+ ." Question-Leave?" ?leave
+ ." 0 if unloop exit then" 0 if unloop exit then
+ ." Would you be leave..." leave
+ ." loop?" loop
+ ." Done with garfield"
+;
+
+: jon
+ ." begin" begin
+ ." if" if
+ ." endof" endof
+ ." again" again
+ ." then" then
+ ." ouch"
+;
+
+: nermal
+ ." begin noop" begin noop
+ ." if" if
+ ." endof" endof
+ ." loop" loop
+;
+
+: liz-the-vet
+ ." No concluding semicolon"
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/ContErr2.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/ContErr2.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/ContErr2.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,74 @@
+\ Another test of Erroneous Control Constructs.
+\ Contrived to completely crash the tokenizer...
+
+\ Updated Wed, 03 Aug 2005 at 09:49 by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+\ Seven dwarves:
+\ Happy Grumpy Sleepy Sneezy Dopey Bashful and Doc
+\ Their disfavored cousins:
+\ Crappy Dumpy Sneaky Sleazy Gropey Trashful and Schlock
+: crapsky
+ ." 0 case" 0 case
+ ." 1 of"
+ 1 of ." 1 endof" 1 endof
+ ." 2 of"
+ 2 of ." 2 endof" 2 endof
+ ." 3 of"
+ 3 of ." 3 endof" 3 endof
+ ." default 0" 0
+ ." resolve case w/ then" then
+ ." resolve 3 endof w/ then" then
+ ." resolve 2 endof w/ then" then
+ ." resolve 1 endof w/ then" then
+ ." Donesky vith crapsky."
+;
+
+: dumpsky
+ ." 0 if" 0 if
+ ." free-floating endcase"
+ endcase ." And no then"
+;
+
+: sneaksky
+ ." Free-floating else" else
+ ." And notsnik aftervards."
+;
+
+
+ : gropsky
+ ." A typo. 0 of not 0 if"
+ 0 of
+ ." Misbalanced by a then?"
+ then
+ ." Goobar... Guwno?"
+ ;
+
+: trashsky
+ ." Another typo..."
+ ." 0 case " 0 case
+ ." 10 if not 10 of"
+ 10 if
+ ." Misbalanced by endof."
+ endof
+ ." Not my default."
+ endcase
+ ." That was an endcase just in case"
+;
+
+: schlocksky
+ ." Like trashsky but without final balancer..."
+ ." Another typo..."
+ ." 0 case " 0 case
+ ." 10 if not 10 of"
+ 10 if
+ ." Misbalanced by endof."
+ endof
+ ." No endcase here"
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/ContErr3.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/ContErr3.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/ContErr3.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,144 @@
+\ An even more severe test of Erroneous Control Constructs.
+
+\ Updated Fri, 28 Jul 2006 at 14:28 PDT by David L. Paktor
+
+fcode-version2
+
+headers
+
+\ Seven dwarves:
+\ Happy Grumpy Sleepy Sneezy Dopey Bashful and Doc
+\ Their disfavored cousins:
+\ Crappy Dumpy Sneaky Sleazy Gropey Trashful and Schlock
+: crapsky
+ ." 0 case" 0 case
+ ." 1 of"
+ 1 of ." 1 endof" 1 endof
+ ." 2 of"
+ 2 of ." 2 endof" 2 endof
+ ." 3 of"
+ 3 of ." 3 endof" 3 endof
+ ." default 0" 0
+ ." resolve case w/ then" then
+ ." resolve 3 endof w/ then" then
+ ." resolve 2 endof w/ then" then
+ ." resolve 1 endof w/ then" then
+ ." Donesky vith crapsky."
+;
+
+: dumpsky
+ ." 0 if" 0 if
+ ." free-floating endcase"
+ endcase ." And no then"
+;
+
+: sneaksky
+ ." Free-floating else" else
+ ." And notsnik aftervards."
+;
+
+ ." While by itself, outside of def'n"
+ while
+
+ : gropsky
+ ." A typo. 0 of not 0 if"
+ 0 of
+ ." Misbalanced by a then?"
+ then
+ ." Goobar... Guwno?"
+ ;
+
+: trashsky
+ ." Another typo..."
+ ." 0 case " 0 case
+ ." 10 if not 10 of"
+ 10 if
+ ." Misbalanced by endof."
+ endof
+ ." Not my default."
+ endcase
+ ." That was an endcase just in case"
+;
+
+: schlocksky
+ ." Like trashsky but without final balancer..."
+ ." Another typo..."
+ ." 0 case " 0 case
+ ." 10 if not 10 of"
+ 10 if
+ ." Misbalanced by endof."
+ endof
+ ." No endcase here"
+;
+
+." We need to be able to detect Leave out of context."
+." Let's see if this can fool it..."
+." 1 0 DO" 1 0 do
+
+: stinsky
+ ." if leave then "
+ if
+ leave
+ then
+;
+
+." 1 begin" 1 begin
+." 1 - ?dup while" 1 - ?dup while
+." What the hey? Loop ?" loop
+
+
+." 1 begin" 1 begin
+." 1 - ?dup while" 1 - ?dup while
+." again then ought to match..."
+again
+then
+
+." How about IF BEGIN without WHILE then REPEAT..."
+." 0 if" 0 if
+begin
+." There's an IF ; where's the WHILE?" #message" There's an IF ; where's the WHILE?"
+repeat
+." That compiles..." #message" Won't be easy to catch."
+
+." How about BEGIN without WHILE then REPEAT..."
+." begin" begin #message" BEGIN without WHILE then REPEAT..."
+." Where's the while?" #message" Where's the while?"
+repeat
+
+
+." repeat without precedent..." repeat
+
+." loop without precedent" loop
+
+." 1 0 DO" 1 0 do
+." What???"
+." repeat..." repeat
+
+#message" Definitions within a loop" ." ...within a loop"
+
+: test_something ( indx -- targ true | false )
+ ." Stub" 2 = dup if h# 1923 swap then
+;
+4 0 do
+ i test_something if
+ ( targ ) value targ ( klingon-pet )
+ : funny_stuff
+ 1 0 do targ u.
+ #message" Error here..." j
+ #message" But not here" 1 0 do j . loop
+ loop test_something
+ ;
+
+ then
+loop
+
+#message" Same line as a loop" ." ...Same line as a loop"
+
+4 0 do i test_something if to targ : runny_stuff begin
+ 1 0 do targ u. #message" Error here, too..." j
+ #message" But not here either" 1 0 do j . loop
+ loop true #message" Missing an until"
+;
+then loop
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/EncodTst.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/EncodTst.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/EncodTst.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,17 @@
+\ Test and confirm behavior of encode-file and embedded end0
+
+\ Updated Mon, 27 Jun 2005 at 16:35 by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+encode-file EncodeSrc
+
+
+: whatnot
+ if ['] end0 execute then
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/EncodeSrc
===================================================================
--- fcode-utils/testsuite/TokMisc/EncodeSrc (rev 0)
+++ fcode-utils/testsuite/TokMisc/EncodeSrc 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,6 @@
+This is the symphony that Schubert wrote and never finished
+This is the symphony that Schubert wrote and never ...
+Alma, tell us, all modern women are jealous.
+Which of your magical wands got you Gustav and Walter and Franz?
+Away out here they got a name for rain and wind and fire.
+The rain is Tess, the fire's Joe and they call the wind Mariah.
Added: fcode-utils/testsuite/TokMisc/ExamAllMacs.scr
===================================================================
--- fcode-utils/testsuite/TokMisc/ExamAllMacs.scr (rev 0)
+++ fcode-utils/testsuite/TokMisc/ExamAllMacs.scr 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,51 @@
+#! /bin/csh -f
+#
+# Examine the results of the AllMacros detokenization.
+# All but the last items are in pairs...
+
+set ExamFil = AllMacros.DeTok
+if ( ! -f $ExamFil ) then
+ echo Missing Examination-target file -- $ExamFil
+ exit 237
+endif
+
+# Get the line number that starts the simple pairs,
+# identified by a text message.
+set firstlin = `grep -n 'Start of simple pairs' $ExamFil | awk -F: '{print $1+1}'`
+set lastlin = `grep -n 'End of simple pairs' $ExamFil | awk -F: '{print $1}'`
+
+
+# Get the line numbers of the final phrase-item pair,
+# identified by a text message.
+set lastphrase = `grep -n 'Last phrase-item' $ExamFil | awk -F: '{print $1+1}'`
+
+# We'll need a pair o temp-files
+# First, repository for one of each pair of lines
+set reposfil = /tmp/$0:t.1.$$
+# Second, accumulation of differences
+set accumfil = /tmp/$0:t.2.$$
+
+# Set up to compare two by two.
+# Start with the final phrase-item pair
+set flin = $lastphrase[1]
+set slin = $lastphrase[2]
+set linnum = $firstlin
+while ( $linnum < $lastlin )
+ sed -n ${flin}p $ExamFil | sed -e 'sX^ *[0-9]*: XX' > ${reposfil}
+ sed -n ${slin}p $ExamFil | sed -e 'sX^ *[0-9]*: XX' | diff - ${reposfil} | tee -a ${accumfil}
+
+ set flin = $linnum
+ @ linnum++
+ set slin = $linnum
+ @ linnum++
+end
+
+if ( ! -z ${accumfil} ) then
+ cp -p ${accumfil} ./$0.Results.$$
+ echo Errors seen in $ExamFil. See ./$0.Results.$$ for diffs
+endif
+
+rm -f ${reposfil} ${accumfil}
+
+
+
Property changes on: fcode-utils/testsuite/TokMisc/ExamAllMacs.scr
___________________________________________________________________
Name: svn:executable
+ *
Added: fcode-utils/testsuite/TokMisc/ExtCont.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/ExtCont.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/ExtCont.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,32 @@
+\ Test extended-control constructs
+
+\ Updated Tue, 03 May 2005 at 12:40 by David L. Paktor
+
+fcode-version2
+
+headers
+
+\ First, something ordinary
+: goose
+ ." begin" begin
+ ." 4 until" 4 until
+ ." Done with goose"
+ ;
+ : caboose
+ ." begin" begin
+ ." 5 while" 5 while
+ ." repeat" repeat
+ ." Done with caboose"
+;
+
+: fusbat
+ ." begin" begin
+ ." 1 while" 1 while
+ ." 2 while" 2 while
+ ." 3 until" 3 until
+ ." 2 then" then ( 2 )
+ ." 1 then" then ( 1 )
+ ." Done with fusbat"
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/FlagSet.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/FlagSet.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/FlagSet.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,34 @@
+\ Special-Feature Flags test
+
+\ Updated Mon, 08 Aug 2005 at 18:22 by David L. Paktor
+
+#flag help
+#flag nohelp
+
+#flag Local-Values
+#flag noLocal-Values
+#flag LV-Legacy-Separator
+#flag noLV-Legacy-Separator
+#flag LV-Legacy-Message
+#flag noLV-Legacy-Message
+#flag ABORT-Quote
+#flag noABORT-Quote
+#flag Sun-ABORT-Quote
+#flag noSun-ABORT-Quote
+#flag String-remark-escape
+#flag noString-remark-escape
+#flag Hex-remark-escape
+#flag noHex-remark-escape
+#flag C-Style-string-escape
+#flag noC-Style-string-escape
+#flag Always-Headers
+#flag NoAlways-Headers
+#flag Always-External
+#flag NoAlways-External
+#flag Warn-if-Duplicate
+#flag noWarn-if-Duplicate
+
+#flags
+
+#flag MoreGimmeMore!
+#flag noMorePleaseNoMore!
Added: fcode-utils/testsuite/TokMisc/FlagsHelp.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/FlagsHelp.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/FlagsHelp.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,3 @@
+\ Empty file to test various cammand-line options relating to Flags Help
+\
+[message] Nothing to be done.
Added: fcode-utils/testsuite/TokMisc/FlgReset.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/FlgReset.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/FlgReset.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,15 @@
+
+[message] Flipping many switches
+
+[flag] Local-Values
+[flag] noLV-Legacy-Separator
+[flag] noLV-Legacy-Message
+[flag] noABORT-Quote
+[flag] noSun-ABORT-Quote
+[flag] noString-remark-escape
+[flag] noC-Style-string-escape
+[flag] Always-Headers
+[flag] noWarn-if-Duplicate
+[flag] noObsolete-FCode-Warning
+
+[FLAGS]
Added: fcode-utils/testsuite/TokMisc/FlgReset_1.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/FlgReset_1.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/FlgReset_1.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,9 @@
+
+[message] Flipping a few switches
+
+[flag] noLocal-Values
+[flag] noHex-remark-escape
+[flag] noAlways-External
+[flag] Obsolete-FCode-Warning
+
+[flags]
Added: fcode-utils/testsuite/TokMisc/FlgReset_2.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/FlgReset_2.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/FlgReset_2.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,5 @@
+
+
+[message] Flipping no switches at all
+
+[flags]
Added: fcode-utils/testsuite/TokMisc/HeadrSettings.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/HeadrSettings.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/HeadrSettings.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,24 @@
+\ Play games with state of header-ness...
+
+
+fcode-version2
+
+." Default is headerless" cr
+10 constant ten-ten-a-big-fat-hen
+
+." Specifying headers hex" cr
+headers hex
+20 constant henty-plenty
+
+
+" Specifying external" cr
+external
+40 constant chirkken-keetchee
+
+: use-it-all ten-ten-a-big-fat-hen henty-plenty chirkken-keetchee ;
+
+end0
+
+headers
+hex
+
Added: fcode-utils/testsuite/TokMisc/LotsOfAliases.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/LotsOfAliases.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/LotsOfAliases.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,71 @@
+
+alias a_70_swap swap
+alias a_69_swap swap
+alias a_68_swap swap
+alias a_67_swap swap
+alias a_66_swap swap
+alias a_65_swap swap
+alias a_64_swap swap
+alias a_63_swap swap
+alias a_62_swap swap
+alias a_61_swap swap
+alias a_60_swap swap
+alias a_59_swap swap
+alias a_58_swap swap
+alias a_57_swap swap
+alias a_56_swap swap
+alias a_55_swap swap
+alias a_54_swap swap
+alias a_53_swap swap
+alias a_52_swap swap
+alias a_51_swap swap
+alias a_50_swap swap
+alias a_49_swap swap
+alias a_48_swap swap
+alias a_47_swap swap
+alias a_46_swap swap
+alias a_45_swap swap
+alias a_44_swap swap
+alias a_43_swap swap
+alias a_42_swap swap
+alias a_41_swap swap
+alias a_40_swap swap
+alias a_39_swap swap
+alias a_38_swap swap
+alias a_37_swap swap
+alias a_36_swap swap
+alias a_35_swap swap
+alias a_34_swap swap
+alias a_33_swap swap
+alias a_32_swap swap
+alias a_31_swap swap
+alias a_30_swap swap
+alias a_29_swap swap
+alias a_28_swap swap
+alias a_27_swap swap
+alias a_26_swap swap
+alias a_25_swap swap
+alias a_24_swap swap
+alias a_23_swap swap
+alias a_22_swap swap
+alias a_21_swap swap
+alias a_20_swap swap
+alias a_19_swap swap
+alias a_18_swap swap
+alias a_17_swap swap
+alias a_16_swap swap
+alias a_15_swap swap
+alias a_14_swap swap
+alias a_13_swap swap
+alias a_12_swap swap
+alias a_11_swap swap
+alias a_10_swap swap
+alias a_9_swap swap
+alias a_8_swap swap
+alias a_7_swap swap
+alias a_6_swap swap
+alias a_5_swap swap
+alias a_4_swap swap
+alias a_3_swap swap
+alias a_2_swap swap
+alias a_1_swap swap
Added: fcode-utils/testsuite/TokMisc/MinPCIHtst.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/MinPCIHtst.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/MinPCIHtst.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,25 @@
+\ Minimal basic PCI-Header test.
+
+\ Updated Tue, 24 May 2005 at 11:22 by David L. Paktor
+
+hex
+tokenizer[
+
+ c020
+ SET-REV-LEVEL
+ dec1 \ Vendor
+ c0ed \ Device ID
+ a8d2e1 \ Class Code
+ pci-header
+ ]tokenizer
+
+
+fcode-version2
+
+headers
+ : bogo " This is a test." ;
+
+
+fcode-end
+
+pci-header-end
Added: fcode-utils/testsuite/TokMisc/MiscFeatures.DOS.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/MiscFeatures.DOS.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/MiscFeatures.DOS.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,73 @@
+\ Obvious pun intended...
+\ Updated Tue, 31 May 2005 at 12:07 by David L. Paktor
+
+
+alias // \
+fcode-version2
+
+headers
+
+// What is this?
+//
+char G emit
+control G emit
+control [ emit
+: bell
+ [char] G dup
+ control G 3drop
+;
+
+: factl recursive ( n -- n! )
+ ?dup 0= if 1
+ else dup 1- * factl
+ then
+;
+
+: factl ( n -- n! )
+ ?dup 0= if 1 factl
+ else dup 1- recurse *
+ then
+;
+
+variable naught
+defer do-nothing
+20 value twenty
+30 value thirty
+40 buffer: forty
+50 constant fifty
+create three 0 , 00 , h# 000 ,
+struct
+4 field >four
+constant /four
+
+: peril
+ ['] noop is do-nothing
+ 100 is thirty
+ 5 is naught
+ thirty dup - abort" Never Happen"
+;
+
+: thirty ( new-val -- )
+ dup to thirty
+ alias .dec .d \ Should this be allowed?
+ ." Dirty" .dec
+;
+tokenizer[
+alias fliteral1 fliteral // This should be a harmless remark.
+h# deadc0de ]tokenizer fliteral1
+
+: droop ( -- )
+ twenty
+ tokenizer[
+ alias .x .h \ Should this generate a warning?
+ ]tokenizer
+ 0 ?do i .x loop
+;
+: ploop ( -- )
+ fifty 0 do i drop 2 +loop
+;
+
+fcode-end
+
+
+
Added: fcode-utils/testsuite/TokMisc/MiscFeatures.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/MiscFeatures.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/MiscFeatures.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,139 @@
+\ Obvious pun intended...
+\ Updated Fri, 10 Feb 2006 at 15:53 PST by David L. Paktor
+
+alias // \
+fcode-version2
+
+headers
+
+// What is this?
+//
+char G emit
+control G emit
+control [ emit
+global-definitions
+\ Each dev-node will create its own debug-flag and alias it to debug-me?
+\ Each dev-node will create a macro called my-dev-name giving its device-name
+ [macro] .fname&dev [function-name] type ." in " my-dev-name type
+ [macro] name-my-dev my-dev-name device-name
+ [macro] .dbg-enter debug-me? @ if ." Entering " .fname&dev cr then
+ [macro] .dbg-leave debug-me? @ if ." Leaving " .fname&dev cr then
+device-definitions
+
+\ Top-most device, named billy
+[macro] my-dev-name " billy"
+name-my-dev
+
+variable debug-bell? debug-bell? off alias debug-me? debug-bell?
+: bell
+ .dbg-enter
+ [char] G dup
+ control G 3drop
+ .dbg-leave
+;
+
+: factl recursive ( n -- n! )
+ ." Entering First vers. of " [function-name] type cr
+ ?dup 0= if 1
+ else dup 1- factl *
+ then
+ ." Leaving First vers. of " [function-name] type cr
+;
+
+: factl ( n -- n! )
+ ." Entering Second vers. of " [function-name] type cr
+ ?dup 0= if 1 factl
+ else dup 1- recurse *
+ then
+ ." Leaving Second vers. of " [function-name] type cr
+;
+
+variable naught
+defer do-nothing
+20 value twenty
+30 value thirty
+40 buffer: forty
+50 constant fifty
+create three 0 , 00 , h# 000 ,
+struct
+4 field >four
+constant /four
+
+: peril
+ .dbg-enter
+ ['] noop is do-nothing
+ 100 is thirty
+ 5 is naught
+ thirty dup - abort" Never Happen"
+ .dbg-leave
+;
+
+: thirty ( new-val -- )
+ .dbg-enter
+ dup to thirty
+ alias .dec .d \ Should this be allowed?
+ ." Dirty" .dec
+ .dbg-leave
+;
+tokenizer[
+alias fliteral1 fliteral // This should be a harmless remark.
+h# deadc0de ]tokenizer fliteral1
+
+\ First subsidiary device, "child" of billy
+new-device
+ instance variable cheryl
+ [macro] my-dev-name " cheryl"
+ name-my-dev
+
+ instance
+ \ Third-level device, "grandchild" of billy
+ new-device
+ [macro] my-dev-name " meryl"
+ name-my-dev
+
+ variable beryl
+
+ variable debug-meryl? debug-meryl? off
+ alias debug-me? debug-meryl?
+ : meryl
+ .dbg-enter
+ cheryl
+ alias .deck .dec
+ alias feral cheryl
+ alias .heck .h
+ .dbg-leave
+ ;
+ finish-device
+
+ \ Now we're back to "cheryl"
+
+ variable debug-cheryl? debug-cheryl? off
+ alias debug-me? debug-cheryl?
+ : queryl
+ .dbg-enter
+ over rot dup nip drop swap \ Not the most useful code... ;-}
+ .dbg-leave
+ ;
+finish-device
+
+\ And we're back to billy.
+: droop ( -- )
+ .dbg-enter \ This will display Entering droop in billy
+ twenty
+ tokenizer[
+ alias .x .h \ Should this generate a warning?
+ ]tokenizer
+ 0 ?do i .x loop
+ .dbg-leave
+;
+headerless
+: ploop ( -- )
+ .dbg-enter
+ fifty 0 do i drop 2 +loop
+ .dbg-leave
+;
+
+fcode-end
+
+
+
Added: fcode-utils/testsuite/TokMisc/MiscFeaturesCopy.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/MiscFeaturesCopy.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/MiscFeaturesCopy.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,65 @@
+\ Obvious pun intended...
+\ Updated Tue, 19 Apr 2005 at 17:28 by David L. Paktor
+
+fcode-version2
+
+headers
+
+char G emit
+control G emit
+control [ emit
+: bell
+ [char] G dup
+ control G 3drop
+;
+
+: factl recursive ( n -- n! )
+ ?dup 0= if 1
+ else dup 1- * factl
+ then
+;
+
+: factl ( n -- n! )
+ ?dup 0= if 1 factl
+ else dup 1- recurse *
+ then
+;
+
+variable naught
+defer do-nothing
+20 value twenty
+30 value thirty
+40 buffer: forty
+50 constant fifty
+create three 0 , 00 , h# 000 ,
+struct
+4 field >four
+constant /four
+
+: peril
+ ['] noop is do-nothing
+ 100 is thirty
+ 5 is naught
+;
+
+: thirty ( new-val -- )
+ dup to thirty
+ alias .dec .d \ Should this be allowed?
+ ." Dirty" .dec
+;
+
+: droop ( -- )
+ twenty
+ tokenizer[
+ alias .x .h \ Should this generate a warning?
+ ]tokenizer
+ 0 ?do i .x loop
+;
+: ploop ( -- )
+ fifty 0 do i drop 2 +loop
+;
+
+fcode-end
+
+
+
Added: fcode-utils/testsuite/TokMisc/MiscFeaturesXtra.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/MiscFeaturesXtra.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/MiscFeaturesXtra.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,15 @@
+\ See if names from a previous tokenization linger in a subsequent one.
+
+\ Updated Wed, 06 Apr 2005 at 11:32 by David L. Paktor
+
+fcode-version2
+
+headers
+: peril ( new-val -- )
+ dup to twenty
+ ['] peril is do-nothing
+ d# 17 is naught
+;
+
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/MulDev.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/MulDev.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/MulDev.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,40 @@
+\ Test creating multiple device-nodes
+\ Let's contrive this to (almost...) pass the "Original" tokenizer as well,
+\ and display the contrast.
+\ Updated Mon, 30 May 2005 at 19:44 by David L. Paktor
+
+alias // \
+// Funny kind of comment. What? C-Plus style? Not even a "B"...
+
+fcode-version2
+
+headers
+
+create (sis 6 c, 8 c, 12 c,
+: err-shoot) ( -- 0 ) h# defeca8e .h ;
+: eatit( h# feedface .h cr ;
+: open ( -- success )
+ err-shoot)
+ ." No dice, Cholly." cr
+ eatit(
+ false
+;
+
+" sis" encode-string " name" property
+
+finish-device
+new-device
+
+: eatit( h# 900df00d .h cr ; \ This should be a new definition
+
+: open ( -- success )
+ err-shoot) \ This should be an "Unknown Word"
+ ." I'm sorry, Dave. I can't do that." cr
+ eatit( \ This should be the above
+ \ new definition in any case.
+ false
+;
+
+" boombah" encode-string " name" property
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/MulDev_01.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/MulDev_01.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/MulDev_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,69 @@
+\ Test multiple device-nodes with injected erorrs... ;-}
+
+\ Updated Thu, 04 Aug 2005 at 16:42 by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+alias rc! rb!
+
+[message] Top-Level (root) device-node
+create achin 12 c, 13 c, 14 c,
+: breakin achin 3 bounds do i c@ . loop ;
+: creakin 0 if breakin then ;
+: deacon achin creakin drop breakin ;
+
+[message] Subsidiary (child) device-node
+new-device
+create eek! 18 c, 17 c, 80 c, 79 c,
+: freek eek! 4 bounds ?do i c@ . 1 +loop ;
+: greek -1 if freek then ;
+[message] About to access method from parent node
+: hierareek
+ eek!
+ freek
+ achin
+ greek
+;
+: ikey hierareek freek greek ;
+[message] about to end child node
+finish-device
+[message] We can access methods from the root node now
+: jeeky
+ achin
+ 3 type
+;
+[message] create sibling node
+new-device
+0 value inky
+: kinky
+ " "( \
+ \ value offset
+ 03 22 \ Comm Params (offset 22) = parity check (bit 0) even (bit 1)
+ 4 17 \ Plex (offs 17) = full (bit 2)
+ b7 0e \ Bells (offs 0e) = Bits 7,6,4,2,1,0 (No church or Gamelon)
+ 7f 0f \ Bell volume (offs 0f) = Just under halfway
+ 89 10 \ Whistles (offs 10) = Foghorn, Train, Piccolo (Bits 7,3,0)
+ ff 18 \ Foghorn duration (offs 18) = maximum
+ 22 14 \ Train-whistle (offs 14) = two short blasts
+ 03 11 \ Piccolo = mercifully short
+ )"
+ bounds do i c@ i 1+ c@ inky + rc! 2 +loop
+;
+
+[message] creating nephew node
+new-device
+
+: open kinky true ;
+
+[message] creating great-nephew node
+new-device
+
+: open
+ jeeky
+ kinky
+ true ;
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/MulDev_02.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/MulDev_02.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/MulDev_02.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,71 @@
+\ Test multiple device-nodes with injected erorrs... ;-}
+\ MulDev_02.fth -- slight variant relative to MulDev_01.fth
+
+\ Updated Thu, 12 Jan 2006 at 15:36 PST by David L. Paktor
+
+global-definitions
+ alias rc! rb!
+device-definitions
+
+fcode-version2
+
+headers
+
+[message] Top-Level (root) device-node
+create achin 12 c, 13 c, 14 c,
+: breakin achin 3 bounds do i c@ . loop ;
+: creakin 0 if breakin then ;
+: deacon achin creakin drop breakin ;
+
+[message] Subsidiary (child) device-node
+new-device
+create eek! 18 c, 17 c, 80 c, 79 c,
+: freek eek! 4 bounds ?do i c@ . 1 +loop ;
+: greek -1 if freek then ;
+[message] About to access method from parent node
+: hierareek
+ eek!
+ freek
+ achin
+ greek
+;
+: ikey hierareek freek greek ;
+[message] about to end child node
+finish-device
+[message] We can access methods from the root node now
+: jeeky
+ achin
+ 3 type
+;
+[message] create sibling node
+new-device
+0 value inky
+: kinky
+ " "( \
+ \ value offset
+ 03 22 \ Comm Params (offset 22) = parity check (bit 0) even (bit 1)
+ 4 17 \ Plex (offs 17) = full (bit 2)
+ b7 0e \ Bells (offs 0e) = Bits 7,6,4,2,1,0 (No church or Gamelon)
+ 7f 0f \ Bell volume (offs 0f) = Just under halfway
+ 89 10 \ Whistles (offs 10) = Foghorn, Train, Piccolo (Bits 7,3,0)
+ ff 18 \ Foghorn duration (offs 18) = maximum
+ 22 14 \ Train-whistle (offs 14) = two short blasts
+ 03 11 \ Piccolo = mercifully short
+ )"
+ bounds do i c@ i 1+ c@ inky + rc! 2 +loop
+;
+
+[message] creating nephew node
+new-device
+
+: open kinky true ;
+
+[message] creating great-nephew node
+new-device
+
+: open
+ jeeky
+ kinky
+ true ;
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/No_Beer.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/No_Beer.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/No_Beer.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,3 @@
+." How dry I am! How dry I am!" cr
+." No body knows how dry I am." cr
+." How ... Dry I ... Aaaammm." cr
Added: fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.DeTok
===================================================================
--- fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.DeTok (rev 0)
+++ fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.DeTok 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,195 @@
+\ Welcome to the OpenBIOS detokenizer v0.6.1
+\ detok Copyright(c) 2001-2005 by Stefan Reinauer.
+\ Written by Stefan Reinauer, <stepan(a)openbios.org>
+\ This program is free software; you may redistribute it under the terms of
+\ the GNU General Public License. This program has absolutely no warranty.
+\
+\ (C) Copyright 2005 IBM Corporation. All Rights Reserved.
+ 0: start1 ( 0x0f1 ) ( 16-bit offsets)
+ 1: format: 0x08
+ 2: checksum: 0xf891 (Ok)
+ 4: len: 0x0302 ( 770 bytes)
+ 8: named-token ( 0x0b6 ) garfield 0x800
+ 20: b(:) ( 0x0b7 )
+ 21: b(") ( 0x012 ) ( len=2 )
+ " if"
+ 25: type ( 0x090 )
+ 26: b?branch ( 0x014 ) 0x004e ( =dec 78 dest = 105 )
+ 29: b(") ( 0x012 ) ( len=5 )
+ " begin"
+ 36: type ( 0x090 )
+ 37: b(<mark) ( 0x0b1 )
+ 38: b(") ( 0x012 ) ( len=0x15 [21 bytes] )
+ " 0 if unloop exit then"
+ 61: type ( 0x090 )
+ 62: 0 ( 0x0a5 )
+ 63: b?branch ( 0x014 ) 0x0005 ( dest = 69 )
+ 66: unloop ( 0x089 )
+ 67: exit ( 0x033 )
+ 68: b(>resolve) ( 0x0b2 )
+ 69: b(") ( 0x012 ) ( len=0x15 [21 bytes] )
+ " Would you be leave..."
+ 92: type ( 0x090 )
+ 93: b(leave) ( 0x01b )
+ 94: b(") ( 0x012 ) ( len=5 )
+ " loop?"
+ 101: type ( 0x090 )
+ 102: b(loop) ( 0x015 ) 0xffbf ( =dec -65 dest = 38 )
+ 105: b(") ( 0x012 ) ( len=0x12 [18 bytes] )
+ " Done with garfield"
+ 125: type ( 0x090 )
+ 126: b(;) ( 0x0c2 )
+ 127: named-token ( 0x0b6 ) odie 0x801
+ 135: b(:) ( 0x0b7 )
+ 136: b(") ( 0x012 ) ( len=7 )
+ " 0 0 ?do"
+ 145: type ( 0x090 )
+ 146: 0 ( 0x0a5 )
+ 147: 0 ( 0x0a5 )
+ 148: b(?do) ( 0x018 ) 0x005b ( =dec 91 dest = 240 )
+ 151: b(") ( 0x012 ) ( len=6 )
+ " i drop"
+ 159: type ( 0x090 )
+ 160: i ( 0x019 )
+ 161: drop ( 0x046 )
+ 162: b(") ( 0x012 ) ( len=0x18 [24 bytes] )
+ " zero if unloop exit then"
+ 188: type ( 0x090 )
+ 189: 0 ( 0x0a5 )
+ 190: b?branch ( 0x014 ) 0x0005 ( dest = 196 )
+ 193: unloop ( 0x089 )
+ 194: exit ( 0x033 )
+ 195: b(>resolve) ( 0x0b2 )
+ 196: b(") ( 0x012 ) ( len=0x15 [21 bytes] )
+ " Who would be leave..."
+ 219: type ( 0x090 )
+ 220: b(leave) ( 0x01b )
+ 221: b(") ( 0x012 ) ( len=5 )
+ " again"
+ 228: type ( 0x090 )
+ 229: bbranch ( 0x013 ) 0xffb1 ( =dec -79 dest = 151 )
+ 232: b(") ( 0x012 ) ( len=4 )
+ " then"
+ 238: type ( 0x090 )
+ 239: b(>resolve) ( 0x0b2 )
+ 240: b(") ( 0x012 ) ( len=0xe [14 bytes] )
+ " Done with odie"
+ 256: type ( 0x090 )
+ 257: b(;) ( 0x0c2 )
+ 258: b(") ( 0x012 ) ( len=0x11 [17 bytes] )
+ " Outside of colon"
+ 277: type ( 0x090 )
+ 278: b(") ( 0x012 ) ( len=6 )
+ " 1 0 do"
+ 286: type ( 0x090 )
+ 287: 1 ( 0x0a6 )
+ 288: 0 ( 0x0a5 )
+ 289: b(do) ( 0x017 ) 0x004b ( =dec 75 dest = 365 )
+ 292: i ( 0x019 )
+ 293: named-token ( 0x0b6 ) what? 0x802
+ 302: b(constant) ( 0x0ba )
+ 303: b(") ( 0x012 ) ( len=0x28 [40 bytes] )
+ " This is actually supposed to be legit..."
+ 345: type ( 0x090 )
+ 346: b(") ( 0x012 ) ( len=5 )
+ " again"
+ 353: type ( 0x090 )
+ 354: bbranch ( 0x013 ) 0xffc1 ( =dec -63 dest = 292 )
+ 357: b(") ( 0x012 ) ( len=4 )
+ " then"
+ 363: type ( 0x090 )
+ 364: b(>resolve) ( 0x0b2 )
+ 365: b(") ( 0x012 ) ( len=0x17 [23 bytes] )
+ " Was that awful or what?"
+ 390: type ( 0x090 )
+ 391: b(lit) ( 0x010 ) 0x5000
+ 396: named-token ( 0x0b6 ) /DHCP-SCRATCH 0x803
+ 413: b(constant) ( 0x0ba )
+ 414: /DHCP-SCRATCH ( 0x803 )
+ 416: b(') ( 0x011 ) alloc-mem ( 0x08b )
+ 418: b(") ( 0x012 ) ( len=0x16 [22 bytes] )
+ " dhcp-scratch alloc-mem"
+ 442: type ( 0x090 )
+ 443: cr ( 0x092 )
+ 444: .s ( 0x09f )
+ 445: cr ( 0x092 )
+ 446: catch ( 0x217 )
+ 448: b(") ( 0x012 ) ( len=0x1c [28 bytes] )
+ " catch dhcp-scratch alloc-mem"
+ 478: type ( 0x090 )
+ 479: cr ( 0x092 )
+ 480: .s ( 0x09f )
+ 481: cr ( 0x092 )
+ 482: ?dup ( 0x050 )
+ 483: b?branch ( 0x014 ) 0x003b ( =dec 59 dest = 543 )
+ 486: b(") ( 0x012 ) ( len=0x13 [19 bytes] )
+ " alloc-mem Failed!!!"
+ 507: type ( 0x090 )
+ 508: cr ( 0x092 )
+ 509: .s ( 0x09f )
+ 510: cr ( 0x092 )
+ 511: throw ( 0x218 )
+ 513: b(") ( 0x012 ) ( len=0x16 [22 bytes] )
+ " This is also worng..."
+ 537: type ( 0x090 )
+ 538: exit ( 0x033 )
+ 539: bbranch ( 0x013 ) 0x0029 ( =dec 41 dest = 581 )
+ 542: b(>resolve) ( 0x0b2 )
+ 543: b(") ( 0x012 ) ( len=0xf [15 bytes] )
+ " alloc-mem okay."
+ 560: type ( 0x090 )
+ 561: .s ( 0x09f )
+ 562: cr ( 0x092 )
+ 563: named-token ( 0x0b6 ) DHCP-SCRATCH 0x804
+ 579: b(constant) ( 0x0ba )
+ 580: b(>resolve) ( 0x0b2 )
+ 581: named-token ( 0x0b6 ) crazy-aces 0x805
+ 595: b(:) ( 0x0b7 )
+ 596: b(case) ( 0x0c4 )
+ 597: 0 ( 0x0a5 )
+ 598: b(of) ( 0x01c ) 0x0000 ( dest = 599 )
+\ Error: Unresolved offset.
+ 601: b(") ( 0x012 ) ( len=0xd [13 bytes] )
+ " And a-nutt'n'"
+ 616: type ( 0x090 )
+ 617: 1 ( 0x0a6 )
+ 618: b(of) ( 0x01c ) 0x0000 ( dest = 619 )
+\ Error: Unresolved offset.
+ 621: b(") ( 0x012 ) ( len=9 )
+ " And a-won"
+ 632: type ( 0x090 )
+ 633: 2 ( 0x0a7 )
+ 634: b(of) ( 0x01c ) 0x0000 ( dest = 635 )
+\ Error: Unresolved offset.
+ 637: b(") ( 0x012 ) ( len=9 )
+ " And a-too"
+ 648: type ( 0x090 )
+ 649: 3 ( 0x0a8 )
+ 650: b(of) ( 0x01c ) 0x0000 ( dest = 651 )
+\ Error: Unresolved offset.
+ 653: b(") ( 0x012 ) ( len=0xa [10 bytes] )
+ " And a-tree"
+ 665: type ( 0x090 )
+ 666: b(lit) ( 0x010 ) 0x4
+ 671: b(of) ( 0x01c ) 0x0000 ( dest = 672 )
+\ Error: Unresolved offset.
+ 674: b(") ( 0x012 ) ( len=0xa [10 bytes] )
+ " and afford"
+ 686: type ( 0x090 )
+ 687: b(lit) ( 0x010 ) 0x5
+ 692: b(of) ( 0x01c ) 0x0028 ( =dec 40 dest = 733 )
+ 695: b(") ( 0x012 ) ( len=0xb [11 bytes] )
+ " Dat's enuff"
+ 708: type ( 0x090 )
+ 709: b(") ( 0x012 ) ( len=0x14 [20 bytes] )
+ " It's not my default!"
+ 731: type ( 0x090 )
+ 732: b(endcase) ( 0x0c5 )
+ 733: b(") ( 0x012 ) ( len=0x20 [32 bytes] )
+ " Just in case you end up here..."
+ 767: type ( 0x090 )
+ 768: b(;) ( 0x0c2 )
+ 769: end0 ( 0x000 )
+\ Detokenization finished normally after 770 bytes.
+End of file.
+
Added: fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.Log
===================================================================
--- fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.Log (rev 0)
+++ fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.Log 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,7 @@
+Welcome to toke - OpenBIOS tokenizer v0.6.8
+Copyright (c) 2001-2005 by Stefan Reinauer <stepan(a)openbios.org>
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License. This program has absolutely no warranty.
+
+toke: checksum is 0xf891 (770 bytes)
+toke: wrote 770 bytes to bytecode file 'ContErr0.OldTkzr.fc'
Added: fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.fc
===================================================================
(Binary files differ)
Property changes on: fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.OldTkzr.fc
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/OldTkzr/ContErr0.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,73 @@
+\ Test Erroneous Control Constructs, cunningly contrived
+\ to pass the "Old" tokenizer, which doesn't have the
+\ check for Control-Structure matching.
+
+\ Updated Thu, 29 Jun 2006 at 14:52 PDT by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+: garfield
+ ." if" if
+ ." begin" begin
+ \ \ Leave this out because Old tokenizer duzzent dew it rite....
+ \ ." Question-Leave?" ?leave
+ ." 0 if unloop exit then" 0 if unloop exit then
+ ." Would you be leave..." leave
+ ." loop?" loop
+ ." Done with garfield"
+;
+
+: odie
+ ." 0 0 ?do" 0 0 ?do
+ ." i drop" i drop
+ ." zero if unloop exit then" 0 if unloop exit then
+ ." Who would be leave..." leave
+ ." again" again
+ ." then" then
+ ." Done with odie"
+;
+
+." Outside of colon"
+." 1 0 do" 1 0 do
+ i constant what? ." This is actually supposed to be legit..."
+." again" again
+." then" then
+." Was that awful or what?"
+
+\ Snippet similar to something in Firmworks manual
+
+h# 5000 constant /DHCP-SCRATCH
+
+/DHCP-SCRATCH ( size ) ['] alloc-mem
+." dhcp-scratch alloc-mem" cr .s cr
+catch
+." catch dhcp-scratch alloc-mem" cr .s cr
+?dup if
+ ." alloc-mem Failed!!!" cr .s cr
+ throw
+ ." This is also worng..." exit
+else
+ ." alloc-mem okay." .s cr
+ ( vaddr )
+ ( vaddr ) constant DHCP-SCRATCH
+then
+
+\ A CASE statement where the ENDOFs are missing
+\ still passes the "Old" tokenizer.
+
+: crazy-aces ( n -- )
+ case
+ 0 of ." And a-nutt'n'"
+ 1 of ." And a-won"
+ 2 of ." And a-too"
+ 3 of ." And a-tree"
+ 4 of ." and afford"
+ 5 of ." Dat's enuff"
+ ( default ) ." It's not my default!"
+ endcase ." Just in case you end up here..."
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.DeTok
===================================================================
--- fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.DeTok (rev 0)
+++ fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.DeTok 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,42 @@
+\ Welcome to the OpenBIOS detokenizer v0.6.1
+\ detok Copyright(c) 2001-2005 by Stefan Reinauer.
+\ Written by Stefan Reinauer, <stepan(a)openbios.org>
+\ This program is free software; you may redistribute it under the terms of
+\ the GNU General Public License. This program has absolutely no warranty.
+\
+\ (C) Copyright 2005 IBM Corporation. All Rights Reserved.
+ 0: start1 ( 0x0f1 ) ( 16-bit offsets)
+ 1: format: 0x08
+ 2: checksum: 0x8805 (Ok)
+ 4: len: 0x0187 ( 391 bytes)
+ 8: b(") ( 0x012 ) ( len=0x2e [46 bytes] )
+ " Let's also test a few string-escape sequences:"
+ 56: type ( 0x090 )
+ 57: b(") ( 0x012 ) ( len=0x2c [44 bytes] )
+ " "( 09 )ab"( 0a )ew-line""uote"( 0d )eturn"( 0c )orm-feed"( 08 )ackspace"( 07 )ell"
+ 103: type ( 0x090 )
+ 104: b(") ( 0x012 ) ( len=0x20 [32 bytes] )
+ " "( 03 )ontrol-D:ontrol-brace is Escape"
+ 138: type ( 0x090 )
+ 139: b(") ( 0x012 ) ( len=0x1c [28 bytes] )
+ " First try these two in hex:"
+ 169: type ( 0x090 )
+ 170: b(") ( 0x012 ) ( len=0x2b [43 bytes] )
+ " Backslash-n"( 0a )NewLine"( 09 )TabJd-a-OneTwoThreeFour"
+ 215: type ( 0x090 )
+ 216: b(") ( 0x012 ) ( len=0x29 [41 bytes] )
+ " Backslashes on both ends:4OneTwoThreeFour"
+ 259: type ( 0x090 )
+ 260: b(") ( 0x012 ) ( len=0x24 [36 bytes] )
+ " Try them again, but now in decimal:"
+ 298: type ( 0x090 )
+ 299: b(") ( 0x012 ) ( len=0x2c [44 bytes] )
+ " Backslash-n"( 0a )NewLine"( 09 )Tab"( d2 )nd-a-OneTwoThreeFour"
+ 345: type ( 0x090 )
+ 346: b(") ( 0x012 ) ( len=0x29 [41 bytes] )
+ " Backslashes on both ends:"( d2 )OneTwoThreeFour"
+ 389: type ( 0x090 )
+ 390: end0 ( 0x000 )
+\ Detokenization finished normally after 391 bytes.
+End of file.
+
Added: fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.Log
===================================================================
--- fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.Log (rev 0)
+++ fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.Log 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,7 @@
+Welcome to toke - OpenBIOS tokenizer v0.6.8
+Copyright (c) 2001-2005 by Stefan Reinauer <stepan(a)openbios.org>
+This program is free software; you may redistribute it under the terms of
+the GNU General Public License. This program has absolutely no warranty.
+
+toke: checksum is 0x8805 (391 bytes)
+toke: wrote 391 bytes to bytecode file 'SimplStrEscs.OldTkzr.fc'
Added: fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.fc
===================================================================
(Binary files differ)
Property changes on: fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.OldTkzr.fc
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/OldTkzr/SimplStrEscs.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,22 @@
+\ A few simple string-escape sequences.
+\ See which ones the "Old" tokenizer handles differently...
+
+
+fcode-version2
+
+." Let's also test a few string-escape sequences:"
+." "ttab"nnew-line""quote"rreturn"fform-feed"bbackspace"!bell"
+." "^Dcontrol-D"^{Control-brace is Escape"
+
+." First try these two in hex:"
+hex
+
+." Backslash-n\nNewLine\tTab\1234And-a-OneTwoThreeFour"
+." Backslashes on both ends:\1234\OneTwoThreeFour"
+
+." Try them again, but now in decimal:"
+decimal
+." Backslash-n\nNewLine\tTab\1234And-a-OneTwoThreeFour"
+." Backslashes on both ends:\1234\OneTwoThreeFour"
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/OneBeer.fc
===================================================================
Added: fcode-utils/testsuite/TokMisc/StrAtEof.fld.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/StrAtEof.fld.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/StrAtEof.fld.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,11 @@
+\ We seem to have stumbled on another bug, manifested by
+\ a string at the end of an "floaded" file, i.e.,
+\ no blank line after a string at the end of that file.
+\
+\ This is the "floadable" file.
+\
+\ Updated Tue, 12 Apr 2005 at 16:34 by David L. Paktor
+
+
+\ Make sure there's no blank line after this next line:
+." Hi!"
Added: fcode-utils/testsuite/TokMisc/StrAtEof.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/StrAtEof.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/StrAtEof.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,18 @@
+\ We seem to have stumbled on another bug, manifested by
+\ a string at the end of an "floaded" file, i.e.,
+\ no blank line after a string at the end of that file.
+\
+\ Main file to test it
+\
+\ Updated Tue, 12 Apr 2005 at 17:50 by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+fload StrAtEof.fld.fth
+
+." Try "^a"^b"^c"^d"^[ and "^aand"^band"^cetc.?"
+." Are we still processing strings okay?"
+fcode-end
Added: fcode-utils/testsuite/TokMisc/StrEscs.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/StrEscs.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/StrEscs.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,19 @@
+\ String-Escapes test...
+
+\ Updated Mon, 11 Jul 2005 at 16:44 by David L. Paktor
+
+
+fcode-version2
+
+headers hex
+
+." What about "( 1c cd e6 \ The rest of this line should be a comment
+ c7 )?"
+." Is "\ the rest of this line a comment?"
+X and a new start " \ This should do it.
+0 is my-self \ Is it still keeping line numbers straight?
+." Or a way to get a "\ backslash?"
+ Y not " \ Or not...
+0 is my-self \ Is it still keeping line numbers straight?
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/StrEscs_01.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/StrEscs_01.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/StrEscs_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,11 @@
+\ It's not about the unterminated String
+\ it's about the lack of fcode-end
+
+\ Updated Tue, 12 Jul 2005 at 09:58 by David L. Paktor
+
+fcode-version2
+
+headers hex
+
+\ What if we don't have an fcode-end here?
+." Why not?"
Added: fcode-utils/testsuite/TokMisc/StringsGenl.DOS.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/StringsGenl.DOS.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/StringsGenl.DOS.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,43 @@
+\ Test of various formats of strings
+
+\ Updated Tue, 12 Jul 2005 at 17:19 by David L. Paktor
+
+fcode-version2
+
+headers hex
+
+."
+Empty string next."
+." "
+." BSlashes: \t\1fea9\abdc\n\1f\\fece"
+decimal
+." BSlashes: \t\a7\c01a"
+hex
+." BSlashes: \n\a7\c01a"
+." BSlashes: \t\a7\\c0\\1a"
+." BSlashes: \t\a7\\c0\\1a"( feedface)"
+." 3 BSlashes, then QOpen. \t\Q\n"(090abcdefeca8e beeffece b020)Zoh. "(1 23 4 567 8 9 0 1 2 3 0 a b c 30)"
+.( Dot-Paren-NoSpace)cr cr
+.( Dot-Paren Space) cr cr
+." QEscapes: "p"b"n"zz"
+." QEscapes: ""Q"nn"rr"tt"ff"ll"bb"!!"^[UpBrack"zz"
+0 is my-self \ Is it keeping line numbers straight?
+" Quote"" Quote" type cr
+s" Ess-Quote"type cr
+." Cross
+the
+line.
+Three times."
+0 is my-self \ Is it still keeping line numbers straight?
+." Can I get a \ backslash?"
+." Like this \\ maybe?"
+." What about "( 1c cd e6 \ The rest of this line should be a comment
+ c7 )?"
+." Is "\ the rest of this line a comment?"
+\ " \ This should do it.
+0 is my-self \ Is it still keeping line numbers straight?
+." Or a way to get a "\ backslash?"
+\ " \ Or not...
+0 is my-self \ Is it still keeping line numbers straight?
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/StringsGenl.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/StringsGenl.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/StringsGenl.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,46 @@
+\ Test of various formats of strings
+
+\ Updated Mon, 06 Mar 2006 at 17:39 PST by David L. Paktor
+
+fcode-version2
+
+headers hex
+
+."
+Empty string next."
+." "
+." BSlashes: \t\1fea9\abdc\n\1f\\fece"
+decimal
+." BSlashes: \t\a7\c01a"
+hex
+." BSlashes: \n\a7\c01a"
+." BSlashes: \t\a7\\c0\\1a"
+." BSlashes: \t\a7\\c0\\1a"( feedface)"
+." 3 BSlashes, then QOpen. \t\Q\n"(090abcdefeca8e beeffece b020)Zoh. "(1 23 4 567 8 9 0 1 2 3 0 a b c 30)"
+.( Dot-Paren-NoSpace)cr cr
+.( Dot-Paren Space) cr cr
+." QEscapes: "p"b"n"zz"
+." QEscapes: ""Q"nn"rr"tt"ff"ll"bb"!!"^[UpBrack"zz"
+0 is my-self \ Is it keeping line numbers straight?
+" Quote"" Quote" type cr
+s" Ess-Quote"type cr
+." Cross
+the
+line.
+Three times."
+0 is my-self \ Is it still keeping line numbers straight?
+." Can I get a \ backslash?"
+." Like this \\ maybe?"
+." What about "( 1c cd e6 \ The rest of this line should be a comment
+ c7 )?"
+." Is "\ the rest of this line a comment?"
+\ " \ This should do it.
+0 is my-self \ Is it still keeping line numbers straight?
+." Or a way to get a "\ backslash?"
+\ " \ Or not...
+0 is my-self \ Is it still keeping line numbers straight?
+
+: glemph!" " glemph!""" evaluate ;
+\ What does the " do?
+
+fcode-end
Added: fcode-utils/testsuite/TokMisc/TestArgs
===================================================================
--- fcode-utils/testsuite/TokMisc/TestArgs (rev 0)
+++ fcode-utils/testsuite/TokMisc/TestArgs 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,71 @@
+# Automated Test Arguments file for TokMisc category
+
+# Valid lines have four comma-separated fields:
+# Test-file base-name
+# Result-file label
+# Extra command-line switches
+# A script-command with arguments (but no commas).
+# 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
+
+MiscFeatures , , -i
+MiscFeatures , applabq , -i -f NOSUN-ABORT-Quote
+MiscFeatures , noabrtq , -i -f noABort-quote
+MiscFeatures.DOS , , -i
+EncodTst
+StrAtEof , , -l
+# Script is to help set up for Batch Test at end...
+StringsGenl , , , cp StringsGenl.fth StringsGenl_cpy1.fth ; cp StringsGenl_cpy1.fth StringsGenl_cpy2.fth
+StringsGenl , nocstesc , -f NOC-STYLe-string-escape
+StringsGenl , nohexrmk , -f noHex-remark-escape
+StringsGenl , noqbsrmk , -f NOSTRING-REMARK-ESCAPE
+BasicCont
+ExtCont
+OldTkzr/ContErr0 , , -i
+ContErr1 , , -i
+ContErr2 , , -i
+ContErr3 , , -i
+MulDev , , -i
+MulDev_01 , , -i
+MulDev_02 , , -i -T jeeky -T kinky
+MinPCIHtst
+OldTkzr/SimplStrEscs
+StrEscs
+StrEscs_01
+FlagSet , , -i
+FlagSet , badclf , -i -f McGillicuddy -f ORoark -f NoFrauBlucher
+TooLargeBufferMulPciFcb , , -l
+BranchOverNewBuffer , , -l
+AbrtQuot , , -i
+AbrtQuot , noabrtq , -i -f NOabort-Quote
+AbrtQuot , applabq , -i -f noSUN-abort-QUOte
+AbrtQuot , noabqthrw , -i -f noABORT-Quote-Throw
+HeadrSettings
+HeadrSettings , alwyshdr , -f always-heADERs
+HeadrSettings , alwyextl , -f alwaYS-External
+HeadrSettings , alwaysboth , -f always-headers -f always-external
+FlagsHelp , , -f HELP
+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
+FlagsHelp , JustNoHlp , -f noHelp
+FlgReset , Solo
+FlgReset FlgReset_1 FlgReset_2
+FlgReset FlgReset_1 FlgReset_2 , AlwExt , -f Always-External
+AllMacros , , , ExamAllMacs.scr
+
+# A little more set-up for Batch Test
+UserMacros , , , cp UserMacros.fth UserMacros_cpy1.fth
+
+BatchTst StringsGenl_cpy1 FlagSet , , -l sub.w.dots/MulDev ../TokeCommon/ZeroLen.bin ../TokeCommon/OneBeer.fth NoBeerAnywhere.fth , if ( "`cmp StringsGenl.fc StringsGenl_cpy1.fc`" != "" ) /bin/ls -l $PWD/StringsGenl.fc $PWD/StringsGenl_cpy1.fc >> BatchTst.Log ; diff StringsGenl.DeTok StringsGenl_cpy1.DeTok >> BatchTst.Log
+
+BatchTst StringsGenl_cpy2 FlagSet UserMacros_cpy1 , wIncLst , -I '' -I. -I../TokeCommon -P -l sub.w.dots/MulDev OneBeer.fth ZeroLen.bin NoBeerAnywhere.fth , if ( "`cmp StringsGenl.fc StringsGenl_cpy2.fc`" != "" ) /bin/ls -l $PWD/StringsGenl.fc $PWD/StringsGenl_cpy2.fc >> BatchTst.wIncLst.Log ; diff StringsGenl.DeTok StringsGenl_cpy2.DeTok >> BatchTst.wIncLst.Log
+
+BatchTst , FHelp , -I. -I../TokeCommon -l -f help , if ( "`cmp UserMacros.fc UserMacros_cpy1.fc`" != "" ) /bin/ls -l $PWD/UserMacros.fc $PWD/UserMacros_cpy1.fc >> BatchTst.FHelp.Log ; diff UserMacros.DeTok UserMacros_cpy1.DeTok >> BatchTst.FHelp.Log
+
+# Script is to clean up the "dross" from the above...
+BatchTst , Help , -I. -I../TokeCommon -l -h , rm *_cpy*
+
+CaseTkns
Added: fcode-utils/testsuite/TokMisc/TooLargeBeerBuffer_body.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/TooLargeBeerBuffer_body.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/TooLargeBeerBuffer_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,2587 @@
+[message] Starting out with six hundred and forty-six Bottles of Beer on the wall
+." Oh, six hundred and forty-six Bottles of Beer on the wall," cr
+." six hundred and forty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty-five Bottles of Beer on the wall." cr
+." Oh, six hundred and forty-five Bottles of Beer on the wall," cr
+." six hundred and forty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty-four Bottles of Beer on the wall." cr
+." Oh, six hundred and forty-four Bottles of Beer on the wall," cr
+." six hundred and forty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty-three Bottles of Beer on the wall." cr
+." Oh, six hundred and forty-three Bottles of Beer on the wall," cr
+." six hundred and forty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty-two Bottles of Beer on the wall." cr
+." Oh, six hundred and forty-two Bottles of Beer on the wall," cr
+." six hundred and forty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty-one Bottles of Beer on the wall." cr
+." Oh, six hundred and forty-one Bottles of Beer on the wall," cr
+." six hundred and forty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and forty Bottles of Beer on the wall." cr
+." Oh, six hundred and forty Bottles of Beer on the wall," cr
+." six hundred and forty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-nine Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-nine Bottles of Beer on the wall," cr
+." six hundred and thirty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-eight Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-eight Bottles of Beer on the wall," cr
+." six hundred and thirty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-seven Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-seven Bottles of Beer on the wall," cr
+." six hundred and thirty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-six Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-six Bottles of Beer on the wall," cr
+." six hundred and thirty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-five Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-five Bottles of Beer on the wall," cr
+." six hundred and thirty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-four Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-four Bottles of Beer on the wall," cr
+." six hundred and thirty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-three Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-three Bottles of Beer on the wall," cr
+." six hundred and thirty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-two Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-two Bottles of Beer on the wall," cr
+." six hundred and thirty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty-one Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty-one Bottles of Beer on the wall," cr
+." six hundred and thirty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirty Bottles of Beer on the wall." cr
+." Oh, six hundred and thirty Bottles of Beer on the wall," cr
+." six hundred and thirty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-nine Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-nine Bottles of Beer on the wall," cr
+." six hundred and twenty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-eight Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-eight Bottles of Beer on the wall," cr
+." six hundred and twenty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-seven Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-seven Bottles of Beer on the wall," cr
+." six hundred and twenty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-six Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-six Bottles of Beer on the wall," cr
+." six hundred and twenty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-five Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-five Bottles of Beer on the wall," cr
+." six hundred and twenty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-four Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-four Bottles of Beer on the wall," cr
+." six hundred and twenty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-three Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-three Bottles of Beer on the wall," cr
+." six hundred and twenty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-two Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-two Bottles of Beer on the wall," cr
+." six hundred and twenty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty-one Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty-one Bottles of Beer on the wall," cr
+." six hundred and twenty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twenty Bottles of Beer on the wall." cr
+." Oh, six hundred and twenty Bottles of Beer on the wall," cr
+." six hundred and twenty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and nineteen Bottles of Beer on the wall." cr
+." Oh, six hundred and nineteen Bottles of Beer on the wall," cr
+." six hundred and nineteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and eighteen Bottles of Beer on the wall." cr
+." Oh, six hundred and eighteen Bottles of Beer on the wall," cr
+." six hundred and eighteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and seventeen Bottles of Beer on the wall." cr
+." Oh, six hundred and seventeen Bottles of Beer on the wall," cr
+." six hundred and seventeen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and sixteen Bottles of Beer on the wall." cr
+." Oh, six hundred and sixteen Bottles of Beer on the wall," cr
+." six hundred and sixteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and fifteen Bottles of Beer on the wall." cr
+." Oh, six hundred and fifteen Bottles of Beer on the wall," cr
+." six hundred and fifteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and fourteen Bottles of Beer on the wall." cr
+." Oh, six hundred and fourteen Bottles of Beer on the wall," cr
+." six hundred and fourteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and thirteen Bottles of Beer on the wall." cr
+." Oh, six hundred and thirteen Bottles of Beer on the wall," cr
+." six hundred and thirteen Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and twelve Bottles of Beer on the wall." cr
+." Oh, six hundred and twelve Bottles of Beer on the wall," cr
+." six hundred and twelve Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and eleven Bottles of Beer on the wall." cr
+." Oh, six hundred and eleven Bottles of Beer on the wall," cr
+." six hundred and eleven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and ten Bottles of Beer on the wall." cr
+." Oh, six hundred and ten Bottles of Beer on the wall," cr
+." six hundred and ten Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and nine Bottles of Beer on the wall." cr
+." Oh, six hundred and nine Bottles of Beer on the wall," cr
+." six hundred and nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and eight Bottles of Beer on the wall." cr
+." Oh, six hundred and eight Bottles of Beer on the wall," cr
+." six hundred and eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and seven Bottles of Beer on the wall." cr
+." Oh, six hundred and seven Bottles of Beer on the wall," cr
+." six hundred and seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and six Bottles of Beer on the wall." cr
+." Oh, six hundred and six Bottles of Beer on the wall," cr
+." six hundred and six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and five Bottles of Beer on the wall." cr
+." Oh, six hundred and five Bottles of Beer on the wall," cr
+." six hundred and five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and four Bottles of Beer on the wall." cr
+." Oh, six hundred and four Bottles of Beer on the wall," cr
+." six hundred and four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and three Bottles of Beer on the wall." cr
+." Oh, six hundred and three Bottles of Beer on the wall," cr
+." six hundred and three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and two Bottles of Beer on the wall." cr
+." Oh, six hundred and two Bottles of Beer on the wall," cr
+." six hundred and two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred and one Bottles of Beer on the wall." cr
+." Oh, six hundred and one Bottles of Beer on the wall," cr
+." six hundred and one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." six hundred Bottles of Beer on the wall." cr
+." Oh, six hundred Bottles of Beer on the wall," cr
+." six hundred Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-nine Bottles of Beer on the wall," cr
+." five hundred and ninety-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-eight Bottles of Beer on the wall," cr
+." five hundred and ninety-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-seven Bottles of Beer on the wall," cr
+." five hundred and ninety-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-six Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-six Bottles of Beer on the wall," cr
+." five hundred and ninety-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-five Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-five Bottles of Beer on the wall," cr
+." five hundred and ninety-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-four Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-four Bottles of Beer on the wall," cr
+." five hundred and ninety-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-three Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-three Bottles of Beer on the wall," cr
+." five hundred and ninety-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-two Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-two Bottles of Beer on the wall," cr
+." five hundred and ninety-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety-one Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety-one Bottles of Beer on the wall," cr
+." five hundred and ninety-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and ninety Bottles of Beer on the wall." cr
+." Oh, five hundred and ninety Bottles of Beer on the wall," cr
+." five hundred and ninety Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-nine Bottles of Beer on the wall," cr
+." five hundred and eighty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-eight Bottles of Beer on the wall," cr
+." five hundred and eighty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-seven Bottles of Beer on the wall," cr
+." five hundred and eighty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-six Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-six Bottles of Beer on the wall," cr
+." five hundred and eighty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-five Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-five Bottles of Beer on the wall," cr
+." five hundred and eighty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-four Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-four Bottles of Beer on the wall," cr
+." five hundred and eighty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-three Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-three Bottles of Beer on the wall," cr
+." five hundred and eighty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-two Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-two Bottles of Beer on the wall," cr
+." five hundred and eighty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty-one Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty-one Bottles of Beer on the wall," cr
+." five hundred and eighty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and eighty Bottles of Beer on the wall." cr
+." Oh, five hundred and eighty Bottles of Beer on the wall," cr
+." five hundred and eighty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-nine Bottles of Beer on the wall," cr
+." five hundred and seventy-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-eight Bottles of Beer on the wall," cr
+." five hundred and seventy-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-seven Bottles of Beer on the wall," cr
+." five hundred and seventy-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-six Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-six Bottles of Beer on the wall," cr
+." five hundred and seventy-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-five Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-five Bottles of Beer on the wall," cr
+." five hundred and seventy-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-four Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-four Bottles of Beer on the wall," cr
+." five hundred and seventy-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-three Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-three Bottles of Beer on the wall," cr
+." five hundred and seventy-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-two Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-two Bottles of Beer on the wall," cr
+." five hundred and seventy-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy-one Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy-one Bottles of Beer on the wall," cr
+." five hundred and seventy-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and seventy Bottles of Beer on the wall." cr
+." Oh, five hundred and seventy Bottles of Beer on the wall," cr
+." five hundred and seventy Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-nine Bottles of Beer on the wall," cr
+." five hundred and sixty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-eight Bottles of Beer on the wall," cr
+." five hundred and sixty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-seven Bottles of Beer on the wall," cr
+." five hundred and sixty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-six Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-six Bottles of Beer on the wall," cr
+." five hundred and sixty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-five Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-five Bottles of Beer on the wall," cr
+." five hundred and sixty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-four Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-four Bottles of Beer on the wall," cr
+." five hundred and sixty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-three Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-three Bottles of Beer on the wall," cr
+." five hundred and sixty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-two Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-two Bottles of Beer on the wall," cr
+." five hundred and sixty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty-one Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty-one Bottles of Beer on the wall," cr
+." five hundred and sixty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and sixty Bottles of Beer on the wall." cr
+." Oh, five hundred and sixty Bottles of Beer on the wall," cr
+." five hundred and sixty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-nine Bottles of Beer on the wall," cr
+." five hundred and fifty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-eight Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-eight Bottles of Beer on the wall," cr
+." five hundred and fifty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-seven Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-seven Bottles of Beer on the wall," cr
+." five hundred and fifty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-six Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-six Bottles of Beer on the wall," cr
+." five hundred and fifty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-five Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-five Bottles of Beer on the wall," cr
+." five hundred and fifty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-four Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-four Bottles of Beer on the wall," cr
+." five hundred and fifty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-three Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-three Bottles of Beer on the wall," cr
+." five hundred and fifty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-two Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-two Bottles of Beer on the wall," cr
+." five hundred and fifty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty-one Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty-one Bottles of Beer on the wall," cr
+." five hundred and fifty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and fifty Bottles of Beer on the wall." cr
+." Oh, five hundred and fifty Bottles of Beer on the wall," cr
+." five hundred and fifty Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-nine Bottles of Beer on the wall." cr
+." Oh, five hundred and forty-nine Bottles of Beer on the wall," cr
+." five hundred and forty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." five hundred and forty-eight Bottles of Beer on the wall." cr
+."