OpenBIOS
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1999 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1998 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1997 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1996 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1995 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1994 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1993 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1992 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1991 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1990 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1989 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1988 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1987 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1986 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1985 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1984 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1983 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1982 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1981 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1980 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1979 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1978 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1977 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1976 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1975 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1974 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1973 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1972 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1971 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1970 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1969 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1968 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1967 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1966 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1965 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1964 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1963 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1962 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1961 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1960 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1959 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1958 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1957 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1956 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1955 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1954 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1953 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1952 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1951 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1950 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1949 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1948 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1947 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1946 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1945 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1944 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1943 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1942 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1941 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1940 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1939 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1938 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1937 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1936 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1935 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1934 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1933 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1932 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1931 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1930 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1929 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1928 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1927 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1926 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1925 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1924 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1923 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1922 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1921 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1920 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1919 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1918 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1917 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1916 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1915 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1914 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1913 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1912 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1911 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1910 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1909 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1908 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1907 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1906 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1905 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1904 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
October 2006
- 14 participants
- 38 discussions

r98 - in fcode-utils: . detok testsuite testsuite/TokMisc testsuite/TokeCommon toke
by svn@openbios.org Oct. 15, 2006
by svn@openbios.org Oct. 15, 2006
Oct. 15, 2006
Author: stepan
Date: 2006-10-15 20:54:09 +0200 (Sun, 15 Oct 2006)
New Revision: 98
Removed:
fcode-utils/testsuite/TokMisc/OneBeer.fc
fcode-utils/testsuite/TokeCommon/OneBeer.fl
Modified:
fcode-utils/Makefile
fcode-utils/detok/Makefile
fcode-utils/testsuite/Makefile
fcode-utils/toke/Makefile
Log:
clean up build system
Modified: fcode-utils/Makefile
===================================================================
--- fcode-utils/Makefile 2006-10-15 16:37:02 UTC (rev 97)
+++ fcode-utils/Makefile 2006-10-15 18:54:09 UTC (rev 98)
@@ -42,6 +42,8 @@
make -C detok distclean
make -C romheaders distclean
make -C testsuite distclean
+ find . -name "*.gcda" -exec rm -f \{\} \;
+ find . -name "*.gcno" -exec rm -f \{\} \;
tests: all
cp toke/toke testsuite
Modified: fcode-utils/detok/Makefile
===================================================================
--- fcode-utils/detok/Makefile 2006-10-15 16:37:02 UTC (rev 97)
+++ fcode-utils/detok/Makefile 2006-10-15 18:54:09 UTC (rev 98)
@@ -27,10 +27,19 @@
CC = gcc
STRIP = strip
INCLUDES = -I../shared
-#CFLAGS = -O2 -g -Wall
-CFLAGS = -Os -Wall -Wno-pointer-sign
+
+# Normal Flags:
+CFLAGS = -O2 -Wall -Wno-pointer-sign
LDFLAGS =
+# Coverage:
+#CFLAGS := $(CFLAGS) -fprofile-arcs -ftest-coverage
+#LDFLAGS := $(LDFLAGS) -lgcov
+
+# Debugging:
+#CFLAGS := $(CFLAGS) -g
+
+
OBJS = addfcodes.o decode.o detok.o dictionary.o pcihdr.o printformats.o \
stream.o ../shared/classcodes.o
Modified: fcode-utils/testsuite/Makefile
===================================================================
--- fcode-utils/testsuite/Makefile 2006-10-15 16:37:02 UTC (rev 97)
+++ fcode-utils/testsuite/Makefile 2006-10-15 18:54:09 UTC (rev 98)
@@ -4,9 +4,9 @@
clean:
- find . -name "*.DeTok" -exec rm -f \{\} \;
- find . -name "*.Log" -a ! -name "*..OldTkzr.Log" -exec rm -f \{\} \;
- find . -name "*.fc" -exec rm -f \{\} \;
+ find . -name "*.DeTok" -a ! -name "*.OldTkzr.DeTok" -exec rm -f \{\} \;
+ find . -name "*.Log" -a ! -name "*.OldTkzr.Log" -exec rm -f \{\} \;
+ find . -name "*.fc" -a ! -name "*.OldTkzr.fc" -exec rm -f \{\} \;
find . -name "*.fl" -exec rm -f \{\} \;
find . -name "*.RomHdr" -exec rm -f \{\} \;
find . -name "*.P" -exec rm -f \{\} \;
Deleted: fcode-utils/testsuite/TokMisc/OneBeer.fc
===================================================================
Deleted: fcode-utils/testsuite/TokeCommon/OneBeer.fl
===================================================================
Modified: fcode-utils/toke/Makefile
===================================================================
--- fcode-utils/toke/Makefile 2006-10-15 16:37:02 UTC (rev 97)
+++ fcode-utils/toke/Makefile 2006-10-15 18:54:09 UTC (rev 98)
@@ -28,15 +28,17 @@
STRIP = strip
INCLUDES = -I../shared
-# No coverage:
-#CFLAGS = -O2 -g -Wall
-CFLAGS = -Os -Wall -Wno-pointer-sign -fno-strict-aliasing -DSYS_IS_GNU_Linux
+# Normal flags
+CFLAGS = -O2 -Wall -Wno-pointer-sign -fno-strict-aliasing -DSYS_IS_GNU_Linux
LDFLAGS =
# Coverage:
-#CFLAGS = -O2 -fprofile-arcs -ftest-coverage -Wall -Wno-pointer-sign -DSYS_IS_GNU_Linux
-#LDFLAGS = -lgcov
+#CFLAGS := $(CFLAGS) -fprofile-arcs -ftest-coverage
+#LDFLAGS := $(LDFLAGS) -lgcov
+# Debugging:
+# CFLAGS := $(CFLAGS) -g
+
OBJS = clflags.o conditl.o devnode.o dictionary.o emit.o errhandler.o \
flowcontrol.o macros.o nextfcode.o parselocals.o scanner.o stack.o \
stream.o strsubvocab.o ticvocab.o toke.o tokzesc.o tracesyms.o \
1
0
Author: stepan
Date: 2006-10-15 18:37:02 +0200 (Sun, 15 Oct 2006)
New Revision: 97
Added:
fcode-utils/testsuite/Makefile
Modified:
fcode-utils/Makefile
fcode-utils/toke/Makefile
Log:
add test execution to Makefile
Modified: fcode-utils/Makefile
===================================================================
--- fcode-utils/Makefile 2006-10-14 21:32:13 UTC (rev 96)
+++ fcode-utils/Makefile 2006-10-15 16:37:02 UTC (rev 97)
@@ -35,13 +35,20 @@
make -C toke clean
make -C detok clean
make -C romheaders clean
+ make -C testsuite clean
distclean: clean
make -C toke distclean
make -C detok distclean
make -C romheaders distclean
+ make -C testsuite distclean
+tests: all
+ cp toke/toke testsuite
+ cp detok/detok testsuite
+ cp romheaders/romheaders testsuite
+ make -C testsuite all
-.PHONY: all clean distclean toke detok romheaders
+.PHONY: all clean distclean toke detok romheaders tests
Added: fcode-utils/testsuite/Makefile
===================================================================
--- fcode-utils/testsuite/Makefile (rev 0)
+++ fcode-utils/testsuite/Makefile 2006-10-15 16:37:02 UTC (rev 97)
@@ -0,0 +1,16 @@
+all:
+ @echo "starting testsuite"
+ @csh AutoExec
+
+
+clean:
+ find . -name "*.DeTok" -exec rm -f \{\} \;
+ find . -name "*.Log" -a ! -name "*..OldTkzr.Log" -exec rm -f \{\} \;
+ find . -name "*.fc" -exec rm -f \{\} \;
+ find . -name "*.fl" -exec rm -f \{\} \;
+ find . -name "*.RomHdr" -exec rm -f \{\} \;
+ find . -name "*.P" -exec rm -f \{\} \;
+ find . -name "*.missing" -exec rm -f \{\} \;
+
+distclean: clean
+ rm -f toke detok romheaders
Modified: fcode-utils/toke/Makefile
===================================================================
--- fcode-utils/toke/Makefile 2006-10-14 21:32:13 UTC (rev 96)
+++ fcode-utils/toke/Makefile 2006-10-15 16:37:02 UTC (rev 97)
@@ -30,7 +30,7 @@
# No coverage:
#CFLAGS = -O2 -g -Wall
-CFLAGS = -Os -Wall -Wno-pointer-sign -DSYS_IS_GNU_Linux
+CFLAGS = -Os -Wall -Wno-pointer-sign -fno-strict-aliasing -DSYS_IS_GNU_Linux
LDFLAGS =
# Coverage:
1
0
Author: stepan
Date: 2006-10-14 23:32:13 +0200 (Sat, 14 Oct 2006)
New Revision: 96
Modified:
fcode-utils/detok/addfcodes.c
fcode-utils/detok/addfcodes.h
fcode-utils/detok/decode.c
fcode-utils/detok/detok.c
fcode-utils/detok/detok.h
fcode-utils/detok/dictionary.c
fcode-utils/detok/pcihdr.c
fcode-utils/detok/printformats.c
fcode-utils/detok/stream.c
fcode-utils/detok/stream.h
Log:
fix indentation
Modified: fcode-utils/detok/addfcodes.c
===================================================================
--- fcode-utils/detok/addfcodes.c 2006-10-14 21:07:27 UTC (rev 95)
+++ fcode-utils/detok/addfcodes.c 2006-10-14 21:32:13 UTC (rev 96)
@@ -97,17 +97,15 @@
*
**************************************************************************** */
-static void skip_whitespace( char **string_line_ptr)
+static void skip_whitespace(char **string_line_ptr)
{
- char *cur_char_ptr = *string_line_ptr;
- for ( ; *cur_char_ptr != 0 ; cur_char_ptr++ )
- {
- if ( (*cur_char_ptr != '\t') && (*cur_char_ptr != ' ') )
- {
- *string_line_ptr = cur_char_ptr;
- break;
+ char *cur_char_ptr = *string_line_ptr;
+ for (; *cur_char_ptr != 0; cur_char_ptr++) {
+ if ((*cur_char_ptr != '\t') && (*cur_char_ptr != ' ')) {
+ *string_line_ptr = cur_char_ptr;
+ break;
+ }
}
- }
}
/* **************************************************************************
@@ -134,24 +132,26 @@
*
**************************************************************************** */
-static bool get_next_vfc_line( void )
+static bool get_next_vfc_line(void)
{
- bool retval = FALSE; /* TRUE = not at end yet */
- while ( vfc_remainder < vfc_buf_end )
- {
- current_vfc_line = vfc_remainder;
- vfc_remainder = strchr( current_vfc_line, '\n');
- *vfc_remainder = 0;
- vfc_remainder++;
- vfc_line_no++;
- skip_whitespace( ¤t_vfc_line);
- if ( *current_vfc_line == 0 ) continue; /* Blank line */
- if ( *current_vfc_line == '#' ) continue; /* Comment */
- if ( *current_vfc_line == '\\' ) continue; /* Comment */
- retval = TRUE;
- break; /* Found something */
- }
- return( retval);
+ bool retval = FALSE; /* TRUE = not at end yet */
+ while (vfc_remainder < vfc_buf_end) {
+ current_vfc_line = vfc_remainder;
+ vfc_remainder = strchr(current_vfc_line, '\n');
+ *vfc_remainder = 0;
+ vfc_remainder++;
+ vfc_line_no++;
+ skip_whitespace(¤t_vfc_line);
+ if (*current_vfc_line == 0)
+ continue; /* Blank line */
+ if (*current_vfc_line == '#')
+ continue; /* Comment */
+ if (*current_vfc_line == '\\')
+ continue; /* Comment */
+ retval = TRUE;
+ break; /* Found something */
+ }
+ return (retval);
}
/* **************************************************************************
@@ -176,20 +176,19 @@
*
**************************************************************************** */
static bool did_not_splash = TRUE;
-static void vfc_splash( char *vf_file_name)
+static void vfc_splash(char *vf_file_name)
{
- if ( did_not_splash )
- {
- /* Temporary substring buffer */
- /* Guarantee that the malloc will be big enough. */
- char *strbfr = malloc( strlen( vf_file_name) +65 ) ;
- sprintf( strbfr,
- "Reading additional FCodes from file: %s\n",
- vf_file_name);
- printremark( strbfr);
- free( strbfr);
- did_not_splash = FALSE;
- }
+ if (did_not_splash) {
+ /* Temporary substring buffer */
+ /* Guarantee that the malloc will be big enough. */
+ char *strbfr = malloc(strlen(vf_file_name) + 65);
+ sprintf(strbfr,
+ "Reading additional FCodes from file: %s\n",
+ vf_file_name);
+ printremark(strbfr);
+ free(strbfr);
+ did_not_splash = FALSE;
+ }
}
/* **************************************************************************
@@ -240,104 +239,98 @@
*
**************************************************************************** */
-bool add_fcodes_from_list( char *vf_file_name)
+bool add_fcodes_from_list(char *vf_file_name)
{
- bool retval = FALSE;
- int added_fc_count = 0;
- check_tok_seq = FALSE;
+ bool retval = FALSE;
+ int added_fc_count = 0;
+ check_tok_seq = FALSE;
- if ( verbose ) vfc_splash( vf_file_name);
+ if (verbose)
+ vfc_splash(vf_file_name);
- if ( init_stream( vf_file_name) != 0 )
- {
- char *strbfr = malloc( strlen( vf_file_name) +65 );
- sprintf( strbfr,
- "Could not open Additional FCodes file: %s\n",
- vf_file_name);
- printremark( strbfr);
- free( strbfr);
- exit(1);
- }
- vfc_remainder = indata;
- vfc_buf_end = indata + stream_max -1;
+ if (init_stream(vf_file_name) != 0) {
+ char *strbfr = malloc(strlen(vf_file_name) + 65);
+ sprintf(strbfr,
+ "Could not open Additional FCodes file: %s\n",
+ vf_file_name);
+ printremark(strbfr);
+ free(strbfr);
+ exit(1);
+ }
+ vfc_remainder = indata;
+ vfc_buf_end = indata + stream_max - 1;
- while ( get_next_vfc_line() )
- {
- char vs_fc_name[36];
- int vs_fc_number;
- int scan_result;
- char *lookup_result;
- char *fc_name_cpy;
+ while (get_next_vfc_line()) {
+ char vs_fc_name[36];
+ int vs_fc_number;
+ int scan_result;
+ char *lookup_result;
+ char *fc_name_cpy;
- scan_result = sscanf( current_vfc_line, "0x%x %32s",
- &vs_fc_number, vs_fc_name);
+ scan_result = sscanf(current_vfc_line, "0x%x %32s",
+ &vs_fc_number, vs_fc_name);
- if ( scan_result != 2 ) /* Allow a capital 0X */
- {
- scan_result = sscanf( current_vfc_line, "0X%x %32s",
- &vs_fc_number, vs_fc_name);
- }
- if ( scan_result != 2 ) /* Try it without the 0x */
- {
- scan_result = sscanf( current_vfc_line, "%x %32s",
- &vs_fc_number, vs_fc_name);
- }
+ if (scan_result != 2) { /* Allow a capital 0X */
+ scan_result = sscanf(current_vfc_line, "0X%x %32s",
+ &vs_fc_number, vs_fc_name);
+ }
+ if (scan_result != 2) { /* Try it without the 0x */
+ scan_result = sscanf(current_vfc_line, "%x %32s",
+ &vs_fc_number, vs_fc_name);
+ }
- if ( scan_result != 2 ) /* That's it... */
- {
- char *strbfr = malloc( strlen( current_vfc_line) +65 );
- vfc_splash( vf_file_name);
- sprintf( strbfr,
- "Line #%d, invalid format. Ignoring: %s\n",
- vfc_line_no, current_vfc_line);
- printremark( strbfr);
- free( strbfr);
- continue;
- }
+ if (scan_result != 2) { /* That's it... */
+ char *strbfr =
+ malloc(strlen(current_vfc_line) + 65);
+ vfc_splash(vf_file_name);
+ sprintf(strbfr,
+ "Line #%d, invalid format. Ignoring: %s\n",
+ vfc_line_no, current_vfc_line);
+ printremark(strbfr);
+ free(strbfr);
+ continue;
+ }
- if ( ( vs_fc_number < 0x10 ) || ( vs_fc_number > 0x7ff ) )
- {
- char *strbfr = malloc( 85 );
- vfc_splash( vf_file_name);
- sprintf( strbfr,
- "Line #%d, FCode number out of range: 0x%x Ignoring.\n",
- vfc_line_no, vs_fc_number);
- printremark( strbfr);
- free( strbfr);
- continue;
+ if ((vs_fc_number < 0x10) || (vs_fc_number > 0x7ff)) {
+ char *strbfr = malloc(85);
+ vfc_splash(vf_file_name);
+ sprintf(strbfr,
+ "Line #%d, FCode number out of range: 0x%x Ignoring.\n",
+ vfc_line_no, vs_fc_number);
+ printremark(strbfr);
+ free(strbfr);
+ continue;
+ }
+
+ lookup_result = lookup_token((u16) vs_fc_number);
+ if (strcmp(lookup_result, "ferror") != 0) {
+ char *strbfr = malloc(strlen(lookup_result) + 85);
+ vfc_splash(vf_file_name);
+ sprintf(strbfr,
+ "Line #%d. FCode number 0x%x is already "
+ "defined as %s Ignoring.\n",
+ vfc_line_no, vs_fc_number, lookup_result);
+ printremark(strbfr);
+ free(strbfr);
+ continue;
+ }
+
+ /* We've passed all the tests! */
+ fc_name_cpy = strdup(vs_fc_name);
+ add_token((u16) vs_fc_number, fc_name_cpy);
+ added_fc_count++;
+ retval = TRUE;
}
- lookup_result = lookup_token( (u16)vs_fc_number);
- if ( strcmp( lookup_result, "ferror") != 0 )
- {
- char *strbfr = malloc( strlen( lookup_result) + 85 );
- vfc_splash( vf_file_name);
- sprintf( strbfr,
- "Line #%d. FCode number 0x%x is already "
- "defined as %s Ignoring.\n",
- vfc_line_no, vs_fc_number, lookup_result);
- printremark( strbfr);
- free( strbfr);
- continue;
+ if (verbose) {
+ char *strbfr = malloc(85);
+ sprintf(strbfr,
+ "Added %d FCode numbers\n", added_fc_count);
+ printremark(strbfr);
+ free(strbfr);
}
- /* We've passed all the tests! */
- fc_name_cpy = strdup( vs_fc_name);
- add_token( (u16)vs_fc_number, fc_name_cpy);
- added_fc_count++;
- retval = TRUE;
- }
-
- if ( verbose )
- {
- char *strbfr = malloc( 85 );
- sprintf( strbfr,
- "Added %d FCode numbers\n", added_fc_count);
- printremark( strbfr);
- free( strbfr);
- }
-
- close_stream();
- check_tok_seq = TRUE;
- return( retval);
+ close_stream();
+ check_tok_seq = TRUE;
+ return (retval);
}
Modified: fcode-utils/detok/addfcodes.h
===================================================================
--- fcode-utils/detok/addfcodes.h 2006-10-14 21:07:27 UTC (rev 95)
+++ fcode-utils/detok/addfcodes.h 2006-10-14 21:32:13 UTC (rev 96)
@@ -43,6 +43,6 @@
*
**************************************************************************** */
-bool add_fcodes_from_list( char *vf_file_name);
+bool add_fcodes_from_list(char *vf_file_name);
-#endif /* _DETOK_VSFCODES_H */
+#endif /* _DETOK_VSFCODES_H */
Modified: fcode-utils/detok/decode.c
===================================================================
--- fcode-utils/detok/decode.c 2006-10-14 21:07:27 UTC (rev 95)
+++ fcode-utils/detok/decode.c 2006-10-14 21:32:13 UTC (rev 96)
@@ -39,7 +39,7 @@
#include "detok.h"
#include "stream.h"
-static int indent; /* Current level of indentation */
+static int indent; /* Current level of indentation */
/* **************************************************************************
*
@@ -53,71 +53,71 @@
*
**************************************************************************** */
-static bool ended_okay = TRUE; /* FALSE if finished prematurely */
+static bool ended_okay = TRUE; /* FALSE if finished prematurely */
-bool offs16=TRUE;
+bool offs16 = TRUE;
unsigned int linenum;
-bool end_found=FALSE;
-unsigned int token_streampos; /* Streampos() of currently-gotten token */
+bool end_found = FALSE;
+unsigned int token_streampos; /* Streampos() of currently-gotten token */
u16 last_defined_token = 0;
jmp_buf eof_exception;
static int fclen;
-static const char *unnamed = "(unnamed-fcode)" ;
+static const char *unnamed = "(unnamed-fcode)";
-static void decode_indent(void)
+static void decode_indent(void)
{
int i;
- if (indent<0) {
+ if (indent < 0) {
#ifdef DEBUG_INDENT
printf("detok: error in indentation code.\n");
#endif
- indent=0;
+ indent = 0;
}
- for (i=0; i<indent; i++)
- printf (" ");
+ for (i = 0; i < indent; i++)
+ printf(" ");
}
-
+
/* Print forth string ( [len] char[0] ... char[len] ) */
static void pretty_print_string(void)
{
- u8 len;
- u8 *strptr;
- int indx;
- bool in_parens = FALSE ; /* Are we already inside parentheses? */
+ u8 len;
+ u8 *strptr;
+ int indx;
+ bool in_parens = FALSE; /* Are we already inside parentheses? */
- strptr = get_string( &len );
+ strptr = get_string(&len);
- printf("( len=%s%x", len >= 10 ? "0x":"", len);
- if ( len >= 10 ) printf(" [%d bytes]", len);
- printf(" )\n");
- if (show_linenumbers) printf(" ");
- decode_indent();
+ printf("( len=%s%x", len >= 10 ? "0x" : "", len);
+ if (len >= 10)
+ printf(" [%d bytes]", len);
+ printf(" )\n");
+ if (show_linenumbers)
+ printf(" ");
+ decode_indent();
printf("\" ");
- for ( indx = 0; indx < len; indx++ )
- {
- u8 c = *strptr++;
+ for (indx = 0; indx < len; indx++) {
+ u8 c = *strptr++;
if (isprint(c)) {
- if ( in_parens )
- {
+ if (in_parens) {
printf(" )");
- in_parens = FALSE;
+ in_parens = FALSE;
}
- printf("%c",c);
- /* Quote-mark must escape itself */
- if ( c == '"' ) printf("%c",c);
+ printf("%c", c);
+ /* Quote-mark must escape itself */
+ if (c == '"')
+ printf("%c", c);
} else {
- if ( !in_parens )
- {
+ if (!in_parens) {
printf("\"(");
- in_parens = TRUE;
+ in_parens = TRUE;
}
- printf(" %02x",c);
+ printf(" %02x", c);
}
}
- if ( in_parens )
+ if (in_parens)
printf(" )");
printf("\"");
}
@@ -125,7 +125,8 @@
static void decode_lines(void)
{
if (show_linenumbers) {
- printf("%6d: ",show_offsets ? token_streampos : linenum++);
+ printf("%6d: ",
+ show_offsets ? token_streampos : linenum++);
}
}
@@ -176,29 +177,27 @@
char *tname;
/* Run error detection only if last_defined_token was assigned */
- if ( (fcode > last_defined_token) && (last_defined_token > 0) )
- {
- char temp_buf[80];
- int buf_pos;
- u8 top_byte = fcode >> 8;
- printf ("Invalid token: [0x%03x]\n", fcode);
- sprintf(temp_buf, "Backing up over first byte, which is ");
- buf_pos = strlen(temp_buf);
- if ( top_byte < 10 )
- {
- sprintf(&temp_buf[buf_pos], " %02x", top_byte);
- }else{
- sprintf( &temp_buf[buf_pos], "0x%02x ( =dec %d)",
- top_byte, top_byte);
+ if ((fcode > last_defined_token) && (last_defined_token > 0)) {
+ char temp_buf[80];
+ int buf_pos;
+ u8 top_byte = fcode >> 8;
+ printf("Invalid token: [0x%03x]\n", fcode);
+ sprintf(temp_buf, "Backing up over first byte, which is ");
+ buf_pos = strlen(temp_buf);
+ if (top_byte < 10) {
+ sprintf(&temp_buf[buf_pos], " %02x", top_byte);
+ } else {
+ sprintf(&temp_buf[buf_pos], "0x%02x ( =dec %d)",
+ top_byte, top_byte);
+ }
+ printremark(temp_buf);
+ set_streampos(token_streampos + 1);
+ return;
}
- printremark(temp_buf);
- set_streampos(token_streampos+1);
- return;
-}
-
+
tname = lookup_token(fcode);
- printf ("%s ", tname);
+ printf("%s ", tname);
/* The fcode number is interesting
* if either
@@ -206,18 +205,16 @@
* or
* b) detok is in verbose mode.
*/
- if ( strcmp( tname, unnamed) == 0 )
- {
+ if (strcmp(tname, unnamed) == 0) {
printf("[0x%03x] ", fcode);
- } else {
- if ( verbose )
- {
- /* If the token is named,
- * show its fcode number in
- * the syntax of a FORTH Comment
- */
- printf("( 0x%03x ) ", fcode);
- }
+ } else {
+ if (verbose) {
+ /* If the token is named,
+ * show its fcode number in
+ * the syntax of a FORTH Comment
+ */
+ printf("( 0x%03x ) ", fcode);
+ }
}
}
@@ -290,13 +287,13 @@
static s16 decode_offset(void)
{
- s16 offs;
+ s16 offs;
int dest;
bool invalid_dest;
int streampos = get_streampos();
output_token();
- offs=get_offset();
+ offs = get_offset();
/* The target-destination is the source-byte offset
* at which the FCode-offset is found, plus
@@ -311,34 +308,32 @@
* theoretically possible, so we'll treat it as valid.
* An offset of zero is also, of course, invalid.
*/
- invalid_dest = BOOLVAL ( (dest <= 0)
- || (dest > stream_max)
- || (offs == 0) );
+ invalid_dest = BOOLVAL((dest <= 0)
+ || (dest > stream_max)
+ || (offs == 0));
/* Show the offset in hex and again as a signed decimal number. */
- if ( offs16 )
- {
- printf("0x%04x (", (u16)(offs & 0xffff) );
- }else{
- printf("0x%02x (", (u8)(offs & 0x00ff) );
+ if (offs16) {
+ printf("0x%04x (", (u16) (offs & 0xffff));
+ } else {
+ printf("0x%02x (", (u8) (offs & 0x00ff));
}
- if ( (offs < 0) || (offs > 9) ) printf(" =dec %d", offs);
+ if ((offs < 0) || (offs > 9))
+ printf(" =dec %d", offs);
/* If we're showing source-byte offsets, show targets of offsets */
- if ( show_offsets || invalid_dest )
- {
- printf(" dest = %d ",dest);
+ if (show_offsets || invalid_dest) {
+ printf(" dest = %d ", dest);
}
printf(")\n");
- if ( invalid_dest )
- {
- if (offs == 0)
- {
- printremark("Error: Unresolved offset.");
- }else{
- printremark("Error: Invalid offset. Ignoring...");
- set_streampos( streampos);
- }
+ if (invalid_dest) {
+ if (offs == 0) {
+ printremark("Error: Unresolved offset.");
+ } else {
+ printremark
+ ("Error: Invalid offset. Ignoring...");
+ set_streampos(streampos);
+ }
}
return offs;
}
@@ -346,7 +341,7 @@
static void decode_default(void)
{
output_token();
- printf ("\n");
+ printf("\n");
}
static void new_token(void)
@@ -354,7 +349,7 @@
u16 token;
output_token();
token = next_token();
- printf("0x%03x\n",token);
+ printf("0x%03x\n", token);
add_token(token, strdup(unnamed));
}
@@ -362,14 +357,14 @@
{
u16 token;
u8 len;
- u8* string;
+ u8 *string;
output_token();
/* get forth string ( [len] [char0] ... [charn] ) */
- string=get_name(&len);
+ string = get_name(&len);
token = next_token();
printf("%s 0x%03x\n", string, token);
- add_token(token,string);
+ add_token(token, string);
}
static void bquote(void)
@@ -385,21 +380,21 @@
u32 lit;
output_token();
- lit=get_num32();
- printf("0x%x\n",lit);
+ lit = get_num32();
+ printf("0x%x\n", lit);
}
static void offset16(void)
{
decode_default();
- offs16=TRUE;
+ offs16 = TRUE;
}
static void decode_branch(void)
{
s16 offs;
- offs=decode_offset();
- if (offs>=0)
+ offs = decode_offset();
+ if (offs >= 0)
indent++;
else
indent--;
@@ -412,7 +407,7 @@
output_token();
token = next_token();
output_token_name();
- printf ("\n");
+ printf("\n");
}
/* **************************************************************************
@@ -428,37 +423,36 @@
static void decode_start(void)
{
- u8 fcformat;
- u16 fcchecksum, checksum=0;
+ u8 fcformat;
+ u16 fcchecksum, checksum = 0;
output_token();
- printf(" ( %d-bit offsets)\n", offs16 ? 16 : 8 );
-
- token_streampos = get_streampos();
+ printf(" ( %d-bit offsets)\n", offs16 ? 16 : 8);
+
+ token_streampos = get_streampos();
decode_lines();
- fcformat=get_num8();
+ fcformat = get_num8();
printf(" format: 0x%02x\n", fcformat);
-
-
- /* Check for checksum correctness. */
-
- token_streampos = get_streampos();
+
+
+ /* Check for checksum correctness. */
+
+ token_streampos = get_streampos();
decode_lines();
- fcchecksum=get_num16(); /* Read the stored checksum */
- checksum = calc_checksum(); /* Calculate the actual checksum */
-
- if ( fcchecksum==checksum )
- {
+ fcchecksum = get_num16(); /* Read the stored checksum */
+ checksum = calc_checksum(); /* Calculate the actual checksum */
+
+ if (fcchecksum == checksum) {
printf(" checksum: 0x%04x (Ok)\n", fcchecksum);
} else {
printf(" checksum should be: 0x%04x, but is 0x%04x\n",
- checksum,fcchecksum);
+ checksum, fcchecksum);
}
- token_streampos = get_streampos();
+ token_streampos = get_streampos();
decode_lines();
- fclen=get_num32();
- printf(" len: 0x%04x ( %d bytes)\n", fclen, fclen);
+ fclen = get_num32();
+ printf(" len: 0x%04x ( %d bytes)\n", fclen, fclen);
}
@@ -476,13 +470,13 @@
static void decode_token(u16 token)
{
- bool handy_flag = TRUE;
+ bool handy_flag = TRUE;
switch (token) {
case 0x0b5:
new_token();
break;
- case 0x0b6: /* Named Token */
- case 0x0ca: /* External Token */
+ case 0x0b6: /* Named Token */
+ case 0x0ca: /* External Token */
named_token();
break;
case 0x012:
@@ -494,52 +488,52 @@
case 0x0cc:
offset16();
break;
- case 0x013: /* bbranch */
- case 0x014: /* b?branch */
+ case 0x013: /* bbranch */
+ case 0x014: /* b?branch */
decode_branch();
break;
- case 0x0b7: /* b(:) */
- case 0x0b1: /* b(<mark) */
- case 0x0c4: /* b(case) */
+ case 0x0b7: /* b(:) */
+ case 0x0b1: /* b(<mark) */
+ case 0x0c4: /* b(case) */
decode_default();
indent++;
break;
- case 0x0c2: /* b(;) */
- case 0x0b2: /* b(>resolve) */
- case 0x0c5: /* b(endcase) */
+ case 0x0c2: /* b(;) */
+ case 0x0b2: /* b(>resolve) */
+ case 0x0c5: /* b(endcase) */
indent--;
decode_default();
break;
- case 0x015: /* b(loop) */
- case 0x016: /* b(+loop) */
- case 0x0c6: /* b(endof) */
+ case 0x015: /* b(loop) */
+ case 0x016: /* b(+loop) */
+ case 0x0c6: /* b(endof) */
indent--;
decode_offset();
break;
- case 0x017: /* b(do) */
- case 0x018: /* b/?do) */
- case 0x01c: /* b(of) */
+ case 0x017: /* b(do) */
+ case 0x018: /* b/?do) */
+ case 0x01c: /* b(of) */
decode_offset();
indent++;
break;
- case 0x011: /* b(') */
- case 0x0c3: /* b(to) */
+ case 0x011: /* b(') */
+ case 0x0c3: /* b(to) */
decode_two();
break;
- case 0x0fd: /* version1 */
+ case 0x0fd: /* version1 */
handy_flag = FALSE;
- case 0x0f0: /* start0 */
- case 0x0f1: /* start1 */
- case 0x0f2: /* start2 */
- case 0x0f3: /* start4 */
+ case 0x0f0: /* start0 */
+ case 0x0f1: /* start1 */
+ case 0x0f2: /* start2 */
+ case 0x0f3: /* start4 */
offs16 = handy_flag;
printremark("Unexpected FCode-Block Starter.");
decode_start();
printremark(" Ignoring length field.");
break;
- case 0: /* end0 */
- case 0xff: /* end1 */
- end_found=TRUE;
+ case 0: /* end0 */
+ case 0xff: /* end1 */
+ end_found = TRUE;
decode_default();
break;
default:
@@ -582,39 +576,38 @@
static void decode_fcode_header(void)
{
- long err_pos;
- u16 token;
+ long err_pos;
+ u16 token;
- err_pos = get_streampos();
- indent = 0;
- token = next_token();
- offs16=TRUE;
- switch (token)
- {
- case 0x0fd: /* version1 */
- offs16=FALSE;
- case 0x0f0: /* start0 */
- case 0x0f1: /* start1 */
- case 0x0f2: /* start2 */
- case 0x0f3: /* start4 */
- decode_start();
+ err_pos = get_streampos();
+ indent = 0;
+ token = next_token();
+ offs16 = TRUE;
+ switch (token) {
+ case 0x0fd: /* version1 */
+ offs16 = FALSE;
+ case 0x0f0: /* start0 */
+ case 0x0f1: /* start1 */
+ case 0x0f2: /* start2 */
+ case 0x0f3: /* start4 */
+ decode_start();
break;
default:
- {
- char temp_bufr[128] =
- "Invalid FCode Start Byte. Ignoring FCode header." ;
- set_streampos( err_pos );
- fclen = max - pc;
- printf("\n");
- if (show_linenumbers)
{
- sprintf( &(temp_bufr[strlen(temp_bufr)]),
- " Remaining len = 0x%04x ( %d bytes)", fclen, fclen);
+ char temp_bufr[128] =
+ "Invalid FCode Start Byte. Ignoring FCode header.";
+ set_streampos(err_pos);
+ fclen = max - pc;
+ printf("\n");
+ if (show_linenumbers) {
+ sprintf(&(temp_bufr[strlen(temp_bufr)]),
+ " Remaining len = 0x%04x ( %d bytes)",
+ fclen, fclen);
+ }
+ printremark(temp_bufr);
}
- printremark( temp_bufr );
}
}
-}
/* **************************************************************************
*
@@ -654,45 +647,42 @@
static void decode_fcode_block(void)
{
u16 token;
- unsigned int fc_block_start;
- unsigned int fc_block_end;
-
- end_found = FALSE;
- fc_block_start = get_streampos();
-
- decode_fcode_header();
+ unsigned int fc_block_start;
+ unsigned int fc_block_end;
- fc_block_end = fc_block_start + fclen;
-
- while ( ( !end_found || decode_all )
- && ( get_streampos() < fc_block_end ) )
- {
- token = next_token();
+ end_found = FALSE;
+ fc_block_start = get_streampos();
+
+ decode_fcode_header();
+
+ fc_block_end = fc_block_start + fclen;
+
+ while ((!end_found || decode_all)
+ && (get_streampos() < fc_block_end)) {
+ token = next_token();
decode_token(token);
- }
- if ( !end_found )
- {
- printremark("FCode-ender not found");
- }
- {
- char temp_bufr[80];
- /* Don't use fclen here, in case it got corrupted
- * by an "Unexpected FCode-Block Starter"
- */
- if ( get_streampos() == fc_block_end )
+ }
+ if (!end_found) {
+ printremark("FCode-ender not found");
+ }
{
- sprintf( temp_bufr,
- "Detokenization finished normally after %d bytes.",
- fc_block_end - fc_block_start );
- }else{
- sprintf( temp_bufr,
- "Detokenization finished prematurely after %d of %d bytes.",
- get_streampos() - fc_block_start,
- fc_block_end - fc_block_start );
- ended_okay = FALSE;
+ char temp_bufr[80];
+ /* Don't use fclen here, in case it got corrupted
+ * by an "Unexpected FCode-Block Starter"
+ */
+ if (get_streampos() == fc_block_end) {
+ sprintf(temp_bufr,
+ "Detokenization finished normally after %d bytes.",
+ fc_block_end - fc_block_start);
+ } else {
+ sprintf(temp_bufr,
+ "Detokenization finished prematurely after %d of %d bytes.",
+ get_streampos() - fc_block_start,
+ fc_block_end - fc_block_start);
+ ended_okay = FALSE;
+ }
+ printremark(temp_bufr);
}
- printremark( temp_bufr );
- }
}
/* **************************************************************************
@@ -725,35 +715,35 @@
static bool another_fcode_block(void)
{
- bool retval = FALSE;
- u16 token;
+ bool retval = FALSE;
+ u16 token;
- token = next_token();
- set_streampos( token_streampos );
+ token = next_token();
+ set_streampos(token_streampos);
- switch (token)
- {
- case 0x0fd: /* version1 */
- case 0x0f0: /* start0 */
- case 0x0f1: /* start1 */
- case 0x0f2: /* start2 */
- case 0x0f3: /* start4 */
- retval = TRUE;
- printremark("Subsequent FCode Block detected. Detokenizing.");
- break;
- case 0: /* Start of a zero-fill field */
- /* retval already = FALSE . Nothing else to be done. */
- break;
+ switch (token) {
+ case 0x0fd: /* version1 */
+ case 0x0f0: /* start0 */
+ case 0x0f1: /* start1 */
+ case 0x0f2: /* start2 */
+ case 0x0f3: /* start4 */
+ retval = TRUE;
+ printremark
+ ("Subsequent FCode Block detected. Detokenizing.");
+ break;
+ case 0: /* Start of a zero-fill field */
+ /* retval already = FALSE . Nothing else to be done. */
+ break;
default:
- {
- char temp_bufr[80];
- sprintf( temp_bufr,
- "Unexpected token, 0x%02x, after end of FCode block.",
- token);
- printremark( temp_bufr);
- }
- }
- return ( retval );
+ {
+ char temp_bufr[80];
+ sprintf(temp_bufr,
+ "Unexpected token, 0x%02x, after end of FCode block.",
+ token);
+ printremark(temp_bufr);
+ }
+ }
+ return (retval);
}
/* **************************************************************************
@@ -767,33 +757,29 @@
void detokenize(void)
{
- fclen = stream_max;
+ fclen = stream_max;
- if ( setjmp(eof_exception) == 0 )
- {
- while ( more_to_go() )
- {
- if ( ended_okay )
- {
- init_fcode_block();
- }
- ended_okay = TRUE;
+ if (setjmp(eof_exception) == 0) {
+ while (more_to_go()) {
+ if (ended_okay) {
+ init_fcode_block();
+ }
+ ended_okay = TRUE;
- adjust_for_pci_header();
+ adjust_for_pci_header();
- /* Allow for multiple FCode Blocks within the PCI image.
- * The first one had better be a valid block, but the
- * next may or may not be...
- */
- do
- {
- decode_fcode_block();
- } while ( another_fcode_block() );
+ /* Allow for multiple FCode Blocks within the PCI image.
+ * The first one had better be a valid block, but the
+ * next may or may not be...
+ */
+ do {
+ decode_fcode_block();
+ } while (another_fcode_block());
- adjust_for_pci_filler();
+ adjust_for_pci_filler();
+ }
}
- }
}
Modified: fcode-utils/detok/detok.c
===================================================================
--- fcode-utils/detok/detok.c 2006-10-14 21:07:27 UTC (rev 95)
+++ fcode-utils/detok/detok.c 2006-10-14 21:32:13 UTC (rev 96)
@@ -51,47 +51,47 @@
"(C) Copyright 2006 coresystems GmbH <info(a)coresystems.de>"
#define IBM_COPYR "(C) Copyright 2005 IBM Corporation. All Rights Reserved."
-bool verbose = FALSE ;
-bool decode_all = FALSE ;
-bool show_linenumbers = FALSE ;
-bool show_offsets = FALSE ;
+bool verbose = FALSE;
+bool decode_all = FALSE;
+bool show_linenumbers = FALSE;
+bool show_offsets = FALSE;
/* Param is FALSE when beginning to detokenize,
* TRUE preceding error-exit */
static void print_copyright(bool is_error)
{
- typedef void (*vfunct)(); /* Pointer to function returning void */
- vfunct pfunct ;
+ typedef void (*vfunct) (); /* Pointer to function returning void */
+ vfunct pfunct;
char buffr[512];
- sprintf( buffr,
- "Welcome to detok - OpenBIOS detokenizer v" DETOK_VERSION "\n"
- CORE_COPYR "\n" IBM_COPYR "\n"
- "Written by Stefan Reinauer, <stepan(a)openbios.org>\n"
+ sprintf(buffr,
+ "Welcome to detok - OpenBIOS detokenizer v" DETOK_VERSION "\n"
+ CORE_COPYR "\n" IBM_COPYR "\n"
+ "Written by Stefan Reinauer, <stepan(a)openbios.org>\n"
"This program is free software; you may redistribute it "
"under the terms of\nthe GNU General Public License v2. This "
- "program has absolutely no warranty.\n\n" );
+ "program has absolutely no warranty.\n\n");
- pfunct = ( is_error ? (vfunct)printf : printremark );
+ pfunct = (is_error ? (vfunct) printf : printremark);
- (*pfunct) ( buffr );
+ (*pfunct) (buffr);
}
static void usage(char *name)
{
- printf( "usage: %s [OPTION]... [FCODE-FILE]...\n\n"
- " -v, --verbose print fcode numbers\n"
- " -a, --all don't stop at end0\n"
- " -n, --linenumbers print line numbers\n"
- " -o, --offsets print byte offsets\n"
- " -f, --fcodes add FCodes from list-file\n"
- " -h, --help print this help text\n\n", name);
+ printf("usage: %s [OPTION]... [FCODE-FILE]...\n\n"
+ " -v, --verbose print fcode numbers\n"
+ " -a, --all don't stop at end0\n"
+ " -n, --linenumbers print line numbers\n"
+ " -o, --offsets print byte offsets\n"
+ " -f, --fcodes add FCodes from list-file\n"
+ " -h, --help print this help text\n\n", name);
}
int main(int argc, char **argv)
{
int c;
- const char *optstring="vhanof:?";
+ const char *optstring = "vhanof:?";
int linenumbers = 0;
bool add_vfcodes = FALSE;
char *vfc_filnam = NULL;
@@ -100,36 +100,36 @@
#ifdef __GLIBC__
int option_index = 0;
static struct option long_options[] = {
- { "verbose", 0, 0, 'v' },
- { "help", 0, 0, 'h' },
- { "all", 0, 0, 'a' },
- { "linenumbers", 0, 0, 'n' },
- { "offsets", 0, 0, 'o' },
- { "fcodes", 1, 0, 'f' },
- { 0, 0, 0, 0 }
+ {"verbose", 0, 0, 'v'},
+ {"help", 0, 0, 'h'},
+ {"all", 0, 0, 'a'},
+ {"linenumbers", 0, 0, 'n'},
+ {"offsets", 0, 0, 'o'},
+ {"fcodes", 1, 0, 'f'},
+ {0, 0, 0, 0}
};
- c = getopt_long (argc, argv, optstring,
- long_options, &option_index);
+ c = getopt_long(argc, argv, optstring,
+ long_options, &option_index);
#else
- c = getopt (argc, argv, optstring);
+ c = getopt(argc, argv, optstring);
#endif
if (c == -1)
break;
switch (c) {
case 'v':
- verbose=TRUE;
+ verbose = TRUE;
break;
case 'a':
- decode_all=TRUE;
+ decode_all = TRUE;
break;
case 'n':
- linenumbers|=1;
+ linenumbers |= 1;
show_linenumbers = TRUE;
break;
case 'o':
- linenumbers|=2;
+ linenumbers |= 2;
show_linenumbers = TRUE;
show_offsets = TRUE;
break;
@@ -141,10 +141,10 @@
case '?':
print_copyright(TRUE);
usage(argv[0]);
- return 0;
+ return 0;
default:
print_copyright(TRUE);
- printf ("%s: unknown option.\n",argv[0]);
+ printf("%s: unknown option.\n", argv[0]);
usage(argv[0]);
return 1;
}
@@ -152,44 +152,41 @@
if (verbose)
print_copyright(FALSE);
-
- if (linenumbers>2)
- printremark(
- "Line numbers will be disabled in favour of offsets.\n");
-
+
+ if (linenumbers > 2)
+ printremark
+ ("Line numbers will be disabled in favour of offsets.\n");
+
if (optind >= argc) {
print_copyright(TRUE);
- printf ("%s: filename missing.\n",argv[0]);
+ printf("%s: filename missing.\n", argv[0]);
usage(argv[0]);
return 1;
}
-
+
init_dictionary();
-
- if ( add_vfcodes )
- {
- if ( add_fcodes_from_list( vfc_filnam) )
- {
- freeze_dictionary();
- }
+
+ if (add_vfcodes) {
+ if (add_fcodes_from_list(vfc_filnam)) {
+ freeze_dictionary();
+ }
}
while (optind < argc) {
-
+
if (init_stream(argv[optind])) {
- printf ("Could not open file \"%s\".\n",argv[optind]);
+ printf("Could not open file \"%s\".\n", argv[optind]);
optind++;
continue;
}
detokenize();
close_stream();
-
+
optind++;
reset_dictionary();
}
-
+
printf("\n");
-
+
return 0;
}
-
Modified: fcode-utils/detok/detok.h
===================================================================
--- fcode-utils/detok/detok.h 2006-10-14 21:07:27 UTC (rev 95)
+++ fcode-utils/detok/detok.h 2006-10-14 21:32:13 UTC (rev 96)
@@ -49,8 +49,8 @@
void printremark(char *str);
-int handle_pci_header ( u8 *data_ptr );
-void handle_pci_filler(u8 *filler_ptr);
+int handle_pci_header(u8 * data_ptr);
+void handle_pci_filler(u8 * filler_ptr);
/* External declarations for variables defined in or used by
@@ -72,4 +72,4 @@
extern unsigned int token_streampos;
extern u16 last_defined_token;
-#endif /* _UTILS_DETOK_DETOK_H */
+#endif /* _UTILS_DETOK_DETOK_H */
Modified: fcode-utils/detok/dictionary.c
===================================================================
--- fcode-utils/detok/dictionary.c 2006-10-14 21:07:27 UTC (rev 95)
+++ fcode-utils/detok/dictionary.c 2006-10-14 21:32:13 UTC (rev 96)
@@ -44,16 +44,16 @@
struct token *next;
} token_t;
#define TOKEN_ENTRY(num, name) { name, (u16)num, (token_t *)NULL }
-static token_t *dictionary; /* Initialize dynamically to accommodate AIX */
+static token_t *dictionary; /* Initialize dynamically to accommodate AIX */
-static char *fcerror="ferror";
+static char *fcerror = "ferror";
char *lookup_token(u16 number)
{
token_t *curr;
-
- for (curr=dictionary; curr!=NULL; curr=curr->next)
- if (curr->fcode==number)
+
+ for (curr = dictionary; curr != NULL; curr = curr->next)
+ if (curr->fcode == number)
break;
if (curr)
@@ -110,462 +110,458 @@
{
token_t *curr;
- curr=malloc(sizeof(token_t));
- if(!curr) {
+ curr = malloc(sizeof(token_t));
+ if (!curr) {
printf("Out of memory while adding token.\n");
exit(-ENOMEM);
}
- curr->next=dictionary;
- curr->fcode=number;
- curr->name=name;
+ curr->next = dictionary;
+ curr->fcode = number;
+ curr->name = name;
- dictionary=curr;
+ dictionary = curr;
- if ( check_tok_seq )
- {
- /* Error-check, but not for first time. */
- if ( (number == last_defined_token + 1)
- || (last_defined_token == 0) )
- {
- last_defined_token = number;
- }else{
- if ( number <= last_defined_token )
- {
- printremark("Warning: New token # might overlap "
- "previously assigned token #(s).");
- }else{
- printremark("Warning: New token # out of sequence with "
- "previously assigned token #(s).");
- /* It's increasing; update it. */
- last_defined_token = number;
+ if (check_tok_seq) {
+ /* Error-check, but not for first time. */
+ if ((number == last_defined_token + 1)
+ || (last_defined_token == 0)) {
+ last_defined_token = number;
+ } else {
+ if (number <= last_defined_token) {
+ printremark("Warning: New token # might overlap "
+ "previously assigned token #(s).");
+ } else {
+ printremark("Warning: New token # out of sequence with "
+ "previously assigned token #(s).");
+ /* It's increasing; update it. */
+ last_defined_token = number;
+ }
}
-}
}
}
-token_t detok_table[] = {
+token_t detok_table[] = {
- TOKEN_ENTRY( 0x000, "end0" ),
- TOKEN_ENTRY( 0x010, "b(lit)" ),
- TOKEN_ENTRY( 0x011, "b(')" ),
- TOKEN_ENTRY( 0x012, "b(\")" ),
- TOKEN_ENTRY( 0x013, "bbranch" ),
- TOKEN_ENTRY( 0x014, "b?branch" ),
- TOKEN_ENTRY( 0x015, "b(loop)" ),
- TOKEN_ENTRY( 0x016, "b(+loop)" ),
- TOKEN_ENTRY( 0x017, "b(do)" ),
- TOKEN_ENTRY( 0x018, "b(?do)" ),
- TOKEN_ENTRY( 0x019, "i" ),
- TOKEN_ENTRY( 0x01a, "j" ),
- TOKEN_ENTRY( 0x01b, "b(leave)" ),
- TOKEN_ENTRY( 0x01c, "b(of)" ),
- TOKEN_ENTRY( 0x01d, "execute" ),
- TOKEN_ENTRY( 0x01e, "+" ),
- TOKEN_ENTRY( 0x01f, "-" ),
- TOKEN_ENTRY( 0x020, "*" ),
- TOKEN_ENTRY( 0x021, "/" ),
- TOKEN_ENTRY( 0x022, "mod" ),
- TOKEN_ENTRY( 0x023, "and" ),
- TOKEN_ENTRY( 0x024, "or" ),
- TOKEN_ENTRY( 0x025, "xor" ),
- TOKEN_ENTRY( 0x026, "invert" ),
- TOKEN_ENTRY( 0x027, "lshift" ),
- TOKEN_ENTRY( 0x028, "rshift" ),
- TOKEN_ENTRY( 0x029, ">>a" ),
- TOKEN_ENTRY( 0x02a, "/mod" ),
- TOKEN_ENTRY( 0x02b, "u/mod" ),
- TOKEN_ENTRY( 0x02c, "negate" ),
- TOKEN_ENTRY( 0x02d, "abs" ),
- TOKEN_ENTRY( 0x02e, "min" ),
- TOKEN_ENTRY( 0x02f, "max" ),
- TOKEN_ENTRY( 0x030, ">r" ),
- TOKEN_ENTRY( 0x031, "r>" ),
- TOKEN_ENTRY( 0x032, "r@" ),
- TOKEN_ENTRY( 0x033, "exit" ),
- TOKEN_ENTRY( 0x034, "0=" ),
- TOKEN_ENTRY( 0x035, "0<>" ),
- TOKEN_ENTRY( 0x036, "0<" ),
- TOKEN_ENTRY( 0x037, "0<=" ),
- TOKEN_ENTRY( 0x038, "0>" ),
- TOKEN_ENTRY( 0x039, "0>=" ),
- TOKEN_ENTRY( 0x03a, "<" ),
- TOKEN_ENTRY( 0x03b, ">" ),
- TOKEN_ENTRY( 0x03c, "=" ),
- TOKEN_ENTRY( 0x03d, "<>" ),
- TOKEN_ENTRY( 0x03e, "u>" ),
- TOKEN_ENTRY( 0x03f, "u<=" ),
- TOKEN_ENTRY( 0x040, "u<" ),
- TOKEN_ENTRY( 0x041, "u>=" ),
- TOKEN_ENTRY( 0x042, ">=" ),
- TOKEN_ENTRY( 0x043, "<=" ),
- TOKEN_ENTRY( 0x044, "between" ),
- TOKEN_ENTRY( 0x045, "within" ),
- TOKEN_ENTRY( 0x046, "drop" ),
- TOKEN_ENTRY( 0x047, "dup" ),
- TOKEN_ENTRY( 0x048, "over" ),
- TOKEN_ENTRY( 0x049, "swap" ),
- TOKEN_ENTRY( 0x04A, "rot" ),
- TOKEN_ENTRY( 0x04b, "-rot" ),
- TOKEN_ENTRY( 0x04c, "tuck" ),
- TOKEN_ENTRY( 0x04d, "nip" ),
- TOKEN_ENTRY( 0x04e, "pick" ),
- TOKEN_ENTRY( 0x04f, "roll" ),
- TOKEN_ENTRY( 0x050, "?dup" ),
- TOKEN_ENTRY( 0x051, "depth" ),
- TOKEN_ENTRY( 0x052, "2drop" ),
- TOKEN_ENTRY( 0x053, "2dup" ),
- TOKEN_ENTRY( 0x054, "2over" ),
- TOKEN_ENTRY( 0x055, "2swap" ),
- TOKEN_ENTRY( 0x056, "2rot" ),
- TOKEN_ENTRY( 0x057, "2/" ),
- TOKEN_ENTRY( 0x058, "u2/" ),
- TOKEN_ENTRY( 0x059, "2*" ),
- TOKEN_ENTRY( 0x05a, "/c" ),
- TOKEN_ENTRY( 0x05b, "/w" ),
- TOKEN_ENTRY( 0x05c, "/l" ),
- TOKEN_ENTRY( 0x05d, "/n" ),
- TOKEN_ENTRY( 0x05e, "ca+" ),
- TOKEN_ENTRY( 0x05f, "wa+" ),
- TOKEN_ENTRY( 0x060, "la+" ),
- TOKEN_ENTRY( 0x061, "na+" ),
- TOKEN_ENTRY( 0x062, "char+" ),
- TOKEN_ENTRY( 0x063, "wa1+" ),
- TOKEN_ENTRY( 0x064, "la1+" ),
- TOKEN_ENTRY( 0x065, "cell+" ),
- TOKEN_ENTRY( 0x066, "chars" ),
- TOKEN_ENTRY( 0x067, "/w*" ),
- TOKEN_ENTRY( 0x068, "/l*" ),
- TOKEN_ENTRY( 0x069, "cells" ),
- TOKEN_ENTRY( 0x06a, "on" ),
- TOKEN_ENTRY( 0x06b, "off" ),
- TOKEN_ENTRY( 0x06c, "+!" ),
- TOKEN_ENTRY( 0x06d, "@" ),
- TOKEN_ENTRY( 0x06e, "l@" ),
- TOKEN_ENTRY( 0x06f, "w@" ),
- TOKEN_ENTRY( 0x070, "<w@" ),
- TOKEN_ENTRY( 0x071, "c@" ),
- TOKEN_ENTRY( 0x072, "!" ),
- TOKEN_ENTRY( 0x073, "l!" ),
- TOKEN_ENTRY( 0x074, "w!" ),
- TOKEN_ENTRY( 0x075, "c!" ),
- TOKEN_ENTRY( 0x076, "2@" ),
- TOKEN_ENTRY( 0x077, "2!" ),
- TOKEN_ENTRY( 0x078, "move" ),
- TOKEN_ENTRY( 0x079, "fill" ),
- TOKEN_ENTRY( 0x07a, "comp" ),
- TOKEN_ENTRY( 0x07b, "noop" ),
- TOKEN_ENTRY( 0x07c, "lwsplit" ),
- TOKEN_ENTRY( 0x07d, "wljoin" ),
- TOKEN_ENTRY( 0x07e, "lbsplit" ),
- TOKEN_ENTRY( 0x07f, "bljoin" ),
- TOKEN_ENTRY( 0x080, "wbflip" ),
- TOKEN_ENTRY( 0x081, "upc" ),
- TOKEN_ENTRY( 0x082, "lcc" ),
- TOKEN_ENTRY( 0x083, "pack" ),
- TOKEN_ENTRY( 0x084, "count" ),
- TOKEN_ENTRY( 0x085, "body>" ),
- TOKEN_ENTRY( 0x086, ">body" ),
- TOKEN_ENTRY( 0x087, "fcode-revision" ),
- TOKEN_ENTRY( 0x088, "span" ),
- TOKEN_ENTRY( 0x089, "unloop" ),
- TOKEN_ENTRY( 0x08a, "expect" ),
- TOKEN_ENTRY( 0x08b, "alloc-mem" ),
- TOKEN_ENTRY( 0x08c, "free-mem" ),
- TOKEN_ENTRY( 0x08d, "key?" ),
- TOKEN_ENTRY( 0x08e, "key" ),
- TOKEN_ENTRY( 0x08f, "emit" ),
- TOKEN_ENTRY( 0x090, "type" ),
- TOKEN_ENTRY( 0x091, "(cr" ),
- TOKEN_ENTRY( 0x092, "cr" ),
- TOKEN_ENTRY( 0x093, "#out" ),
- TOKEN_ENTRY( 0x094, "#line" ),
- TOKEN_ENTRY( 0x095, "hold" ),
- TOKEN_ENTRY( 0x096, "<#" ),
- TOKEN_ENTRY( 0x097, "u#>" ),
- TOKEN_ENTRY( 0x098, "sign" ),
- TOKEN_ENTRY( 0x099, "u#" ),
- TOKEN_ENTRY( 0x09a, "u#s" ),
- TOKEN_ENTRY( 0x09b, "u." ),
- TOKEN_ENTRY( 0x09c, "u.r" ),
- TOKEN_ENTRY( 0x09d, "." ),
- TOKEN_ENTRY( 0x09e, ".r" ),
- TOKEN_ENTRY( 0x09f, ".s" ),
- TOKEN_ENTRY( 0x0a0, "base" ),
- TOKEN_ENTRY( 0x0a1, "convert" ),
- TOKEN_ENTRY( 0x0a2, "$number" ),
- TOKEN_ENTRY( 0x0a3, "digit" ),
- TOKEN_ENTRY( 0x0a4, "-1" ),
- TOKEN_ENTRY( 0x0a5, "0" ),
- TOKEN_ENTRY( 0x0a6, "1" ),
- TOKEN_ENTRY( 0x0a7, "2" ),
- TOKEN_ENTRY( 0x0a8, "3" ),
- TOKEN_ENTRY( 0x0a9, "bl" ),
- TOKEN_ENTRY( 0x0aa, "bs" ),
- TOKEN_ENTRY( 0x0ab, "bell" ),
- TOKEN_ENTRY( 0x0ac, "bounds" ),
- TOKEN_ENTRY( 0x0ad, "here" ),
- TOKEN_ENTRY( 0x0ae, "aligned" ),
- TOKEN_ENTRY( 0x0af, "wbsplit" ),
- TOKEN_ENTRY( 0x0b0, "bwjoin" ),
- TOKEN_ENTRY( 0x0b1, "b(<mark)" ),
- TOKEN_ENTRY( 0x0b2, "b(>resolve)" ),
- TOKEN_ENTRY( 0x0b3, "set-token-table" ),
- TOKEN_ENTRY( 0x0b4, "set-table" ),
- TOKEN_ENTRY( 0x0b5, "new-token" ),
- TOKEN_ENTRY( 0x0b6, "named-token" ),
- TOKEN_ENTRY( 0x0b7, "b(:)" ),
- TOKEN_ENTRY( 0x0b8, "b(value)" ),
- TOKEN_ENTRY( 0x0b9, "b(variable)" ),
- TOKEN_ENTRY( 0x0ba, "b(constant)" ),
- TOKEN_ENTRY( 0x0bb, "b(create)" ),
- TOKEN_ENTRY( 0x0bc, "b(defer)" ),
- TOKEN_ENTRY( 0x0bd, "b(buffer:)" ),
- TOKEN_ENTRY( 0x0be, "b(field)" ),
- TOKEN_ENTRY( 0x0bf, "b(code)" ),
- TOKEN_ENTRY( 0x0c0, "instance" ),
- TOKEN_ENTRY( 0x0c2, "b(;)" ),
- TOKEN_ENTRY( 0x0c3, "b(to)" ),
- TOKEN_ENTRY( 0x0c4, "b(case)" ),
- TOKEN_ENTRY( 0x0c5, "b(endcase)" ),
- TOKEN_ENTRY( 0x0c6, "b(endof)" ),
- TOKEN_ENTRY( 0x0c7, "#" ),
- TOKEN_ENTRY( 0x0c8, "#s" ),
- TOKEN_ENTRY( 0x0c9, "#>" ),
- TOKEN_ENTRY( 0x0ca, "external-token" ),
- TOKEN_ENTRY( 0x0cb, "$find" ),
- TOKEN_ENTRY( 0x0cc, "offset16" ),
- TOKEN_ENTRY( 0x0cd, "evaluate" ),
- TOKEN_ENTRY( 0x0d0, "c," ),
- TOKEN_ENTRY( 0x0d1, "w," ),
- TOKEN_ENTRY( 0x0d2, "l," ),
- TOKEN_ENTRY( 0x0d3, "," ),
- TOKEN_ENTRY( 0x0d4, "um*" ),
- TOKEN_ENTRY( 0x0d5, "um/mod" ),
- TOKEN_ENTRY( 0x0d8, "d+" ),
- TOKEN_ENTRY( 0x0d9, "d-" ),
- TOKEN_ENTRY( 0x0da, "get-token" ),
- TOKEN_ENTRY( 0x0db, "set-token" ),
- TOKEN_ENTRY( 0x0dc, "state" ),
- TOKEN_ENTRY( 0x0dd, "compile" ),
- TOKEN_ENTRY( 0x0de, "behavior" ),
- TOKEN_ENTRY( 0x0f0, "start0" ),
- TOKEN_ENTRY( 0x0f1, "start1" ),
- TOKEN_ENTRY( 0x0f2, "start2" ),
- TOKEN_ENTRY( 0x0f3, "start4" ),
- TOKEN_ENTRY( 0x0fc, "ferror" ),
- TOKEN_ENTRY( 0x0fd, "version1" ),
- TOKEN_ENTRY( 0x0fe, "4-byte-id" ),
- TOKEN_ENTRY( 0x0ff, "end1" ),
- TOKEN_ENTRY( 0x101, "dma-alloc" ),
- TOKEN_ENTRY( 0x102, "my-address" ),
- TOKEN_ENTRY( 0x103, "my-space" ),
- TOKEN_ENTRY( 0x104, "memmap" ),
- TOKEN_ENTRY( 0x105, "free-virtual" ),
- TOKEN_ENTRY( 0x106, ">physical" ),
- TOKEN_ENTRY( 0x10f, "my-params" ),
- TOKEN_ENTRY( 0x110, "property" ),
- TOKEN_ENTRY( 0x111, "encode-int" ),
- TOKEN_ENTRY( 0x112, "encode+" ),
- TOKEN_ENTRY( 0x113, "encode-phys" ),
- TOKEN_ENTRY( 0x114, "encode-string" ),
- TOKEN_ENTRY( 0x115, "encode-bytes" ),
- TOKEN_ENTRY( 0x116, "reg" ),
- TOKEN_ENTRY( 0x117, "intr" ),
- TOKEN_ENTRY( 0x118, "driver" ),
- TOKEN_ENTRY( 0x119, "model" ),
- TOKEN_ENTRY( 0x11a, "device-type" ),
- TOKEN_ENTRY( 0x11b, "parse-2int" ),
- TOKEN_ENTRY( 0x11c, "is-install" ),
- TOKEN_ENTRY( 0x11d, "is-remove" ),
- TOKEN_ENTRY( 0x11e, "is-selftest" ),
- TOKEN_ENTRY( 0x11f, "new-device" ),
- TOKEN_ENTRY( 0x120, "diagnostic-mode?" ),
- TOKEN_ENTRY( 0x121, "display-status" ),
- TOKEN_ENTRY( 0x122, "memory-test-issue" ),
- TOKEN_ENTRY( 0x123, "group-code" ),
- TOKEN_ENTRY( 0x124, "mask" ),
- TOKEN_ENTRY( 0x125, "get-msecs" ),
- TOKEN_ENTRY( 0x126, "ms" ),
- TOKEN_ENTRY( 0x127, "finish-device" ),
- TOKEN_ENTRY( 0x128, "decode-phys" ),
- TOKEN_ENTRY( 0x12b, "interpose" ),
- TOKEN_ENTRY( 0x130, "map-low" ),
- TOKEN_ENTRY( 0x131, "sbus-intr>cpu" ),
- TOKEN_ENTRY( 0x150, "#lines" ),
- TOKEN_ENTRY( 0x151, "#columns" ),
- TOKEN_ENTRY( 0x152, "line#" ),
- TOKEN_ENTRY( 0x153, "column#" ),
- TOKEN_ENTRY( 0x154, "inverse?" ),
- TOKEN_ENTRY( 0x155, "inverse-screen?" ),
- TOKEN_ENTRY( 0x156, "frame-buffer-busy?" ),
- TOKEN_ENTRY( 0x157, "draw-character" ),
- TOKEN_ENTRY( 0x158, "reset-screen" ),
- TOKEN_ENTRY( 0x159, "toggle-cursor" ),
- TOKEN_ENTRY( 0x15a, "erase-screen" ),
- TOKEN_ENTRY( 0x15b, "blink-screen" ),
- TOKEN_ENTRY( 0x15c, "invert-screen" ),
- TOKEN_ENTRY( 0x15d, "insert-characters" ),
- TOKEN_ENTRY( 0x15e, "delete-characters" ),
- TOKEN_ENTRY( 0x15f, "insert-lines" ),
- TOKEN_ENTRY( 0x160, "delete-lines" ),
- TOKEN_ENTRY( 0x161, "draw-logo" ),
- TOKEN_ENTRY( 0x162, "frame-buffer-adr" ),
- TOKEN_ENTRY( 0x163, "screen-height" ),
- TOKEN_ENTRY( 0x164, "screen-width" ),
- TOKEN_ENTRY( 0x165, "window-top" ),
- TOKEN_ENTRY( 0x166, "window-left" ),
- TOKEN_ENTRY( 0x16a, "default-font" ),
- TOKEN_ENTRY( 0x16b, "set-font" ),
- TOKEN_ENTRY( 0x16c, "char-height" ),
- TOKEN_ENTRY( 0x16d, "char-width" ),
- TOKEN_ENTRY( 0x16e, ">font" ),
- TOKEN_ENTRY( 0x16f, "fontbytes" ),
- TOKEN_ENTRY( 0x170, "fb1-draw-character" ),
- TOKEN_ENTRY( 0x171, "fb1-reset-screen" ),
- TOKEN_ENTRY( 0x172, "fb1-toggle-cursor" ),
- TOKEN_ENTRY( 0x173, "fb1-erase-screen" ),
- TOKEN_ENTRY( 0x174, "fb1-blink-screen" ),
- TOKEN_ENTRY( 0x175, "fb1-invert-screen" ),
- TOKEN_ENTRY( 0x176, "fb1-insert-characters" ),
- TOKEN_ENTRY( 0x177, "fb1-delete-characters" ),
- TOKEN_ENTRY( 0x178, "fb1-insert-lines" ),
- TOKEN_ENTRY( 0x179, "fb1-delete-lines" ),
- TOKEN_ENTRY( 0x17a, "fb1-draw-logo" ),
- TOKEN_ENTRY( 0x17b, "fb1-install" ),
- TOKEN_ENTRY( 0x17c, "fb1-slide-up" ),
- TOKEN_ENTRY( 0x180, "fb8-draw-character" ),
- TOKEN_ENTRY( 0x181, "fb8-reset-screen" ),
- TOKEN_ENTRY( 0x182, "fb8-toggle-cursor" ),
- TOKEN_ENTRY( 0x183, "fb8-erase-screen" ),
- TOKEN_ENTRY( 0x184, "fb8-blink-screen" ),
- TOKEN_ENTRY( 0x185, "fb8-invert-screen" ),
- TOKEN_ENTRY( 0x186, "fb8-insert-characters" ),
- TOKEN_ENTRY( 0x187, "fb8-delete-characters" ),
- TOKEN_ENTRY( 0x188, "fb8-insert-lines" ),
- TOKEN_ENTRY( 0x189, "fb8-delete-lines" ),
- TOKEN_ENTRY( 0x18a, "fb8-draw-logo" ),
- TOKEN_ENTRY( 0x18b, "fb8-install" ),
- TOKEN_ENTRY( 0x1a0, "return-buffer" ),
- TOKEN_ENTRY( 0x1a1, "xmit-packet" ),
- TOKEN_ENTRY( 0x1a2, "poll-packet" ),
- TOKEN_ENTRY( 0x1a4, "mac-address" ),
- TOKEN_ENTRY( 0x201, "device-name" ),
- TOKEN_ENTRY( 0x202, "my-args" ),
- TOKEN_ENTRY( 0x203, "my-self" ),
- TOKEN_ENTRY( 0x204, "find-package" ),
- TOKEN_ENTRY( 0x205, "open-package" ),
- TOKEN_ENTRY( 0x206, "close-package" ),
- TOKEN_ENTRY( 0x207, "find-method" ),
- TOKEN_ENTRY( 0x208, "call-package" ),
- TOKEN_ENTRY( 0x209, "$call-parent" ),
- TOKEN_ENTRY( 0x20a, "my-parent" ),
- TOKEN_ENTRY( 0x20b, "ihandle>phandle" ),
- TOKEN_ENTRY( 0x20d, "my-unit" ),
- TOKEN_ENTRY( 0x20e, "$call-method" ),
- TOKEN_ENTRY( 0x20f, "$open-package" ),
- TOKEN_ENTRY( 0x210, "processor-type" ),
- TOKEN_ENTRY( 0x211, "firmware-version" ),
- TOKEN_ENTRY( 0x212, "fcode-version" ),
- TOKEN_ENTRY( 0x213, "alarm" ),
- TOKEN_ENTRY( 0x214, "(is-user-word)" ),
- TOKEN_ENTRY( 0x215, "suspend-fcode" ),
- TOKEN_ENTRY( 0x216, "abort" ),
- TOKEN_ENTRY( 0x217, "catch" ),
- TOKEN_ENTRY( 0x218, "throw" ),
- TOKEN_ENTRY( 0x219, "user-abort" ),
- TOKEN_ENTRY( 0x21a, "get-my-property" ),
- TOKEN_ENTRY( 0x21b, "decode-int" ),
- TOKEN_ENTRY( 0x21c, "decode-string" ),
- TOKEN_ENTRY( 0x21d, "get-inherited-property" ),
- TOKEN_ENTRY( 0x21e, "delete-property" ),
- TOKEN_ENTRY( 0x21f, "get-package-property" ),
- TOKEN_ENTRY( 0x220, "cpeek" ),
- TOKEN_ENTRY( 0x221, "wpeek" ),
- TOKEN_ENTRY( 0x222, "lpeek" ),
- TOKEN_ENTRY( 0x223, "cpoke" ),
- TOKEN_ENTRY( 0x224, "wpoke" ),
- TOKEN_ENTRY( 0x225, "lpoke" ),
- TOKEN_ENTRY( 0x226, "lwflip" ),
- TOKEN_ENTRY( 0x227, "lbflip" ),
- TOKEN_ENTRY( 0x228, "lbflips" ),
- TOKEN_ENTRY( 0x229, "adr-mask" ),
- TOKEN_ENTRY( 0x230, "rb@" ),
- TOKEN_ENTRY( 0x231, "rb!" ),
- TOKEN_ENTRY( 0x232, "rw@" ),
- TOKEN_ENTRY( 0x233, "rw!" ),
- TOKEN_ENTRY( 0x234, "rl@" ),
- TOKEN_ENTRY( 0x235, "rl!" ),
- TOKEN_ENTRY( 0x236, "wbflips" ),
- TOKEN_ENTRY( 0x237, "lwflips" ),
- TOKEN_ENTRY( 0x238, "probe" ),
- TOKEN_ENTRY( 0x239, "probe-virtual" ),
- TOKEN_ENTRY( 0x23b, "child" ),
- TOKEN_ENTRY( 0x23c, "peer" ),
- TOKEN_ENTRY( 0x23d, "next-property" ),
- TOKEN_ENTRY( 0x23e, "byte-load" ),
- TOKEN_ENTRY( 0x23f, "set-args" ),
- TOKEN_ENTRY( 0x240, "left-parse-string" ),
+ TOKEN_ENTRY(0x000, "end0"),
+ TOKEN_ENTRY(0x010, "b(lit)"),
+ TOKEN_ENTRY(0x011, "b(')"),
+ TOKEN_ENTRY(0x012, "b(\")"),
+ TOKEN_ENTRY(0x013, "bbranch"),
+ TOKEN_ENTRY(0x014, "b?branch"),
+ TOKEN_ENTRY(0x015, "b(loop)"),
+ TOKEN_ENTRY(0x016, "b(+loop)"),
+ TOKEN_ENTRY(0x017, "b(do)"),
+ TOKEN_ENTRY(0x018, "b(?do)"),
+ TOKEN_ENTRY(0x019, "i"),
+ TOKEN_ENTRY(0x01a, "j"),
+ TOKEN_ENTRY(0x01b, "b(leave)"),
+ TOKEN_ENTRY(0x01c, "b(of)"),
+ TOKEN_ENTRY(0x01d, "execute"),
+ TOKEN_ENTRY(0x01e, "+"),
+ TOKEN_ENTRY(0x01f, "-"),
+ TOKEN_ENTRY(0x020, "*"),
+ TOKEN_ENTRY(0x021, "/"),
+ TOKEN_ENTRY(0x022, "mod"),
+ TOKEN_ENTRY(0x023, "and"),
+ TOKEN_ENTRY(0x024, "or"),
+ TOKEN_ENTRY(0x025, "xor"),
+ TOKEN_ENTRY(0x026, "invert"),
+ TOKEN_ENTRY(0x027, "lshift"),
+ TOKEN_ENTRY(0x028, "rshift"),
+ TOKEN_ENTRY(0x029, ">>a"),
+ TOKEN_ENTRY(0x02a, "/mod"),
+ TOKEN_ENTRY(0x02b, "u/mod"),
+ TOKEN_ENTRY(0x02c, "negate"),
+ TOKEN_ENTRY(0x02d, "abs"),
+ TOKEN_ENTRY(0x02e, "min"),
+ TOKEN_ENTRY(0x02f, "max"),
+ TOKEN_ENTRY(0x030, ">r"),
+ TOKEN_ENTRY(0x031, "r>"),
+ TOKEN_ENTRY(0x032, "r@"),
+ TOKEN_ENTRY(0x033, "exit"),
+ TOKEN_ENTRY(0x034, "0="),
+ TOKEN_ENTRY(0x035, "0<>"),
+ TOKEN_ENTRY(0x036, "0<"),
+ TOKEN_ENTRY(0x037, "0<="),
+ TOKEN_ENTRY(0x038, "0>"),
+ TOKEN_ENTRY(0x039, "0>="),
+ TOKEN_ENTRY(0x03a, "<"),
+ TOKEN_ENTRY(0x03b, ">"),
+ TOKEN_ENTRY(0x03c, "="),
+ TOKEN_ENTRY(0x03d, "<>"),
+ TOKEN_ENTRY(0x03e, "u>"),
+ TOKEN_ENTRY(0x03f, "u<="),
+ TOKEN_ENTRY(0x040, "u<"),
+ TOKEN_ENTRY(0x041, "u>="),
+ TOKEN_ENTRY(0x042, ">="),
+ TOKEN_ENTRY(0x043, "<="),
+ TOKEN_ENTRY(0x044, "between"),
+ TOKEN_ENTRY(0x045, "within"),
+ TOKEN_ENTRY(0x046, "drop"),
+ TOKEN_ENTRY(0x047, "dup"),
+ TOKEN_ENTRY(0x048, "over"),
+ TOKEN_ENTRY(0x049, "swap"),
+ TOKEN_ENTRY(0x04A, "rot"),
+ TOKEN_ENTRY(0x04b, "-rot"),
+ TOKEN_ENTRY(0x04c, "tuck"),
+ TOKEN_ENTRY(0x04d, "nip"),
+ TOKEN_ENTRY(0x04e, "pick"),
+ TOKEN_ENTRY(0x04f, "roll"),
+ TOKEN_ENTRY(0x050, "?dup"),
+ TOKEN_ENTRY(0x051, "depth"),
+ TOKEN_ENTRY(0x052, "2drop"),
+ TOKEN_ENTRY(0x053, "2dup"),
+ TOKEN_ENTRY(0x054, "2over"),
+ TOKEN_ENTRY(0x055, "2swap"),
+ TOKEN_ENTRY(0x056, "2rot"),
+ TOKEN_ENTRY(0x057, "2/"),
+ TOKEN_ENTRY(0x058, "u2/"),
+ TOKEN_ENTRY(0x059, "2*"),
+ TOKEN_ENTRY(0x05a, "/c"),
+ TOKEN_ENTRY(0x05b, "/w"),
+ TOKEN_ENTRY(0x05c, "/l"),
+ TOKEN_ENTRY(0x05d, "/n"),
+ TOKEN_ENTRY(0x05e, "ca+"),
+ TOKEN_ENTRY(0x05f, "wa+"),
+ TOKEN_ENTRY(0x060, "la+"),
+ TOKEN_ENTRY(0x061, "na+"),
+ TOKEN_ENTRY(0x062, "char+"),
+ TOKEN_ENTRY(0x063, "wa1+"),
+ TOKEN_ENTRY(0x064, "la1+"),
+ TOKEN_ENTRY(0x065, "cell+"),
+ TOKEN_ENTRY(0x066, "chars"),
+ TOKEN_ENTRY(0x067, "/w*"),
+ TOKEN_ENTRY(0x068, "/l*"),
+ TOKEN_ENTRY(0x069, "cells"),
+ TOKEN_ENTRY(0x06a, "on"),
+ TOKEN_ENTRY(0x06b, "off"),
+ TOKEN_ENTRY(0x06c, "+!"),
+ TOKEN_ENTRY(0x06d, "@"),
+ TOKEN_ENTRY(0x06e, "l@"),
+ TOKEN_ENTRY(0x06f, "w@"),
+ TOKEN_ENTRY(0x070, "<w@"),
+ TOKEN_ENTRY(0x071, "c@"),
+ TOKEN_ENTRY(0x072, "!"),
+ TOKEN_ENTRY(0x073, "l!"),
+ TOKEN_ENTRY(0x074, "w!"),
+ TOKEN_ENTRY(0x075, "c!"),
+ TOKEN_ENTRY(0x076, "2@"),
+ TOKEN_ENTRY(0x077, "2!"),
+ TOKEN_ENTRY(0x078, "move"),
+ TOKEN_ENTRY(0x079, "fill"),
+ TOKEN_ENTRY(0x07a, "comp"),
+ TOKEN_ENTRY(0x07b, "noop"),
+ TOKEN_ENTRY(0x07c, "lwsplit"),
+ TOKEN_ENTRY(0x07d, "wljoin"),
+ TOKEN_ENTRY(0x07e, "lbsplit"),
+ TOKEN_ENTRY(0x07f, "bljoin"),
+ TOKEN_ENTRY(0x080, "wbflip"),
+ TOKEN_ENTRY(0x081, "upc"),
+ TOKEN_ENTRY(0x082, "lcc"),
+ TOKEN_ENTRY(0x083, "pack"),
+ TOKEN_ENTRY(0x084, "count"),
+ TOKEN_ENTRY(0x085, "body>"),
+ TOKEN_ENTRY(0x086, ">body"),
+ TOKEN_ENTRY(0x087, "fcode-revision"),
+ TOKEN_ENTRY(0x088, "span"),
+ TOKEN_ENTRY(0x089, "unloop"),
+ TOKEN_ENTRY(0x08a, "expect"),
+ TOKEN_ENTRY(0x08b, "alloc-mem"),
+ TOKEN_ENTRY(0x08c, "free-mem"),
+ TOKEN_ENTRY(0x08d, "key?"),
+ TOKEN_ENTRY(0x08e, "key"),
+ TOKEN_ENTRY(0x08f, "emit"),
+ TOKEN_ENTRY(0x090, "type"),
+ TOKEN_ENTRY(0x091, "(cr"),
+ TOKEN_ENTRY(0x092, "cr"),
+ TOKEN_ENTRY(0x093, "#out"),
+ TOKEN_ENTRY(0x094, "#line"),
+ TOKEN_ENTRY(0x095, "hold"),
+ TOKEN_ENTRY(0x096, "<#"),
+ TOKEN_ENTRY(0x097, "u#>"),
+ TOKEN_ENTRY(0x098, "sign"),
+ TOKEN_ENTRY(0x099, "u#"),
+ TOKEN_ENTRY(0x09a, "u#s"),
+ TOKEN_ENTRY(0x09b, "u."),
+ TOKEN_ENTRY(0x09c, "u.r"),
+ TOKEN_ENTRY(0x09d, "."),
+ TOKEN_ENTRY(0x09e, ".r"),
+ TOKEN_ENTRY(0x09f, ".s"),
+ TOKEN_ENTRY(0x0a0, "base"),
+ TOKEN_ENTRY(0x0a1, "convert"),
+ TOKEN_ENTRY(0x0a2, "$number"),
+ TOKEN_ENTRY(0x0a3, "digit"),
+ TOKEN_ENTRY(0x0a4, "-1"),
+ TOKEN_ENTRY(0x0a5, "0"),
+ TOKEN_ENTRY(0x0a6, "1"),
+ TOKEN_ENTRY(0x0a7, "2"),
+ TOKEN_ENTRY(0x0a8, "3"),
+ TOKEN_ENTRY(0x0a9, "bl"),
+ TOKEN_ENTRY(0x0aa, "bs"),
+ TOKEN_ENTRY(0x0ab, "bell"),
+ TOKEN_ENTRY(0x0ac, "bounds"),
+ TOKEN_ENTRY(0x0ad, "here"),
+ TOKEN_ENTRY(0x0ae, "aligned"),
+ TOKEN_ENTRY(0x0af, "wbsplit"),
+ TOKEN_ENTRY(0x0b0, "bwjoin"),
+ TOKEN_ENTRY(0x0b1, "b(<mark)"),
+ TOKEN_ENTRY(0x0b2, "b(>resolve)"),
+ TOKEN_ENTRY(0x0b3, "set-token-table"),
+ TOKEN_ENTRY(0x0b4, "set-table"),
+ TOKEN_ENTRY(0x0b5, "new-token"),
+ TOKEN_ENTRY(0x0b6, "named-token"),
+ TOKEN_ENTRY(0x0b7, "b(:)"),
+ TOKEN_ENTRY(0x0b8, "b(value)"),
+ TOKEN_ENTRY(0x0b9, "b(variable)"),
+ TOKEN_ENTRY(0x0ba, "b(constant)"),
+ TOKEN_ENTRY(0x0bb, "b(create)"),
+ TOKEN_ENTRY(0x0bc, "b(defer)"),
+ TOKEN_ENTRY(0x0bd, "b(buffer:)"),
+ TOKEN_ENTRY(0x0be, "b(field)"),
+ TOKEN_ENTRY(0x0bf, "b(code)"),
+ TOKEN_ENTRY(0x0c0, "instance"),
+ TOKEN_ENTRY(0x0c2, "b(;)"),
+ TOKEN_ENTRY(0x0c3, "b(to)"),
+ TOKEN_ENTRY(0x0c4, "b(case)"),
+ TOKEN_ENTRY(0x0c5, "b(endcase)"),
+ TOKEN_ENTRY(0x0c6, "b(endof)"),
+ TOKEN_ENTRY(0x0c7, "#"),
+ TOKEN_ENTRY(0x0c8, "#s"),
+ TOKEN_ENTRY(0x0c9, "#>"),
+ TOKEN_ENTRY(0x0ca, "external-token"),
+ TOKEN_ENTRY(0x0cb, "$find"),
+ TOKEN_ENTRY(0x0cc, "offset16"),
+ TOKEN_ENTRY(0x0cd, "evaluate"),
+ TOKEN_ENTRY(0x0d0, "c,"),
+ TOKEN_ENTRY(0x0d1, "w,"),
+ TOKEN_ENTRY(0x0d2, "l,"),
+ TOKEN_ENTRY(0x0d3, ","),
+ TOKEN_ENTRY(0x0d4, "um*"),
+ TOKEN_ENTRY(0x0d5, "um/mod"),
+ TOKEN_ENTRY(0x0d8, "d+"),
+ TOKEN_ENTRY(0x0d9, "d-"),
+ TOKEN_ENTRY(0x0da, "get-token"),
+ TOKEN_ENTRY(0x0db, "set-token"),
+ TOKEN_ENTRY(0x0dc, "state"),
+ TOKEN_ENTRY(0x0dd, "compile"),
+ TOKEN_ENTRY(0x0de, "behavior"),
+ TOKEN_ENTRY(0x0f0, "start0"),
+ TOKEN_ENTRY(0x0f1, "start1"),
+ TOKEN_ENTRY(0x0f2, "start2"),
+ TOKEN_ENTRY(0x0f3, "start4"),
+ TOKEN_ENTRY(0x0fc, "ferror"),
+ TOKEN_ENTRY(0x0fd, "version1"),
+ TOKEN_ENTRY(0x0fe, "4-byte-id"),
+ TOKEN_ENTRY(0x0ff, "end1"),
+ TOKEN_ENTRY(0x101, "dma-alloc"),
+ TOKEN_ENTRY(0x102, "my-address"),
+ TOKEN_ENTRY(0x103, "my-space"),
+ TOKEN_ENTRY(0x104, "memmap"),
+ TOKEN_ENTRY(0x105, "free-virtual"),
+ TOKEN_ENTRY(0x106, ">physical"),
+ TOKEN_ENTRY(0x10f, "my-params"),
+ TOKEN_ENTRY(0x110, "property"),
+ TOKEN_ENTRY(0x111, "encode-int"),
+ TOKEN_ENTRY(0x112, "encode+"),
+ TOKEN_ENTRY(0x113, "encode-phys"),
+ TOKEN_ENTRY(0x114, "encode-string"),
+ TOKEN_ENTRY(0x115, "encode-bytes"),
+ TOKEN_ENTRY(0x116, "reg"),
+ TOKEN_ENTRY(0x117, "intr"),
+ TOKEN_ENTRY(0x118, "driver"),
+ TOKEN_ENTRY(0x119, "model"),
+ TOKEN_ENTRY(0x11a, "device-type"),
+ TOKEN_ENTRY(0x11b, "parse-2int"),
+ TOKEN_ENTRY(0x11c, "is-install"),
+ TOKEN_ENTRY(0x11d, "is-remove"),
+ TOKEN_ENTRY(0x11e, "is-selftest"),
+ TOKEN_ENTRY(0x11f, "new-device"),
+ TOKEN_ENTRY(0x120, "diagnostic-mode?"),
+ TOKEN_ENTRY(0x121, "display-status"),
+ TOKEN_ENTRY(0x122, "memory-test-issue"),
+ TOKEN_ENTRY(0x123, "group-code"),
+ TOKEN_ENTRY(0x124, "mask"),
+ TOKEN_ENTRY(0x125, "get-msecs"),
+ TOKEN_ENTRY(0x126, "ms"),
+ TOKEN_ENTRY(0x127, "finish-device"),
+ TOKEN_ENTRY(0x128, "decode-phys"),
+ TOKEN_ENTRY(0x12b, "interpose"),
+ TOKEN_ENTRY(0x130, "map-low"),
+ TOKEN_ENTRY(0x131, "sbus-intr>cpu"),
+ TOKEN_ENTRY(0x150, "#lines"),
+ TOKEN_ENTRY(0x151, "#columns"),
+ TOKEN_ENTRY(0x152, "line#"),
+ TOKEN_ENTRY(0x153, "column#"),
+ TOKEN_ENTRY(0x154, "inverse?"),
+ TOKEN_ENTRY(0x155, "inverse-screen?"),
+ TOKEN_ENTRY(0x156, "frame-buffer-busy?"),
+ TOKEN_ENTRY(0x157, "draw-character"),
+ TOKEN_ENTRY(0x158, "reset-screen"),
+ TOKEN_ENTRY(0x159, "toggle-cursor"),
+ TOKEN_ENTRY(0x15a, "erase-screen"),
+ TOKEN_ENTRY(0x15b, "blink-screen"),
+ TOKEN_ENTRY(0x15c, "invert-screen"),
+ TOKEN_ENTRY(0x15d, "insert-characters"),
+ TOKEN_ENTRY(0x15e, "delete-characters"),
+ TOKEN_ENTRY(0x15f, "insert-lines"),
+ TOKEN_ENTRY(0x160, "delete-lines"),
+ TOKEN_ENTRY(0x161, "draw-logo"),
+ TOKEN_ENTRY(0x162, "frame-buffer-adr"),
+ TOKEN_ENTRY(0x163, "screen-height"),
+ TOKEN_ENTRY(0x164, "screen-width"),
+ TOKEN_ENTRY(0x165, "window-top"),
+ TOKEN_ENTRY(0x166, "window-left"),
+ TOKEN_ENTRY(0x16a, "default-font"),
+ TOKEN_ENTRY(0x16b, "set-font"),
+ TOKEN_ENTRY(0x16c, "char-height"),
+ TOKEN_ENTRY(0x16d, "char-width"),
+ TOKEN_ENTRY(0x16e, ">font"),
+ TOKEN_ENTRY(0x16f, "fontbytes"),
+ TOKEN_ENTRY(0x170, "fb1-draw-character"),
+ TOKEN_ENTRY(0x171, "fb1-reset-screen"),
+ TOKEN_ENTRY(0x172, "fb1-toggle-cursor"),
+ TOKEN_ENTRY(0x173, "fb1-erase-screen"),
+ TOKEN_ENTRY(0x174, "fb1-blink-screen"),
+ TOKEN_ENTRY(0x175, "fb1-invert-screen"),
+ TOKEN_ENTRY(0x176, "fb1-insert-characters"),
+ TOKEN_ENTRY(0x177, "fb1-delete-characters"),
+ TOKEN_ENTRY(0x178, "fb1-insert-lines"),
+ TOKEN_ENTRY(0x179, "fb1-delete-lines"),
+ TOKEN_ENTRY(0x17a, "fb1-draw-logo"),
+ TOKEN_ENTRY(0x17b, "fb1-install"),
+ TOKEN_ENTRY(0x17c, "fb1-slide-up"),
+ TOKEN_ENTRY(0x180, "fb8-draw-character"),
+ TOKEN_ENTRY(0x181, "fb8-reset-screen"),
+ TOKEN_ENTRY(0x182, "fb8-toggle-cursor"),
+ TOKEN_ENTRY(0x183, "fb8-erase-screen"),
+ TOKEN_ENTRY(0x184, "fb8-blink-screen"),
+ TOKEN_ENTRY(0x185, "fb8-invert-screen"),
+ TOKEN_ENTRY(0x186, "fb8-insert-characters"),
+ TOKEN_ENTRY(0x187, "fb8-delete-characters"),
+ TOKEN_ENTRY(0x188, "fb8-insert-lines"),
+ TOKEN_ENTRY(0x189, "fb8-delete-lines"),
+ TOKEN_ENTRY(0x18a, "fb8-draw-logo"),
+ TOKEN_ENTRY(0x18b, "fb8-install"),
+ TOKEN_ENTRY(0x1a0, "return-buffer"),
+ TOKEN_ENTRY(0x1a1, "xmit-packet"),
+ TOKEN_ENTRY(0x1a2, "poll-packet"),
+ TOKEN_ENTRY(0x1a4, "mac-address"),
+ TOKEN_ENTRY(0x201, "device-name"),
+ TOKEN_ENTRY(0x202, "my-args"),
+ TOKEN_ENTRY(0x203, "my-self"),
+ TOKEN_ENTRY(0x204, "find-package"),
+ TOKEN_ENTRY(0x205, "open-package"),
+ TOKEN_ENTRY(0x206, "close-package"),
+ TOKEN_ENTRY(0x207, "find-method"),
+ TOKEN_ENTRY(0x208, "call-package"),
+ TOKEN_ENTRY(0x209, "$call-parent"),
+ TOKEN_ENTRY(0x20a, "my-parent"),
+ TOKEN_ENTRY(0x20b, "ihandle>phandle"),
+ TOKEN_ENTRY(0x20d, "my-unit"),
+ TOKEN_ENTRY(0x20e, "$call-method"),
+ TOKEN_ENTRY(0x20f, "$open-package"),
+ TOKEN_ENTRY(0x210, "processor-type"),
+ TOKEN_ENTRY(0x211, "firmware-version"),
+ TOKEN_ENTRY(0x212, "fcode-version"),
+ TOKEN_ENTRY(0x213, "alarm"),
+ TOKEN_ENTRY(0x214, "(is-user-word)"),
+ TOKEN_ENTRY(0x215, "suspend-fcode"),
+ TOKEN_ENTRY(0x216, "abort"),
+ TOKEN_ENTRY(0x217, "catch"),
+ TOKEN_ENTRY(0x218, "throw"),
+ TOKEN_ENTRY(0x219, "user-abort"),
+ TOKEN_ENTRY(0x21a, "get-my-property"),
+ TOKEN_ENTRY(0x21b, "decode-int"),
+ TOKEN_ENTRY(0x21c, "decode-string"),
+ TOKEN_ENTRY(0x21d, "get-inherited-property"),
+ TOKEN_ENTRY(0x21e, "delete-property"),
+ TOKEN_ENTRY(0x21f, "get-package-property"),
+ TOKEN_ENTRY(0x220, "cpeek"),
+ TOKEN_ENTRY(0x221, "wpeek"),
+ TOKEN_ENTRY(0x222, "lpeek"),
+ TOKEN_ENTRY(0x223, "cpoke"),
+ TOKEN_ENTRY(0x224, "wpoke"),
+ TOKEN_ENTRY(0x225, "lpoke"),
+ TOKEN_ENTRY(0x226, "lwflip"),
+ TOKEN_ENTRY(0x227, "lbflip"),
+ TOKEN_ENTRY(0x228, "lbflips"),
+ TOKEN_ENTRY(0x229, "adr-mask"),
+ TOKEN_ENTRY(0x230, "rb@"),
+ TOKEN_ENTRY(0x231, "rb!"),
+ TOKEN_ENTRY(0x232, "rw@"),
+ TOKEN_ENTRY(0x233, "rw!"),
+ TOKEN_ENTRY(0x234, "rl@"),
+ TOKEN_ENTRY(0x235, "rl!"),
+ TOKEN_ENTRY(0x236, "wbflips"),
+ TOKEN_ENTRY(0x237, "lwflips"),
+ TOKEN_ENTRY(0x238, "probe"),
+ TOKEN_ENTRY(0x239, "probe-virtual"),
+ TOKEN_ENTRY(0x23b, "child"),
+ TOKEN_ENTRY(0x23c, "peer"),
+ TOKEN_ENTRY(0x23d, "next-property"),
+ TOKEN_ENTRY(0x23e, "byte-load"),
+ TOKEN_ENTRY(0x23f, "set-args"),
+ TOKEN_ENTRY(0x240, "left-parse-string"),
/* FCodes from 64bit extension addendum */
- TOKEN_ENTRY( 0x22e, "rx@" ),
- TOKEN_ENTRY( 0x22f, "rx!" ),
- TOKEN_ENTRY( 0x241, "bxjoin" ),
- TOKEN_ENTRY( 0x242, "<l@" ),
- TOKEN_ENTRY( 0x243, "lxjoin" ),
- TOKEN_ENTRY( 0x244, "wxjoin" ),
- TOKEN_ENTRY( 0x245, "x," ),
- TOKEN_ENTRY( 0x246, "x@" ),
- TOKEN_ENTRY( 0x247, "x!" ),
- TOKEN_ENTRY( 0x248, "/x" ),
- TOKEN_ENTRY( 0x249, "/x*" ),
- TOKEN_ENTRY( 0x24a, "xa+" ),
- TOKEN_ENTRY( 0x24b, "xa1+" ),
- TOKEN_ENTRY( 0x24c, "xbflip" ),
- TOKEN_ENTRY( 0x24d, "xbflips" ),
- TOKEN_ENTRY( 0x24e, "xbsplit" ),
- TOKEN_ENTRY( 0x24f, "xlflip" ),
- TOKEN_ENTRY( 0x250, "xlflips" ),
- TOKEN_ENTRY( 0x251, "xlsplit" ),
- TOKEN_ENTRY( 0x252, "xwflip" ),
- TOKEN_ENTRY( 0x253, "xwflips" ),
- TOKEN_ENTRY( 0x254, "xwsplit" ),
+ TOKEN_ENTRY(0x22e, "rx@"),
+ TOKEN_ENTRY(0x22f, "rx!"),
+ TOKEN_ENTRY(0x241, "bxjoin"),
+ TOKEN_ENTRY(0x242, "<l@"),
+ TOKEN_ENTRY(0x243, "lxjoin"),
+ TOKEN_ENTRY(0x244, "wxjoin"),
+ TOKEN_ENTRY(0x245, "x,"),
+ TOKEN_ENTRY(0x246, "x@"),
+ TOKEN_ENTRY(0x247, "x!"),
+ TOKEN_ENTRY(0x248, "/x"),
+ TOKEN_ENTRY(0x249, "/x*"),
+ TOKEN_ENTRY(0x24a, "xa+"),
+ TOKEN_ENTRY(0x24b, "xa1+"),
+ TOKEN_ENTRY(0x24c, "xbflip"),
+ TOKEN_ENTRY(0x24d, "xbflips"),
+ TOKEN_ENTRY(0x24e, "xbsplit"),
+ TOKEN_ENTRY(0x24f, "xlflip"),
+ TOKEN_ENTRY(0x250, "xlflips"),
+ TOKEN_ENTRY(0x251, "xlsplit"),
+ TOKEN_ENTRY(0x252, "xwflip"),
+ TOKEN_ENTRY(0x253, "xwflips"),
+ TOKEN_ENTRY(0x254, "xwsplit"),
};
-static const int dictionary_indx_max = (sizeof(detok_table)/sizeof(token_t)) ;
+static const int dictionary_indx_max =
+ (sizeof(detok_table) / sizeof(token_t));
static token_t *dictionary_reset_position;
-void init_dictionary(void)
+void init_dictionary(void)
{
- int indx;
+ int indx;
- dictionary = &detok_table[dictionary_indx_max-1];
- dictionary_reset_position = dictionary;
+ dictionary = &detok_table[dictionary_indx_max - 1];
+ dictionary_reset_position = dictionary;
- for (indx = 1; indx < dictionary_indx_max ; indx++ )
- {
- detok_table[indx].next = &detok_table[indx-1];
- }
+ for (indx = 1; indx < dictionary_indx_max; indx++) {
+ detok_table[indx].next = &detok_table[indx - 1];
+ }
}
-void reset_dictionary(void)
+void reset_dictionary(void)
{
- token_t *next_t;
+ token_t *next_t;
- next_t = dictionary;
- while ( next_t != dictionary_reset_position )
- {
- next_t = dictionary->next ;
- free( dictionary->name );
- free( dictionary );
- dictionary = next_t ;
- }
+ next_t = dictionary;
+ while (next_t != dictionary_reset_position) {
+ next_t = dictionary->next;
+ free(dictionary->name);
+ free(dictionary);
+ dictionary = next_t;
+ }
}
/* If FCodes have been added by User, we need to update reset-position */
void freeze_dictionary(void)
{
- dictionary_reset_position = dictionary;
+ dictionary_reset_position = dictionary;
}
Modified: fcode-utils/detok/pcihdr.c
===================================================================
--- fcode-utils/detok/pcihdr.c 2006-10-14 21:07:27 UTC (rev 95)
+++ fcode-utils/detok/pcihdr.c 2006-10-14 21:32:13 UTC (rev 96)
@@ -136,18 +136,17 @@
*
**************************************************************************** */
-static int is_pci_header ( rom_header_t *pci_rom_hdr )
+static int is_pci_header(rom_header_t * pci_rom_hdr)
{
- const u16 pci_header_signature = 0x55aa;
- int retval ;
+ const u16 pci_header_signature = 0x55aa;
+ int retval;
- retval = 0;
+ retval = 0;
- if ( BIG_ENDIAN_WORD_FETCH(pci_rom_hdr->signature) == pci_header_signature )
- {
- retval = LITTLE_ENDIAN_WORD_FETCH(pci_rom_hdr->data_ptr);
- }
- return(retval);
+ if (BIG_ENDIAN_WORD_FETCH(pci_rom_hdr->signature) == pci_header_signature) {
+ retval = LITTLE_ENDIAN_WORD_FETCH(pci_rom_hdr->data_ptr);
+ }
+ return (retval);
}
/* **************************************************************************
@@ -196,20 +195,19 @@
*
**************************************************************************** */
-static int is_pci_data_struct ( pci_data_t *pci_data_ptr )
+static int is_pci_data_struct(pci_data_t * pci_data_ptr)
{
- int retval ;
+ int retval;
- retval = 0;
+ retval = 0;
- if (BIG_ENDIAN_LONG_FETCH(pci_data_ptr->signature) == PCI_DATA_HDR)
- {
- retval = LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->dlen);
- }
- return(retval);
+ if (BIG_ENDIAN_LONG_FETCH(pci_data_ptr->signature) == PCI_DATA_HDR) {
+ retval = LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->dlen);
+ }
+ return (retval);
}
-
+
/* **************************************************************************
*
* Function name: announce_pci_hdr ( rom_header_t *pci_rom_hdr )
@@ -226,16 +224,16 @@
*
**************************************************************************** */
-static void announce_pci_hdr ( rom_header_t *pci_rom_hdr )
+static void announce_pci_hdr(rom_header_t * pci_rom_hdr)
{
- char temp_buf[80];
- u32 temp;
+ char temp_buf[80];
+ u32 temp;
- printremark ( "PCI Header identified");
- temp=(u32)LITTLE_ENDIAN_WORD_FETCH(pci_rom_hdr->data_ptr);
- sprintf(temp_buf, " Offset to Data Structure = 0x%04x (%d)\n",
- temp, temp);
- printremark ( temp_buf );
+ printremark("PCI Header identified");
+ temp = (u32) LITTLE_ENDIAN_WORD_FETCH(pci_rom_hdr->data_ptr);
+ sprintf(temp_buf, " Offset to Data Structure = 0x%04x (%d)\n",
+ temp, temp);
+ printremark(temp_buf);
}
/* **************************************************************************
@@ -266,57 +264,56 @@
*
**************************************************************************** */
-static void announce_pci_data_struct ( pci_data_t *pci_data_ptr )
+static void announce_pci_data_struct(pci_data_t * pci_data_ptr)
{
- char temp_buf[80];
- u32 temp;
+ char temp_buf[80];
+ u32 temp;
- printremark ( "PCI Data Structure identified");
+ printremark("PCI Data Structure identified");
- temp=(u32)LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->dlen);
- sprintf(temp_buf, " Data Structure Length = 0x%04x (%d)\n", temp, temp);
- printremark ( temp_buf );
+ temp = (u32) LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->dlen);
+ sprintf(temp_buf, " Data Structure Length = 0x%04x (%d)\n", temp, temp);
+ printremark(temp_buf);
- sprintf(temp_buf, " Vendor ID: 0x%04x\n",
- LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->vendor));
- printremark ( temp_buf );
+ sprintf(temp_buf, " Vendor ID: 0x%04x\n",
+ LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->vendor));
+ printremark(temp_buf);
- sprintf(temp_buf, " Device ID: 0x%04x\n",
- LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->device));
- printremark ( temp_buf );
+ sprintf(temp_buf, " Device ID: 0x%04x\n",
+ LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->device));
+ printremark(temp_buf);
- temp=(u32)CLASS_CODE_FETCH(pci_data_ptr->class_code);
- sprintf(temp_buf, " Class Code: 0x%06x (%s)",
- temp, pci_device_class_name(temp));
- printremark ( temp_buf );
+ temp = (u32) CLASS_CODE_FETCH(pci_data_ptr->class_code);
+ sprintf(temp_buf, " Class Code: 0x%06x (%s)",
+ temp, pci_device_class_name(temp));
+ printremark(temp_buf);
- temp=(u32)LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->vpd);
- if ( temp != 0 )
- {
- sprintf(temp_buf, " Vital Prod Data: 0x%02x\n", temp);
- printremark ( temp_buf );
- }
+ temp = (u32) LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->vpd);
+ if (temp != 0) {
+ sprintf(temp_buf, " Vital Prod Data: 0x%02x\n", temp);
+ printremark(temp_buf);
+ }
- temp=(u32)LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->irevision);
- if ( temp != 0 )
- {
- sprintf(temp_buf, " Image Revision: 0x%02x\n", temp);
- printremark ( temp_buf );
- }
+ temp = (u32) LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->irevision);
+ if (temp != 0) {
+ sprintf(temp_buf, " Image Revision: 0x%02x\n", temp);
+ printremark(temp_buf);
+ }
- sprintf(temp_buf, " Code Type: 0x%02x (%s)\n", pci_data_ptr->code_type,
- pci_code_type_name(pci_data_ptr->code_type) );
- printremark ( temp_buf );
+ sprintf(temp_buf, " Code Type: 0x%02x (%s)\n",
+ pci_data_ptr->code_type,
+ pci_code_type_name(pci_data_ptr->code_type));
+ printremark(temp_buf);
- temp=(u32)LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->ilen);
- pci_image_len = temp*512;
- sprintf(temp_buf, " Image Length: 0x%04x blocks (%d bytes)\n",
- temp, pci_image_len);
- printremark ( temp_buf );
+ temp = (u32) LITTLE_ENDIAN_WORD_FETCH(pci_data_ptr->ilen);
+ pci_image_len = temp * 512;
+ sprintf(temp_buf, " Image Length: 0x%04x blocks (%d bytes)\n",
+ temp, pci_image_len);
+ printremark(temp_buf);
- sprintf(temp_buf, " %sast PCI Image.\n",
- pci_data_ptr->last_image_flag&&0x80 != 0 ? "L" : "Not l");
- printremark ( temp_buf );
+ sprintf(temp_buf, " %sast PCI Image.\n",
+ pci_data_ptr->last_image_flag && 0x80 != 0 ? "L" : "Not l");
+ printremark(temp_buf);
}
@@ -369,46 +366,42 @@
*
**************************************************************************** */
-int handle_pci_header ( u8 *data_ptr )
+int handle_pci_header(u8 * data_ptr)
{
- int hdrlen;
- int data_struc_len;
- /* int retval; */ /* Not needed until we handle error cases... */
+ int hdrlen;
+ int data_struc_len;
+ /* int retval; *//* Not needed until we handle error cases... */
- data_struc_len = 0;
+ data_struc_len = 0;
- hdrlen = is_pci_header( (rom_header_t *)data_ptr );
- /* retval = hdrlen; */ /* Not needed yet... */
- if ( hdrlen < 0 )
- {
- /* Handle error case... */
- /* Leave null for now... */
- /* It might need to do a premature EXIT here... */
- } else {
- /* if hdrlen == 0 then we don't need to check a Data Structure */
- if ( hdrlen > 0 )
- {
- announce_pci_hdr ( (rom_header_t *)data_ptr );
- data_struc_len = is_pci_data_struct(
- (pci_data_t *) &data_ptr[hdrlen] );
- /*
- * A Data Structure Length of Zero would be an error
- * that could be detected by is_pci_data_struct()
- */
- if ( data_struc_len <= 0 )
- {
- /* Handle error case... */
- /* Leave null for now... */
- /* It might need to do a premature EXIT here... */
- /* retval = -1; */ /* Not needed yet... */
- } else {
- announce_pci_data_struct ( (pci_data_t *) &data_ptr[hdrlen] );
- pci_image_end = data_ptr + pci_image_len;
- /* retval = hdrlen+data_struc_len; */ /* Not needed yet... */
- }
- }
- }
- return (hdrlen+data_struc_len);
+ hdrlen = is_pci_header((rom_header_t *) data_ptr);
+ /* retval = hdrlen; *//* Not needed yet... */
+ if (hdrlen < 0) {
+ /* Handle error case... */
+ /* Leave null for now... */
+ /* It might need to do a premature EXIT here... */
+ } else {
+ /* if hdrlen == 0 then we don't need to check a Data Structure */
+ if (hdrlen > 0) {
+ announce_pci_hdr((rom_header_t *) data_ptr);
+ data_struc_len = is_pci_data_struct((pci_data_t *) & data_ptr[hdrlen]);
+ /*
+ * A Data Structure Length of Zero would be an error
+ * that could be detected by is_pci_data_struct()
+ */
+ if (data_struc_len <= 0) {
+ /* Handle error case... */
+ /* Leave null for now... */
+ /* It might need to do a premature EXIT here... */
+ /* retval = -1; *//* Not needed yet... */
+ } else {
+ announce_pci_data_struct((pci_data_t *) & data_ptr[hdrlen]);
+ pci_image_end = data_ptr + pci_image_len;
+ /* retval = hdrlen+data_struc_len; *//* Not needed yet... */
+ }
+ }
+ }
+ return (hdrlen + data_struc_len);
}
@@ -445,34 +438,30 @@
*
**************************************************************************** */
-void handle_pci_filler(u8 *filler_ptr)
+void handle_pci_filler(u8 * filler_ptr)
{
- u8 *scan_ptr;
- int filler_len;
- char temp_buf[80];
- bool all_zero = TRUE;
- u8 filler_byte = *filler_ptr;
+ u8 *scan_ptr;
+ int filler_len;
+ char temp_buf[80];
+ bool all_zero = TRUE;
+ u8 filler_byte = *filler_ptr;
- filler_len = pci_image_end - filler_ptr;
+ filler_len = pci_image_end - filler_ptr;
- for ( scan_ptr = filler_ptr;
- scan_ptr < pci_image_end;
- filler_byte = *(++scan_ptr) )
- {
- if ( filler_byte != 0 )
- {
- all_zero = FALSE;
- break;
- }
- }
-
- if ( all_zero )
- {
- sprintf(temp_buf, "PCI Image padded with %d bytes of zero", filler_len);
- }else{
- sprintf(temp_buf, "PCI Image padding-field of %d bytes "
- "had first non-zero byte at offset %ld",
- filler_len, scan_ptr - filler_ptr );
- }
- printremark ( temp_buf );
+ for (scan_ptr = filler_ptr;
+ scan_ptr < pci_image_end; filler_byte = *(++scan_ptr)) {
+ if (filler_byte != 0) {
+ all_zero = FALSE;
+ break;
+ }
+ }
+
+ if (all_zero) {
+ sprintf(temp_buf, "PCI Image padded with %d bytes of zero", filler_len);
+ } else {
+ sprintf(temp_buf, "PCI Image padding-field of %d bytes "
+ "had first non-zero byte at offset %ld",
+ filler_len, scan_ptr - filler_ptr);
+ }
+ printremark(temp_buf);
}
Modified: fcode-utils/detok/printformats.c
===================================================================
--- fcode-utils/detok/printformats.c 2006-10-14 21:07:27 UTC (rev 95)
+++ fcode-utils/detok/printformats.c 2006-10-14 21:32:13 UTC (rev 96)
@@ -84,57 +84,54 @@
*
**************************************************************************** */
-void printremark ( char *str)
+void printremark(char *str)
{
- char *strtmp ; /* Temporary pointer to current substring */
- int substrlen ; /* Length of current substring */
- char *substrend ; /* Pointer to end of current substring */
- char *strend ; /* Pointer to end of given string */
+ char *strtmp; /* Temporary pointer to current substring */
+ int substrlen; /* Length of current substring */
+ char *substrend; /* Pointer to end of current substring */
+ char *strend; /* Pointer to end of given string */
- char *strbfr ; /* Temporary substring buffer */
+ char *strbfr; /* Temporary substring buffer */
- /* Guarantee that the malloc will be big enough. */
- strbfr = (char *)malloc(strlen((char *)str)+1);
- if ( !strbfr )
- {
- printf ("No memory.\n");
- exit(-1);
- }
+ /* Guarantee that the malloc will be big enough. */
+ strbfr = (char *) malloc(strlen((char *) str) + 1);
+ if (!strbfr) {
+ printf("No memory.\n");
+ exit(-1);
+ }
- strtmp = str;
- strend = &str[strlen(str)];
+ strtmp = str;
+ strend = &str[strlen(str)];
- /* ******************************************************************
- *
- * Isolate the current substring; allow that the given
- * string might not be terminated with a new-line.
- *
- * The strend pointer provides a convenient means to
- * test for when we've reached the end.
- *
- ******************************************************************** */
+ /* ******************************************************************
+ *
+ * Isolate the current substring; allow that the given
+ * string might not be terminated with a new-line.
+ *
+ * The strend pointer provides a convenient means to
+ * test for when we've reached the end.
+ *
+ ******************************************************************** */
- while ( strtmp < strend )
- {
- substrend = strchr(strtmp , '\n');
- substrlen = ( substrend ? (substrend-strtmp) : strlen(strtmp) );
+ while (strtmp < strend) {
+ substrend = strchr(strtmp, '\n');
+ substrlen = (substrend ? (substrend - strtmp) : strlen(strtmp));
- strncpy (strbfr, strtmp, substrlen);
- /* **********************************************************
- *
- * strncpy() does not append a terminating null character,
- * so we have to.
- *
- ************************************************************ */
- strbfr[substrlen] = (char)0;
+ strncpy(strbfr, strtmp, substrlen);
+ /* **********************************************************
+ *
+ * strncpy() does not append a terminating null character,
+ * so we have to.
+ *
+ ************************************************************ */
+ strbfr[substrlen] = (char) 0;
- printf("\\ %s\n",strbfr);
+ printf("\\ %s\n", strbfr);
- strtmp = &strtmp[ substrlen + ( substrend ? 1 : 0 ) ] ;
+ strtmp = &strtmp[substrlen + (substrend ? 1 : 0)];
- }
+ }
- free(strbfr) ;
+ free(strbfr);
}
-
Modified: fcode-utils/detok/stream.c
===================================================================
--- fcode-utils/detok/stream.c 2006-10-14 21:07:27 UTC (rev 95)
+++ fcode-utils/detok/stream.c 2006-10-14 21:32:13 UTC (rev 96)
@@ -82,31 +82,31 @@
{
FILE *infile;
struct stat finfo;
-
- if (stat(name,&finfo))
+
+ if (stat(name, &finfo))
return -1;
-
- indata=malloc(finfo.st_size);
+
+ indata = malloc(finfo.st_size);
if (!indata)
return -1;
- infile=fopen(name,"r");
- if (!infile)
- return -1;
+ infile = fopen(name, "r");
+ if (!infile)
+ return -1;
- if (fread(indata, finfo.st_size, 1, infile)!=1) {
+ if (fread(indata, finfo.st_size, 1, infile) != 1) {
free(indata);
return -1;
}
fclose(infile);
-
- pc=indata;
+
+ pc = indata;
fc_start = indata;
- max=pc+finfo.st_size;
-
+ max = pc + finfo.st_size;
+
stream_max = finfo.st_size;
-
+
return 0;
}
@@ -121,7 +121,7 @@
void init_fcode_block(void)
{
fc_start = pc;
- linenum = 1 ;
+ linenum = 1;
}
@@ -133,7 +133,7 @@
int get_streampos(void)
{
- return (int)( pc - fc_start );
+ return (int) (pc - fc_start);
}
void set_streampos(int pos)
@@ -170,23 +170,21 @@
static void throw_eof(bool premature)
{
- char yoo = 'U';
- char eee = 'E';
- if ( premature)
- {
- printf("Premature ");
- yoo = 'u';
- eee = 'e';
- }
- if ( ! end_found )
- {
- printf("%cnexpected ",yoo);
- eee = 'e';
- }
- printf("%cnd of file.\n",eee);
- longjmp(eof_exception, -1);
+ char yoo = 'U';
+ char eee = 'E';
+ if (premature) {
+ printf("Premature ");
+ yoo = 'u';
+ eee = 'e';
+ }
+ if (!end_found) {
+ printf("%cnexpected ", yoo);
+ eee = 'e';
+ }
+ printf("%cnd of file.\n", eee);
+ longjmp(eof_exception, -1);
}
-
+
/* **************************************************************************
*
* Function name: get_bytes
@@ -230,18 +228,16 @@
static u8 *get_bytes(int nbytes)
{
- u8 *retval = pc;
- if ( pc == max )
- {
- throw_eof(FALSE);
- }
- if ( pc + nbytes > max )
- {
- throw_eof(TRUE);
- }
- pc += nbytes;
- return( retval);
- }
+ u8 *retval = pc;
+ if (pc == max) {
+ throw_eof(FALSE);
+ }
+ if (pc + nbytes > max) {
+ throw_eof(TRUE);
+ }
+ pc += nbytes;
+ return (retval);
+}
/* **************************************************************************
@@ -254,12 +250,12 @@
bool more_to_go(void)
{
- bool retval;
- retval = INVERSE( pc == max );
- return( retval);
+ bool retval;
+ retval = INVERSE(pc == max);
+ return (retval);
}
-
+
/* **************************************************************************
*
* Function name: next_token
@@ -275,64 +271,62 @@
* token_streampos Streampos() of token just gotten
*
**************************************************************************** */
-
+
u16 next_token(void)
{
- u16 tok;
- token_streampos = get_streampos();
- tok = *(get_bytes(1));
- if ( tok != 0x00 && tok < 0x10)
- {
- tok<<=8;
- tok |= *(get_bytes(1));
- }
- fcode=tok;
- return(tok);
+ u16 tok;
+ token_streampos = get_streampos();
+ tok = *(get_bytes(1));
+ if (tok != 0x00 && tok < 0x10) {
+ tok <<= 8;
+ tok |= *(get_bytes(1));
+ }
+ fcode = tok;
+ return (tok);
}
u32 get_num32(void)
{
- u32 retval;
+ u32 retval;
u8 *num_str;
-
+
num_str = get_bytes(4);
retval = BIG_ENDIAN_LONG_FETCH(num_str);
-
- return ( retval);
+
+ return (retval);
}
u16 get_num16(void)
{
- u16 retval;
+ u16 retval;
u8 *num_str;
-
- num_str = get_bytes(2);
+
+ num_str = get_bytes(2);
retval = BIG_ENDIAN_WORD_FETCH(num_str);
-
- return ( retval);
+
+ return (retval);
}
-
+
u8 get_num8(void)
{
- u8 inbyte;
+ u8 inbyte;
inbyte = *(get_bytes(1));
- return(inbyte);
+ return (inbyte);
}
s16 get_offset(void)
{
- s16 retval;
- if (offs16)
- {
- retval = (s16)get_num16();
- }else{
- retval = (s16)get_num8();
- /* Make sure it's sign-extended */
- retval |= ( retval & 0x80 ) ? 0xff00 : 0 ;
+ s16 retval;
+ if (offs16) {
+ retval = (s16) get_num16();
+ } else {
+ retval = (s16) get_num8();
+ /* Make sure it's sign-extended */
+ retval |= (retval & 0x80) ? 0xff00 : 0;
}
-
- return (retval);
+
+ return (retval);
}
/* **************************************************************************
@@ -360,14 +354,14 @@
*
**************************************************************************** */
-u8 *get_string(u8 *len)
+u8 *get_string(u8 * len)
{
- char *retval;
+ char *retval;
- *len = get_num8();
- retval = get_bytes((int)*len);
-
- return (retval);
+ *len = get_num8();
+ retval = get_bytes((int) *len);
+
+ return (retval);
}
@@ -405,23 +399,23 @@
*
**************************************************************************** */
-char *get_name(u8 *len)
+char *get_name(u8 * len)
{
- char *str_start;
- char *retval;
- u8 sav_byt;
-
- str_start = get_string( len );
+ char *str_start;
+ char *retval;
+ u8 sav_byt;
- sav_byt = *pc;
- *pc = 0;
+ str_start = get_string(len);
- retval = strdup(str_start);
- *pc = sav_byt;
-
- return (retval);
- }
-
+ sav_byt = *pc;
+ *pc = 0;
+
+ retval = strdup(str_start);
+ *pc = sav_byt;
+
+ return (retval);
+}
+
/* **************************************************************************
*
* Function name: calc_checksum
@@ -452,27 +446,26 @@
u16 calc_checksum(void)
{
- u16 retval = 0;
- u8 *cksmptr;
- u8 *save_pc;
- u32 fc_blk_len;
- int indx;
+ u16 retval = 0;
+ u8 *cksmptr;
+ u8 *save_pc;
+ u32 fc_blk_len;
+ int indx;
- save_pc = pc;
+ save_pc = pc;
- fc_blk_len = get_num32(); /* Read len */
- cksmptr = get_bytes(fc_blk_len-8); /* Make sure we have all our data */
+ fc_blk_len = get_num32(); /* Read len */
+ cksmptr = get_bytes(fc_blk_len - 8); /* Make sure we have all our data */
- for ( indx = 8; indx < fc_blk_len; indx++)
- {
- retval += *cksmptr++;
+ for (indx = 8; indx < fc_blk_len; indx++) {
+ retval += *cksmptr++;
+ }
+
+ pc = save_pc;
+ return (retval);
}
- pc = save_pc;
- return( retval);
-}
-
/* **************************************************************************
*
* Function name: adjust_for_pci_header
@@ -510,7 +503,7 @@
void adjust_for_pci_header(void)
{
int pci_header_size;
-
+
pci_header_size = handle_pci_header(pc);
pci_image_found = pci_header_size > 0 ? TRUE : FALSE;
pc += pci_header_size;
@@ -543,14 +536,13 @@
void adjust_for_pci_filler(void)
{
- if ( pci_image_found )
- {
- int pci_filler_len;
- u8 *pci_filler_ptr;
+ if (pci_image_found) {
+ int pci_filler_len;
+ u8 *pci_filler_ptr;
- pci_filler_len = pci_image_end - pc;
- pci_filler_ptr = get_bytes(pci_filler_len);
- handle_pci_filler( pci_filler_ptr );
- pci_image_found = FALSE;
- }
+ pci_filler_len = pci_image_end - pc;
+ pci_filler_ptr = get_bytes(pci_filler_len);
+ handle_pci_filler(pci_filler_ptr);
+ pci_image_found = FALSE;
+ }
}
Modified: fcode-utils/detok/stream.h
===================================================================
--- fcode-utils/detok/stream.h 2006-10-14 21:07:27 UTC (rev 95)
+++ fcode-utils/detok/stream.h 2006-10-14 21:32:13 UTC (rev 96)
@@ -46,16 +46,16 @@
void adjust_for_pci_filler(void);
void init_fcode_block(void);
-int get_streampos(void);
+int get_streampos(void);
void set_streampos(int pos);
u16 next_token(void);
-u8 get_num8(void);
+u8 get_num8(void);
u16 get_num16(void);
u32 get_num32(void);
s16 get_offset(void);
-u8 *get_string(u8 *len);
-char *get_name(u8 *len);
+u8 *get_string(u8 * len);
+char *get_name(u8 * len);
u16 calc_checksum(void);
/* External declarations for variables defined in stream.c */
@@ -65,4 +65,4 @@
extern u8 *pc;
extern u8 *max;
-#endif /* _UTILS_DETOK_STREAM_H */
+#endif /* _UTILS_DETOK_STREAM_H */
1
0
Hi all,
SUN has released (under BSD license I believe), the source
code for their OpenBoot (OPB). This includes the forth programs
for many of their sun machines.
This is available only starting from version 1.3 of OpenSPARC.
http://opensparc-t1.sunsource.net/download_hw.html
I guess that it could be a good boost on the functionality/code
available at OpenBios.
--
Copy from one, it is plagiarism; copy from two, it is research.
- Wilson Mizner
5
5

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

r91 - in fcode-utils: . testsuite testsuite/TokBrack testsuite/TokCondl testsuite/TokMisc testsuite/TokMisc/OldTkzr testsuite/TokMisc/sub.w.dots testsuite/TokeCommon testsuite/TokeErrs testsuite/TokoLoco
by svn@openbios.org Oct. 14, 2006
by svn@openbios.org Oct. 14, 2006
Oct. 14, 2006
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
+." 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/TooLargeBufferMulPciFcb.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/TooLargeBufferMulPciFcb.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/TooLargeBufferMulPciFcb.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,107 @@
+\ Test case of overflowing the output buffer
+\ and multiple PCI Headers and FCode blocks
+\ Body generated by the "Verbal Bottles of Beer" script,
+\ (Argument of 646 just does it.)
+
+tokenizer[
+
+ c020
+ SET-REV-LEVEL
+ dec1 \ Vendor
+ c0ed \ Device ID
+ 80201 \ Class Code (ISA system timer. Denver Colorado )
+
+ ]tokenizer
+
+ pci-header
+
+fcode-version2 \ Sixteen-bit offsets.
+
+headers
+
+: a-lot-of-beer
+
+fload TooLargeBeerBuffer_body.fth
+
+;
+
+
+fcode-end
+
+fcode-version2 \ Sixteen-bit offsets.
+
+: and-a-lot-more-beer
+
+fload TooLargeBeerBuffer_body.fth
+
+;
+
+fcode-end
+
+not-last-image
+
+pci-header-end
+
+
+tokenizer[
+
+ b020
+ SET-REV-LEVEL
+ fece \ Vendor
+ d00d \ Device ID
+ 90210 \ Class Code (Unknown. Beverly Hills )
+
+ ]tokenizer
+
+ pci-header
+
+fcode-version2 \ Sixteen-bit offsets.
+
+: What?Still-more-beer?
+
+fload TooLargeBeerBuffer_body.fth
+
+;
+
+: What-the-hey!More-beer
+
+fload TooLargeBeerBuffer_body.fth
+
+;
+
+: Keep-the-beer-comin',-Mate!
+
+fload TooLargeBeerBuffer_body.fth
+
+;
+
+: Let's-have-one-for-Cliffie
+
+fload TooLargeBeerBuffer_body.fth
+
+;
+
+
+: And-TWO-for-Norm
+
+fload TooLargeBeerBuffer_body.fth
+
+fload TooLargeBeerBuffer_body.fth
+
+;
+
+: What-Does-Carla-Have-To-Say?
+
+ LET's-have-ONE-for-CLIFfie
+ and-Two-for-nORM
+ WHAT?Still-more-BEER?
+ Keep-the-BEER-Comin',-MATE!
+;
+
+fcode-end
+
+last-image
+
+pci-header-end
+
+headers
Added: fcode-utils/testsuite/TokMisc/UserMacros.fth
===================================================================
--- fcode-utils/testsuite/TokMisc/UserMacros.fth (rev 0)
+++ fcode-utils/testsuite/TokMisc/UserMacros.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,53 @@
+\ Test of user-defined macros and other new features,
+\ needed for compatibility with internal sources.
+
+
+[macro] lookma .( Look, Ma! No hands! Ooooops! )
+[macro] lookpa .( Hey, Pa! Hands! HaHa! )
+[macro] f[lookout f[ .( Look out, look out look out! ##Crash!# )
+[macro] f[lookquote f[ ." I'll never forget you #Leader of the Pack!#"
+
+fcode-version2
+headers
+
+lookma
+lookpa
+f[lookout ]f
+f[lookquote ]f
+
+[macro] 4+ 4 +
+[macro] 3+ 3 +
+
+f[ h# 800 next-fcode ]f
+
+: surplus
+ 4+
+ 3+
+ 2+
+ 1+
+;
+[message] Now for some fun
+: sourpuss
+ a# CPU
+ al# CPU
+ a# ICUP
+ al# ICUP
+ a# IPEEINACUP
+ al# IPEEINACUP
+;
+
+a# CPU constant a#CPU
+al# CPU constant al#CPU
+a# ICUP constant a#ICUP
+al# ICUP constant al#ICUP
+a# IPEEINACUP constant a#IPEEINACUP
+al# IPEEINACUP constant al#IPEEINACUP
+
+fcode-push
+f[ h# 800 next-fcode ]f
+fcode-pop
+
+
+fcode-end
+
+
Added: fcode-utils/testsuite/TokMisc/sub.w.dots/MulDev
===================================================================
--- fcode-utils/testsuite/TokMisc/sub.w.dots/MulDev (rev 0)
+++ fcode-utils/testsuite/TokMisc/sub.w.dots/MulDev 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/TokeCommon/BinData.bin
===================================================================
--- fcode-utils/testsuite/TokeCommon/BinData.bin (rev 0)
+++ fcode-utils/testsuite/TokeCommon/BinData.bin 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,3 @@
+U������0@��t��}��E�%����f�E��E�
+?f�E��m��$P@��Ð��������������U��������������E��E����E��}�$ @���$���E����D$�$ @���E����D$�$ @��D$( @�E����$�|�E��D$+ @�E����$�a�E��}�t�}�u�$. @�f�$�J�E��$��E��E��@�� ��t��}�t܋E��D$�E��$���NjE��$�ƋE��$��$��������������Q���=r��� -��)�� ���̋�@�����U1�����u��u�]��D$�4$賃���t
+�$��@@����\$�����\$�4$考��$�Ӑ��������%�@@���%�@@���%�@@���%�@@���%�@@�����������%�@@���%�@@��U1���S���]�����C�1ɺ��C����C�������C,�@�C0�@�C0@����@@�C�Cx�E�CH�@�CL�@�C(�E�CP�@�CT�@�C$0@��Cp@�C`@�C P@�CD@@�$��C|���C4 @�C8 @�C<0@�C@@0@蛸�]��������@@��^����$�!��1����t҉Ӹ������������������%�@@���%�@@��U��MV�uS�]��Q����9�r�[^]Í���U�@��P @���T$�D$�$P @�����Ð����������%�@@���%�@@���%�@@���%�@@��U��]Ð����������U��]Ð����������U��]Ð����������U��]Ð�����������%�@@���%�@@����������
\ No newline at end of file
Added: fcode-utils/testsuite/TokeCommon/MyBeerAndYouCannotHaveIt.fth
===================================================================
--- fcode-utils/testsuite/TokeCommon/MyBeerAndYouCannotHaveIt.fth (rev 0)
+++ fcode-utils/testsuite/TokeCommon/MyBeerAndYouCannotHaveIt.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,7 @@
+[message] Starting out with one Bottle of Beer on the wall
+." 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/TokeCommon/NoRead.bin
===================================================================
--- fcode-utils/testsuite/TokeCommon/NoRead.bin (rev 0)
+++ fcode-utils/testsuite/TokeCommon/NoRead.bin 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,3 @@
+U������0@��t��}��E�%����f�E��E�
+?f�E��m��$P@��Ð��������������U��������������E��E����E��}�$ @���$���E����D$�$ @���E����D$�$ @��D$( @�E����$�|�E��D$+ @�E����$�a�E��}�t�}�u�$. @�f�$�J�E��$��E��E��@�� ��t��}�t܋E��D$�E��$���NjE��$�ƋE��$��$��������������Q���=r��� -��)�� ���̋�@�����U1�����u��u�]��D$�4$賃���t
+�$��@@����\$�����\$�4$考��$�Ӑ��������%�@@���%�@@���%�@@���%�@@���%�@@�����������%�@@���%�@@��U1���S���]�����C�1ɺ��C����C�������C,�@�C0�@�C0@����@@�C�Cx�E�CH�@�CL�@�C(�E�CP�@�CT�@�C$0@��Cp@�C`@�C P@�CD@@�$��C|���C4 @�C8 @�C<0@�C@@0@蛸�]��������@@��^����$�!��1����t҉Ӹ������������������%�@@���%�@@��U��MV�uS�]��Q����9�r�[^]Í���U�@��P @���T$�D$�$P @�����Ð����������%�@@���%�@@���%�@@���%�@@��U��]Ð����������U��]Ð����������U��]Ð����������U��]Ð�����������%�@@���%�@@����������
\ No newline at end of file
Added: fcode-utils/testsuite/TokeCommon/OneBeer.fl
===================================================================
Added: fcode-utils/testsuite/TokeCommon/OneBeer.fth
===================================================================
--- fcode-utils/testsuite/TokeCommon/OneBeer.fth (rev 0)
+++ fcode-utils/testsuite/TokeCommon/OneBeer.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,7 @@
+[message] Starting out with one Bottle of Beer on the wall
+." 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/TokeCommon/ZeroLen.bin
===================================================================
Added: fcode-utils/testsuite/TokeErrs/AbrtWQuotStr.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/AbrtWQuotStr.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/AbrtWQuotStr.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,26 @@
+\ Abort-quote with embedded quote in the string.
+
+\ Updated Tue, 16 May 2006 at 17:57 PDT by David L. Paktor
+
+
+
+fcode-version2
+hex
+headers
+
+: sunny-de-light
+ abort" Oh, this is the Sun-Style abort"" with a "\
+ built-in quote and multi-line! Cool..."
+;
+
+
+[flag] noSun-ABORT-Quote
+
+: apple-pi-alamo
+ if abort" And this is the Apple-Style abort"" with "\
+ also a multi-line and built-in quote. Ho, hum."
+ then
+;
+
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/CStrEscOvflw.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CStrEscOvflw.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CStrEscOvflw.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,23 @@
+\ Test case of a C-String-Escape clause that overflows the source-file
+
+[flag] C-Style-string-escape
+
+fcode-version2
+
+headers
+hex
+
+: funky-string
+ ." Normal string" cr
+ ." Funky but ok \ab\\b0\\7\\7\and\c0\\5\\7\\e1\\10\" cr
+ ." Body 1" cr
+fload CStrEscOvflw_body_1.fth
+ ." Body 2" cr
+fload CStrEscOvflw_body_2.fth
+ ." Body 3" cr
+fload CStrEscOvflw_body_3.fth
+
+ ." I don't know." cr ." Shortstop!" cr
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_1.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_1.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_1.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,5 @@
+\ Body 1 for test of string with c-string-escaped hex byte that ends abruptly.
+\ This ends with no hex value after the last backslash, and a quote
+\ and a new-line.
+
+." What's on s\e\ \c0\n\db\\a5\\"
Added: fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_2.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_2.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_2.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,10 @@
+\ Body 2 for test of string with c-string-escaped hex byte that ends abruptly.
+\ This ends with no hex value after the last backslash, and a new-line.
+\
+\ Body 3 is made from this by using dd to truncate the new-line.
+\ The c-shell command sequence goes like this:
+\ set len = `cat CStrEscOvflw_body_2.fth | wc -c`
+\ @ len--
+\ dd if=CStrEscOvflw_body_2.fth of=CStrEscOvflw_body_3.fth count=1 bs=$len
+
+." What's on s\e\ \c0\n\db\\a5\\
Added: fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_3.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_3.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CStrEscOvflw_body_3.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,10 @@
+\ Body 2 for test of string with c-string-escaped hex byte that ends abruptly.
+\ This ends with no hex value after the last backslash, and a new-line.
+\
+\ Body 3 is made from this by using dd to truncate the new-line.
+\ The c-shell command sequence goes like this:
+\ set len = `cat CStrEscOvflw_body_2.fth | wc -c`
+\ @ len--
+\ dd if=CStrEscOvflw_body_2.fth of=CStrEscOvflw_body_3.fth count=1 bs=$len
+
+." What's on s\e\ \c0\n\db\\a5\\
\ No newline at end of file
Added: fcode-utils/testsuite/TokeErrs/CommOvrRun.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CommOvrRun.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CommOvrRun.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,26 @@
+\ Error-check comment and string over-runs
+
+\ Updated Wed, 06 Jul 2005 at 18:19 by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+fload CommOvrRun_01.fth
+
+fload CommOvrRun_02.fth
+
+; \ Finish-up colon-def'n started in prev file.
+
+[message] About to load file w/ no e-o-l
+fload CommOvrRun_03.fth
+[message] Back to the main file.
+
+fload CommOvrRun_04.fth
+
+ tokenizer[
+fload CommOvrRun_05.fth
+ ]tokenizer
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/CommOvrRun_01.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CommOvrRun_01.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CommOvrRun_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,12 @@
+\ First inclusion file for comment and string over-runs Error-check test
+
+
+\ Bum string
+[message] Collecting bum string
+
+" Starts Out okay "( 09 5
+ \ Goes to numbers
+ 12 13 ) And then what? "( 00 07 \ Never concludes for three lines
+
+
+
Added: fcode-utils/testsuite/TokeErrs/CommOvrRun_02.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CommOvrRun_02.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CommOvrRun_02.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,9 @@
+\ Second inclusion file for comment and string over-runs Error-check test
+
+
+[message] Stack Diagram w/o conclusion
+: fuddy ( stack diagram
+ ." but where does it end?"
+ ." Does it end?"
+ ." No, it does not..."
+;
Added: fcode-utils/testsuite/TokeErrs/CommOvrRun_03.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CommOvrRun_03.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CommOvrRun_03.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,4 @@
+\ Third inclusion file for comment over-runs and string Error-check test
+
+
+\ Remark w/out terminating end-of-line here
\ No newline at end of file
Added: fcode-utils/testsuite/TokeErrs/CommOvrRun_04.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CommOvrRun_04.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CommOvrRun_04.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,8 @@
+\ Fourth inclusion file for comment over-runs and string Error-check test
+
+[message] String w/o conclusion
+: duddy ( -- stack diagram )
+ ." but where does it end?"
+ ." Does it end?"
+ ." No, it does not...
+;
Added: fcode-utils/testsuite/TokeErrs/CommOvrRun_05.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CommOvrRun_05.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CommOvrRun_05.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,7 @@
+\ Fifth inclusion file for comment over-runs and string Error-check test
+
+
+[message] Unconcluded dot-quote
+.( Is everybody having a good time? I don't know if I am...
+
+3700 constant sig_freq \ Signal Freak-went-sea
Added: fcode-utils/testsuite/TokeErrs/CondlDefn.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/CondlDefn.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/CondlDefn.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,27 @@
+\ Definitions inside a conditional -- a definite no-no!
+\ Updated Fri, 28 Jul 2006 at 10:12 PDT by David L. Paktor
+
+fcode-version2
+headers
+
+false value de-bug
+
+de-bug if h# 273 constant ugh-muck-a-luck-a
+ 3 0 do i constant bug-off
+ i 4 * constant bug-bug
+ ugh-muck-a-luck-a bug-bug bug-off * - .
+ loop
+else
+ d# 273 constant ugh-muck-a-luck-a
+then
+
+: shakshuka
+ de-bug if ." Bugging me" then
+ bug-bug
+ ugh-muck-a-luck-a
+ o# 273 constant ugh-muck-a-luck-a
+ de-bug if : ugh-muck-b-luck-b then
+ bug-off * - .
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/ControlMismatch.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/ControlMismatch.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/ControlMismatch.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,76 @@
+\ Control-Structures Mismatch Error-Detection test.
+
+\ Updated Wed, 16 Nov 2005 at 09:46 PST by David L. Paktor
+
+fcode-version2
+hex
+headers
+2
+begin 1- dup while 4 c, repeat
+
+repeat
+
+until
+
+: anawanna
+ 123
+ else \ This used to cause a "Fatal"
+ 456
+ then
+;
+
+: granada
+ 789 begin
+ 0 1 2 3
+ 1011 begin 2 1 0 3 2swap swap rot
+ else 3 1 0 2 2swap -rot
+ loop 2 3 0 1
+;
+
+: obknoxin
+ 678 begin
+ 0 1 2 3
+ 910 begin 2 1 0 3
+ else 3 1 0 2 2512
+ loop 2 3 0 1
+;
+
+: tixon
+ 987 0 do 0 1 2 3
+ 654 begin 3 2 1 0
+ 0ace
+ else 3 0 1 2
+ 0feed
+ then
+ repeat
+;
+
+: spew-agnu
+ 5417
+ then
+;
+: bunk
+ 543 if
+ 345 else
+ 789
+;
+
+: junk
+ h# ace
+ then
+;
+: clunk
+ 0=
+ begin 1- ?dup if
+ endcase
+ then
+ until
+;
+
+: skunk
+ endof
+;
+;
+
+tokenizer[ tokenizer[ ]tokenizer ]tokenizer
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/DevImbal.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/DevImbal.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/DevImbal.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,53 @@
+\ Test an imbalanced control statement before a device-node change
+
+
+fcode-version2
+hex
+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] Control structure starts here
+3 0 do
+ i ." loop number" .
+[message] Forgot the "loop" here.
+
+[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
+[message] But first a bogus incomplete control structure
+false if
+ ." This should not be happening"
+[message] "Forgot" the then here...
+finish-device
+[message] We can access methods from the root node now
+: jeeky
+ achin
+ 3 type
+;
+[message] Proved our point I think.
+
+[message] Another bogo-crol
+ begin ." What the hey?" 0 while
+ ." Forgot it again..."
+[message] Missing repeat...
+
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/DevNodAli.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/DevNodAli.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/DevNodAli.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,147 @@
+\ Test scope of "aliased" name in device-node
+\ along w/ excess of "finish-device"
+
+\ Updated Mon, 31 Oct 2005 at 13:19 PST by David L. Paktor
+\
+
+[flag] Local-Values
+show-flags
+
+fcode-version2
+
+fload LocalValuesSupport.fth
+
+headers
+
+\ Should an alias to a core-function be local to the device-node
+\ in which it was made, or global to the whole tokenization?
+\ After talking w/ Jim L., answer is: Global.
+\ An alias to a core-function goes into the core vocab.
+
+\ But! When new-device or finish-device is used inside a
+\ colon-definition, it should not change the tok'z'n-time vocab...
+
+alias foop dup \ Here's a classic case
+alias pelf my-self \ Here's another
+
+\ And here are two just to screw you up!
+alias >> lshift
+alias << rshift
+
+: troop ." Dup to my-self" foop to pelf ;
+
+alias snoop troop
+
+: croup foop snoop ;
+
+: make-rope-name ( slip-number -- )
+ { _slip }
+ " roper_" encode-string
+ _slip (.) encode-string encode+ name
+;
+
+: slip-prop ( slip-number -- )
+ { _slip }
+ _slip not d# 24 >>
+ _slip d# 16 >> +
+ _slip not 1 << h# 0ff and 8 >> +
+ _slip +
+ encode-int " slipknot" property
+;
+
+hex
+create achin \ Table of slip-numbers for each device
+ 12 c, 13 c, 14 c,
+ 56 c, 43 c, 50 c, 54 c,
+0 c, \ 0-byte is list-terminator
+
+: make-name-and-prop ( slip-number -- )
+ foop
+ make-rope-name
+ slip-prop
+;
+
+: tie-one-on ( slip-number -- )
+ new-device make-name-and-prop
+;
+
+[message] Define a method that creates subsidiaries...
+: spawn-offspring ( -- )
+ achin
+ begin ( addr )
+ dup c@ ?dup while ( addr slip )
+ tie-one-on
+ finish-device
+ 1+ \ Bump to next entry
+ repeat drop
+;
+
+: more-offs ( -- addr count )
+ " "( \ Another table of offsprings' slip-numbers
+ )YUMA"( \ Some of them are letters
+ 85 92 13 \ Some are not
+ )" \ That is all
+;
+
+: tap-it-out ( n -- n+1 )
+ finish-device
+ 1+
+;
+
+: spawn-more
+ 0 more-offs bounds do
+ new-device i c@
+ make-name-and-prop
+ tap-it-out
+ loop
+ encode-int " num-offs" property
+;
+
+[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 ;
+\ Does (Should) the new device know about its parent's aliases?
+: bad-refs
+ croup
+ foop
+ snoop
+ foop
+ to pelf
+;
+
+[message] end child node
+finish-device
+
+[message] Access methods from the root node again
+: refs-good-again
+ croup
+ foop
+ snoop
+ foop
+ to pelf
+;
+
+[message] An extra finish-device
+finish-device
+[message] Are we still here?
+
+: spoof
+ bad-refs
+ foop
+ refs-good-again
+;
+
+\ That is all...
+
+fcode-end
+
Added: fcode-utils/testsuite/TokeErrs/DevNodAli_01.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/DevNodAli_01.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/DevNodAli_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,159 @@
+\ Test scope of "aliased" name in device-node
+\ along w/ excess of "finish-device"
+\ DevNodAli_01.fth -- slight variant relative to DevNodAli.fth
+
+\ Updated Thu, 12 Jan 2006 at 15:36 PST by David L. Paktor
+\
+
+[flag] Local-Values
+show-flags
+
+fcode-version2
+
+fload LocalValuesSupport.fth
+
+headers
+
+\ Should an alias to a core-function be local to the device-node
+\ in which it was made, or global to the whole tokenization?
+\ After talking w/ Jim L., answer is: Global.
+\ An alias to a core-function goes into the core vocab.
+
+\ But! When new-device or finish-device is used inside a
+\ colon-definition, it should not change the tok'z'n-time vocab...
+
+\ I gave some further thought to the question of
+\ the scope of a alias to a core-function.
+\ A true FORTH-based tokenizer would place an alias-created definition
+\ into the "current" vocabulary, regardless of where the target of
+\ the alias was found. I now believe we should do the same, also.
+\ If the user intends to define an alias with global scope, then
+\ that intention should be expressed explicitly.
+\ Like this:
+
+global-definitions
+ alias foop dup \ Here's a classic case
+ alias pelf my-self \ Here's another
+
+ \ And here are two just to screw you up!
+ alias >> lshift
+ alias << rshift
+device-definitions
+
+: troop ." Dup to my-self" foop to pelf ;
+
+alias snoop troop
+
+: croup foop snoop ;
+
+: make-rope-name ( slip-number -- )
+ { _slip }
+ " roper_" encode-string
+ _slip (.) encode-string encode+ name
+;
+
+: slip-prop ( slip-number -- )
+ { _slip }
+ _slip not d# 24 >>
+ _slip d# 16 >> +
+ _slip not 1 << h# 0ff and 8 >> +
+ _slip +
+ encode-int " slipknot" property
+;
+
+hex
+create achin \ Table of slip-numbers for each device
+ 12 c, 13 c, 14 c,
+ 56 c, 43 c, 50 c, 54 c,
+0 c, \ 0-byte is list-terminator
+
+: make-name-and-prop ( slip-number -- )
+ foop
+ make-rope-name
+ slip-prop
+;
+
+: tie-one-on ( slip-number -- )
+ new-device make-name-and-prop
+;
+
+[message] Define a method that creates subsidiaries...
+: spawn-offspring ( -- )
+ achin
+ begin ( addr )
+ dup c@ ?dup while ( addr slip )
+ tie-one-on
+ finish-device
+ 1+ \ Bump to next entry
+ repeat drop
+;
+
+: more-offs ( -- addr count )
+ " "( \ Another table of offsprings' slip-numbers
+ )YUMA"( \ Some of them are letters
+ 85 92 13 \ Some are not
+ )" \ That is all
+;
+
+: tap-it-out ( n -- n+1 )
+ finish-device
+ 1+
+;
+
+: spawn-more
+ 0 more-offs bounds do
+ new-device i c@
+ make-name-and-prop
+ tap-it-out
+ loop
+ encode-int " num-offs" property
+;
+
+[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 ;
+\ Does (Should) the new device know about its parent's aliases?
+: bad-refs
+ croup
+ foop
+ snoop
+ foop
+ to pelf
+;
+
+[message] end child node
+finish-device
+
+[message] Access methods from the root node again
+: refs-good-again
+ croup
+ foop
+ snoop
+ foop
+ to pelf
+;
+
+[message] An extra finish-device
+finish-device
+[message] Are we still here?
+
+: spoof
+ bad-refs
+ foop
+ refs-good-again
+;
+
+\ That is all...
+
+fcode-end
+
Added: fcode-utils/testsuite/TokeErrs/DupNams.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/DupNams.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/DupNams.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,81 @@
+\ Let's make a batch of duplicate definitions in various scopes...
+
+\ Updated Fri, 02 Jun 2006 at 09:48 PDT by David L. Paktor
+
+alias foop dup
+
+[macro] croop foop message" Using FOOP "
+
+alias dup croop
+
+\ Stubs.
+\ These should be global.
+\ But, then, we _are_ injecting errors for this test....
+
+[macro] _{local} noop #message" I got yer ""Local"" right here, chum!"
+
+alias {pop-locals} 3drop
+
+f[ h# a5519e constant {push-locals} ]f
+
+
+global-definitions
+
+alias flop drop
+[macro] floop flop message" Using FLOOP "
+alias drop floop
+
+device-definitions
+
+f[ false constant o'ryan ]f
+
+fcode-version2
+
+: noop ." Op? No!" ;
+[macro] zoop noop message" I Care."
+: poop h# defeca8e ;
+
+ new-device
+ : zoop ." Nothing like the other zoop" croop ;
+ : croop ." Sort of like F-Troop with a higher GPA..."
+ foop
+ ;
+ : foop ." Shop bop-a-looma, a-lop bam boom!" ;
+ : floop ." Oh, Jiggly!" ;
+ : boop { _harpo | _cheeko }
+ f[ 127 constant _harpo ]f
+ poop -> _cheeko
+ f[ _cheeko constant a__gent ]f
+ ;
+
+ alias droop drop
+ alias drupe 2drop
+
+ boop f[ true constant o'ryan ]f
+ foop 03 constant 3
+
+ new-device
+ : moop
+ _harpo
+ droop
+ drupe
+ ;
+ alias shoop encode-int
+
+ f[
+ 7a63 constant octal
+ boop
+ char-height
+ eval
+ moop
+ shoop
+ ]f
+
+ finish-device
+
+ finish-device
+
+fcode-end
+
+\ Let's just stick in an extra...
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/ExpPath.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/ExpPath.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/ExpPath.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,63 @@
+\ Test FLOADing and ENCODing-a-File with embedded Env't V'bles in pathnames
+\ Let's not add any requirements on the environment. We'll expect the
+\ existence of a sibling-directory called TokeCommon
+\ and the non-existence of anything with "NonExist" in its name.
+
+
+fcode-version2
+hex
+headers
+
+\ Constructs like :h don't work because the path-string
+\ gets interpreted by Bourne Shell syntax.
+." ${PWD:h}/TokeCommon/OneBeer.fth"
+fload ${PWD:h}/TokeCommon/OneBeer.fth
+
+\ This works.
+." ${PWD}/../TokeCommon/OneBeer.fth"
+fload ${PWD}/../TokeCommon/OneBeer.fth
+
+\ \ Fuggedabout these...
+\ ." $PWD:h/TokeCommon/OneBeer.fth"
+\ fload $PWD:h/TokeCommon/OneBeer.fth
+\ fload $PWD:h/TokeCommon/NonExist.fth
+\ ." ../../$PWD:h:t/TokeCommon/BinData.bin"
+\ encode-file ../../$PWD:h:t/TokeCommon/BinData.bin
+\ ." ../../$PWD:h:t/TokeCommon/ZeroLen.bin"
+\ encode-file ../../$PWD:h:t/TokeCommon/ZeroLen.bin
+
+\ Intended not to work
+fload $PWD/../NonExist/NonExist.fth
+[message] Fload an Unreadable file (No read Permissions)
+fload ${PWD}/../TokeCommon/MyBeerAndYouCannotHaveIt.fth
+[message] Fload a Zero-Length file (extension doesn't matter...)
+fload ${PWD}/../TokeCommon/ZeroLen.bin
+
+[message] FLoad with intentional syntax error
+fload ${PWD/../TokeCommon/OneBeer.fth
+
+\ This works.
+." $PWD/../TokeCommon/BinData.bin"
+encode-file $PWD/../TokeCommon/BinData.bin
+" $PWD/../TokeCommon/BinData.bin" property
+
+\ Intended not to work
+[message] Encode a NonExistent file
+encode-file $PWD/../NonExist/NonExist.bin
+[message] Encode an Unreadable file (No read Permissions)
+encode-file $PWD/../TokeCommon/NoRead.bin
+
+[message] Encode with intentional syntax error
+encode-file ${PWD/../TokeCommon/BinData.bin
+
+[message] Is this a syntax error? On some O/S'es but not others...
+." $PWD}/../TokeCommon/BinData.bin"
+encode-file $PWD}/../TokeCommon/BinData.bin
+
+[message] Encode a Zero length data file
+." $PWD/../TokeCommon/ZeroLen.bin"
+encode-file $PWD/../TokeCommon/ZeroLen.bin
+
+." That is all..."
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/FCShdrErrs.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/FCShdrErrs.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/FCShdrErrs.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,18 @@
+\ Basic FCODE Start Errors test.
+
+\ Updated Thu, 08 Sep 2005 at 17:27 by David L. Paktor
+
+
+hex
+
+." What is this?"
+
+
+fcode-version2
+
+headers
+ : bogo " This is a test." ;
+
+
+fcode-end
+
Added: fcode-utils/testsuite/TokeErrs/Frinstnce.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/Frinstnce.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/Frinstnce.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,89 @@
+\ Erorrrs involving "instance"
+
+\ Updated Thu, 19 Jan 2006 at 15:14 PST by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+instance
+
+: goombah dup swap drop ;
+: foosbat over swap nip ;
+: casball dup dup rot rot drop drop ;
+ variable chump
+
+instance
+
+instance
+
+new-device
+ : what-the-heck ." What now?" ;
+ : how-now? ." Now what?" ;
+ 0 value sclump
+
+instance
+
+finish-device
+
+global-definitions
+ 237 buffer: mugwump
+
+device-definitions
+
+global-definitions
+ 880 buffer: nimnump
+ " madmirable_" count
+ dup nimnump c!
+ dup constant nimbasesiz
+ 0 do dup i + c@ nimnump 1+ i + c! loop
+ drop
+ [macro] (u.h) base @ hex swap (u.) rot base !
+ [macro] nimnumprop numnim nimnump count encode-string " nimnum" property
+ : numnim
+ nimnump nimbasesiz +
+ my-address (u.h)
+ dup >r
+ 0 do
+ 2dup i + c@ swap i + c!
+ loop 2drop
+ r> nimbasesiz + nimnump c!
+ ;
+
+ : gummink
+ dup
+ instance
+ numnim
+ ;
+
+ instance
+
+device-definitions
+
+: prumpick
+ dup
+ instance
+ gummink
+;
+
+new-device
+
+instance
+
+ nimnumprop
+
+true instance value hardware-store
+
+: knacknick
+ nimnumprop
+ instance
+;
+
+instance knacknick
+
+finish-device
+
+instance
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/GlobScopErrTst.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/GlobScopErrTst.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/GlobScopErrTst.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,91 @@
+\ Test the Global-Scope directive and a few of its effects.
+\ Updated Wed, 14 Dec 2005 at 09:59 PST by David L. Paktor
+\ Inject a few erorrs...
+
+fcode-version2
+
+headers
+
+[ifexists] coconuts
+ [message] Why a duck?
+[endif]
+
+alias [testdict] [ifexists]
+
+[testdict] coconuts
+ [message] Boy, can you get stucco!
+[else]
+ [message] Why a fence?
+[endif]
+
+\ Bypass warning about Instance without altering LocalValuesSupport file
+alias generic-instance instance
+overload [macro] instance f[ noop .( Shminstance!) f] noop
+
+\ This isn't right. The "bypass" only has scope in the top-level device-node
+
+global-definitions
+
+fload LocalValuesSupport.fth
+
+\ Replace normal meaning of Instance
+overload alias instance generic-instance
+
+: $CAT ( _max _str1 _len1 _str2 _len2 -- _max _str1 _len1' )
+ { _max _str1 _len1 _str2 _len2 }
+ _len1 _max < if \ there is room
+ _str2 _str1 _len1 + _len2 _max _len1 - min move
+ then
+ _max _str1 _len1 _len2 + _max min \ always leave total length
+;
+
+instance variable fussel [message] Expected error; scope is still global.
+h# 3afe fussel !
+
+device-definitions
+
+h# 5afe instance value dumont [message] Device scope in effect. SB Legit.
+: ducksoup ( n1 n2 n3 n4 -- m1 m2 )
+ { \ Declare some locals
+ _harpo ( the quiet one) _chico
+ _groucho | \ He's funny, right?
+ _zeppo ( who? ) _karl \ Is he part of the act?
+ }
+ d# 64 _groucho dup count dup -> _zeppo
+ _harpo dup count $cat
+ dup -> _karl
+ rot _karl = if type exit then
+ _groucho + swap _zeppo +
+;
+
+global-definitions
+
+: garbanzo
+ ." Should be unrecognized." cr
+ ducksoup
+;
+
+new-device [message] Missing a finish-device
+
+: fazooule!
+ ." Lima enter tain you..." cr
+ ducksoup
+ garbanzo
+;
+
+h# deadc0de instance value quaack [message] Instance should be legit here.
+
+global-definitions
+
+: frijoles
+ ." Holy ... beans?" cr
+ fazooule!
+ garbanzo
+ ducksoup
+;
+
+finish-device
+
+finish-device
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/GlobScopErrTst_01.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/GlobScopErrTst_01.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/GlobScopErrTst_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,91 @@
+\ Test the Global-Scope directive and a few of its effects.
+\ Updated Thu, 12 Jan 2006 at 15:36 PST by David L. Paktor
+\ GlobScopErrTst_01.fth -- very slight variant on GlobScopErrTst.fth
+
+fcode-version2
+
+headers
+
+[ifexists] coconuts
+ [message] Why a duck?
+[endif]
+
+alias [testdict] [ifexists]
+
+[testdict] coconuts
+ [message] Boy, can you get stucco!
+[else]
+ [message] Why a fence?
+[endif]
+
+\ Bypass Instance warning: Not right; only has scope in top-level dev-node
+alias generic-instance instance
+overload [macro] instance f[ noop .( Shminstance!) f] noop
+\ This will only work if user-macros always have "global" scope
+\ I think they should follow the common rules for scope; this should fail
+
+global-definitions
+
+fload LocalValuesSupport.fth
+
+\ Replace normal meaning of Instance
+overload alias instance generic-instance
+
+: $CAT ( _max _str1 _len1 _str2 _len2 -- _max _str1 _len1' )
+ { _max _str1 _len1 _str2 _len2 }
+ _len1 _max < if \ there is room
+ _str2 _str1 _len1 + _len2 _max _len1 - min move
+ then
+ _max _str1 _len1 _len2 + _max min \ always leave total length
+;
+
+instance variable fussel [message] Expected error; scope is still global.
+h# 3afe fussel !
+
+device-definitions
+
+h# 5afe instance value dumont [message] Top Device-node scope. S.b. Legit.
+: ducksoup ( n1 n2 n3 n4 -- m1 m2 )
+ { \ Declare some locals
+ _harpo ( the quiet one) _chico
+ _groucho | \ He's funny, right?
+ _zeppo ( who? ) _karl \ Is he part of the act?
+ }
+ d# 64 _groucho dup count dup -> _zeppo
+ _harpo dup count $cat
+ dup -> _karl
+ rot _karl = if type exit then
+ _groucho + swap _zeppo +
+;
+
+global-definitions
+
+: garbanzo
+ ." Should be unrecognized." cr
+ ducksoup
+;
+
+new-device [message] Missing a finish-device
+
+: fazooule!
+ ." Lima enter tain you..." cr
+ ducksoup
+ garbanzo
+;
+
+h# deadc0de instance value quaack [message] Should be worng "Instance" here.
+
+global-definitions
+
+: frijoles
+ ." Holy ... beans?" cr
+ fazooule!
+ garbanzo
+ ducksoup
+;
+
+finish-device
+
+finish-device
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/GlobScopErrTst_02.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/GlobScopErrTst_02.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/GlobScopErrTst_02.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,91 @@
+\ Test the Global-Scope directive and a few of its effects.
+\ Updated Thu, 12 Jan 2006 at 16:06 PST by David L. Paktor
+\ GlobScopErrTst_02.fth -- Right variant relative to GlobScopErrTst.fth
+
+fcode-version2
+
+headers
+
+[ifexists] coconuts
+ [message] Why a duck?
+[endif]
+
+alias [testdict] [ifexists]
+
+[testdict] coconuts
+ [message] Boy, can you get stucco!
+[else]
+ [message] Why a fence?
+[endif]
+
+global-definitions
+
+\ Bypass warning about Instance without altering LocalValuesSupport file
+alias generic-instance instance
+overload [macro] instance f[ noop .( Shminstance!) f] noop
+
+\ This is right. The "bypass" has Global scope
+
+fload LocalValuesSupport.fth
+
+\ Replace normal meaning of Instance, also in Global scope.
+overload alias instance generic-instance
+
+: $CAT ( _max _str1 _len1 _str2 _len2 -- _max _str1 _len1' )
+ { _max _str1 _len1 _str2 _len2 }
+ _len1 _max < if \ there is room
+ _str2 _str1 _len1 + _len2 _max _len1 - min move
+ then
+ _max _str1 _len1 _len2 + _max min \ always leave total length
+;
+
+instance variable fussel [message] Expected error; scope is still global.
+h# 3afe fussel !
+
+device-definitions
+
+h# 5afe instance value dumont [message] Device scope in effect. SB Legit.
+: ducksoup ( n1 n2 n3 n4 -- m1 m2 )
+ { \ Declare some locals
+ _harpo ( the quiet one) _chico
+ _groucho | \ He's funny, right?
+ _zeppo ( who? ) _karl \ Is he part of the act?
+ }
+ d# 64 _groucho dup count dup -> _zeppo
+ _harpo dup count $cat
+ dup -> _karl
+ rot _karl = if type exit then
+ _groucho + swap _zeppo +
+;
+
+global-definitions
+
+: garbanzo
+ ." Should be unrecognized." cr
+ ducksoup
+;
+
+new-device [message] Missing a finish-device
+
+: fazooule!
+ ." Lima enter tain you..." cr
+ ducksoup
+ garbanzo
+;
+
+h# deadc0de instance value quaack [message] Instance should be legit here.
+
+global-definitions
+
+: frijoles
+ ." Holy ... beans?" cr
+ fazooule!
+ garbanzo
+ ducksoup
+;
+
+finish-device
+
+finish-device
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/GlobScopErrTst_03.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/GlobScopErrTst_03.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/GlobScopErrTst_03.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,91 @@
+\ Test the Global-Scope directive and a few of its effects.
+\ Updated Thu, 12 Jan 2006 at 18:02 PST by David L. Paktor
+\ GlobScopErrTst_03.fth -- Change "bypass" strategy from GlobScopErrTst_01.fth
+
+fcode-version2
+
+headers
+
+[ifexists] coconuts
+ [message] Why a duck?
+[endif]
+
+alias [testdict] [ifexists]
+
+[testdict] coconuts
+ [message] Boy, can you get stucco!
+[else]
+ [message] Why a fence?
+[endif]
+
+\ Bypass warning about Instance without altering LocalValuesSupport file
+alias generic-instance instance
+[macro] bypass-instance f[ noop .( Shminstance!) f] noop
+overload alias instance bypass-instance
+\ This is because user-macros always have "global" scope
+\ This test is to force it into in the top-level device-node
+global-definitions
+
+fload LocalValuesSupport.fth
+
+\ Replace normal meaning of Instance
+overload alias instance generic-instance
+
+: $CAT ( _max _str1 _len1 _str2 _len2 -- _max _str1 _len1' )
+ { _max _str1 _len1 _str2 _len2 }
+ _len1 _max < if \ there is room
+ _str2 _str1 _len1 + _len2 _max _len1 - min move
+ then
+ _max _str1 _len1 _len2 + _max min \ always leave total length
+;
+
+instance variable fussel [message] Expected error; scope is still global.
+h# 3afe fussel !
+
+device-definitions
+
+h# 5afe instance value dumont [message] Device scope in effect. SB Legit.
+: ducksoup ( n1 n2 n3 n4 -- m1 m2 )
+ { \ Declare some locals
+ _harpo ( the quiet one) _chico
+ _groucho | \ He's funny, right?
+ _zeppo ( who? ) _karl \ Is he part of the act?
+ }
+ d# 64 _groucho dup count dup -> _zeppo
+ _harpo dup count $cat
+ dup -> _karl
+ rot _karl = if type exit then
+ _groucho + swap _zeppo +
+;
+
+global-definitions
+
+: garbanzo
+ ." Should be unrecognized." cr
+ ducksoup
+;
+
+new-device [message] Missing a finish-device
+
+: fazooule!
+ ." Lima enter tain you..." cr
+ ducksoup
+ garbanzo
+;
+
+h# deadc0de instance value quaack f[ ." "nInstance should be legit here." ]f
+
+global-definitions
+
+: frijoles
+ ." Holy ... beans?" cr
+ fazooule!
+ garbanzo
+ ducksoup
+;
+
+finish-device
+
+finish-device
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/InclLst.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/InclLst.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/InclLst.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,43 @@
+\ Test FLOADing and ENCODing-a-File with an Include-List
+\ We'll expect the Include-List to include the sibling-directory
+\ called TokeCommon and the non-existence of anything with
+\ "NonExist" in its name.
+
+
+fcode-version2
+hex
+headers
+
+\ This works.
+." OneBeer.fth"
+fload OneBeer.fth
+
+\ Intended not to work
+[message] Fload a NonExistent file
+fload NonExist.fth
+[message] Fload an Unreadable file (No read Permissions)
+fload MyBeerAndYouCannotHaveIt.fth
+[message] Fload a Zero-Length file (extension doesn't matter...)
+fload ZeroLen.bin
+
+\ This works.
+." BinData.bin"
+encode-file BinData.bin
+" BinData.bin" property
+
+\ Intended not to work
+[message] Encode a NonExistent file
+encode-file NonExist.bin
+[message] Encode an Unreadable file (No read Permissions)
+encode-file NoRead.bin
+
+[message] Encode with intentional syntax error
+encode-file ${PWD/../TokeCommon/BinData.bin
+
+[message] Encode a Zero length data file
+." ZeroLen.bin"
+encode-file ZeroLen.bin
+
+." That is all..."
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/LargeTextNoQte.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/LargeTextNoQte.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/LargeTextNoQte.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,55 @@
+\ We tested what happens when a quote or message or string is
+\ not terminated until many lines later, but what happens
+\ when it is not terminated at all and the text until the
+\ end of file exceeds the allowable buffer size?
+\ FLOAD this file into a master, to test the overall effect.
+\ The master must define a Macro or Alias called test-token
+\ which will supply the action for the variant in question.
+
+\ Updated Tue, 09 May 2006 at 09:13 PDT by David L. Paktor
+
+
+test-token \ Okay, kids, here we go!
+
+ 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/TokeErrs/LitNums.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/LitNums.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/LitNums.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,14 @@
+\ Test whether d# 0 tokenizes the same as without the d#
+\ It's a named constant, you know, needn't be a literal...
+
+fcode-version2
+
+: lit-test ( -- )
+ d# 0 0 = if ." Zero" then
+ d# 10 10 = if ." Ten" then
+ d# 3 3 = if ." Three" then
+ d# 2 2 = if ." Two" then
+ d# 1 1 = if ." One" then
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/LocOvrRun.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/LocOvrRun.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/LocOvrRun.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,32 @@
+\ Pointer-overrun: unterminated Locals Declaration
+
+\ Updated Fri, 08 Jul 2005 at 11:55 by David L. Paktor
+
+fcode-version2
+
+headers
+
+fload LocalValuesSupport.fth
+
+
+fload LocOvrRun_01.fth
+
+\ Supply the lost semicolon:
+;
+
+fload LocOvrRun_02.fth
+
+\ Supply another lost semicolon:
+;
+
+fload LocOvrRun_03.fth
+
+[message] Back to main file
+
+\ Supply yet another lost semicolon:
+;
+
+fload LocOvrRun_04.fth
+
+fcode-end
+
Added: fcode-utils/testsuite/TokeErrs/LocOvrRun_01.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/LocOvrRun_01.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/LocOvrRun_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,18 @@
+\ First Local-overrun test
+
+
+: ducksoup ( n1 n2 n3 n4 -- m1 m2 )
+ { \ Declare some locals
+ _harpo ( the quiet one) _chico
+ _groucho | \ He's funny, right?
+ _zeppo ( who? ) _karl \ Is he part of the act?
+ \ Look Ma, no close-curly brace!
+ ( Unterminated comment
+ } \ Even if there were a close-curly brace,
+ \ the unterminated comment masks it.
+ _groucho _harpo *
+ _chico +
+ _groucho _zeppo = if swap exit then
+ _groucho + swap _zeppo +
+;
+
Added: fcode-utils/testsuite/TokeErrs/LocOvrRun_02.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/LocOvrRun_02.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/LocOvrRun_02.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,24 @@
+\ Second Local-overrun test
+
+
+: miracle ( n3 n2 n1 -- m3 m2 m1 )
+ { _curly \ Curly braces is why we think of these guys
+ _larry
+ _moe
+ ; \ Initted/un-initted separator present
+ _shemp
+ _besser
+ _joe
+ \ How many Three Stooges were there in all?
+ \ six! }
+ ." Nyuk! " _curly .h cr
+ ." Why, you... " _moe .d cr
+ ." Ouch! " _larry .
+ _curly _moe + -> _shemp
+ _larry _moe + -> _besser
+ _besser _curly + -> _joe
+ _joe _besser 8 faber type free-mem
+ _moe _larry 8 faber type free-mem
+ _curly _besser 8 faber type free-mem
+ _larry _shemp
+;
Added: fcode-utils/testsuite/TokeErrs/LocOvrRun_03.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/LocOvrRun_03.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/LocOvrRun_03.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,14 @@
+\ Third Local-overrun test. Unterminated locals decl'n w/ no separator
+
+: coconuts ( m1 m2 -- m3 m4 m5 )
+ {
+ q
+ _gummo
+ _karl
+
+ 2dup < if swap then
+ 2dup / -> _gummo
+ 2dup - -> _karl
+ * -> q
+ _karl _gummo q
+;
Added: fcode-utils/testsuite/TokeErrs/LocOvrRun_04.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/LocOvrRun_04.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/LocOvrRun_04.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,32 @@
+\ Fourth Local-overrun test. Unterminated Mis-placed locals decl'n
+
+
+: cluckpoop ( n1 n2 n3 n4 flag? -- m1 m2 )
+ if ." Freedonia's going to war!" cr then
+ { \ Declare some locals
+ _harpo ( the quiet one) _chico
+ _groucho | \ He's funny, right?
+ _zeppo ( who? ) _karl \ Is he part of the act?
+ _zeppo \ Not again...
+ ; \ What is that?
+ }
+ _groucho _harpo *
+ _chico +
+ _groucho _zeppo = if swap exit then
+ _groucho + swap _zeppo +
+;
+
+: horse-feathers ( n1 n2 n3 n4 flag? -- m1 m2 )
+ if ." I'm against it!" cr then
+
+ { \ Declare some locals
+ _harpo ( the quiet one) _chico
+ _groucho | \ He's funny, right?
+ _zeppo ( who? )
+ _karl \ Is he part of the act?
+ \ No terminating close-curly-brace
+ _groucho _harpo *
+ _chico +
+ _groucho _zeppo = if swap exit then
+ _groucho + swap _zeppo +
+;
Added: fcode-utils/testsuite/TokeErrs/LocalTest.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/LocalTest.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/LocalTest.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,63 @@
+\ LocalTest.fth
+\ Updated Wed, 25 Jan 2006 at 14:33 PST by David L. Paktor
+
+fcode-version2
+
+ \ Optionally omitting inclusion of LocalValuesSupport
+ \ Correct inclusion is in TokoLoco/SupportedLocalTest.fth
+[ifdef] dont_omit_support
+ fload LocalValuesSupport.fth
+[endif]
+
+h# deaf constant dean
+
+: faber ( n3 n2 n1 -- alloc-addr size $addr,len )
+ { _otter _weasel _skunk ; _muskrat _mole }
+ \ _otter is initialized with the value of n3
+ \ _weasel is initialized with the value of n2
+ \ _skunk is initialized with the value of n1
+ \ _muskrat and _mole are uninitialized
+
+ \ Use n1 to determine an amount of memory to allocate, and
+ \ stuff the address into _mole
+ _skunk 40 * -> _muskrat
+ _muskrat alloc-mem -> _mole
+
+f[
+123 456 789 3dup
+ to _otter
+ _otter
+ constant
+ seegammanoo
+ dean constant wenkroy
+ ]f
+
+ _weasel .h type
+ _otter .d type
+ _mole _muskrat _mole count
+;
+
+f[
+
+ ]f
+
+: miracle ( n3 n2 n1 -- m3 m2 m1 )
+ { _curly _larry _moe | _shemp _besser _joe }
+ ." Nyuk! " _curly .h cr
+ ." Why, you... " _moe .d cr
+ ." Ouch! " _larry .
+ _curly _moe + -> _shemp
+ _larry _moe + -> _besser
+ _besser _curly + -> _joe
+ _joe _besser 8 faber type free-mem
+ _moe _larry 8 faber type free-mem
+ _curly _besser 8 faber type free-mem
+ _larry _shemp
+;
+
+: ordinary ( -- )
+ 123 456 789 miracle
+;
+
+fcode-end
+
Added: fcode-utils/testsuite/TokeErrs/LocalTest1.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/LocalTest1.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/LocalTest1.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,24 @@
+\ LocalTest1.fth
+\ Updated Thu, 12 Jan 2006 at 13:35 PST by David L. Paktor
+
+fcode-version2
+ \ Deliberately omitting inclusion of LocalValuesSupport
+ \ Correct inclusion is in TokoLoco/SupportedLocalTest.fth
+: ducksoup ( n1 n2 n3 -- m1 m2 )
+ { _harpo _chico _groucho | _zeppo _karl }
+ _groucho _harpo * -> _zeppo dup
+ _chico _zeppo + -> _karl dup
+ _groucho _zeppo = if swap exit then
+ _groucho + swap _zeppo +
+;
+
+: coconuts ( m1 m2 -- m3 m4 m5 )
+ { ; q _gummo _karl }
+ 2dup < if swap then
+ 2dup / -> _gummo
+ 2dup - -> _karl
+ * -> q
+ _karl _gummo q
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/MacTest.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/MacTest.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/MacTest.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,20 @@
+\ MacTest.fth
+\ Updated Thu, 17 Mar 2005 at 19:24 by David L. Paktor
+
+
+fcode-version2
+
+
+: veber ( n3 n2 n1 -- alloc-addr size $addr,len )
+ 3dup (.) type
+ .d
+ ?dup if exit then
+ spaces
+;
+
+: ordinary ( -- )
+ 123 456 789 veber
+;
+
+fcode-end
+
Added: fcode-utils/testsuite/TokeErrs/MiscFeatErrs.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/MiscFeatErrs.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/MiscFeatErrs.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,170 @@
+\ Obvious pun intended...
+\ Updated Fri, 14 Jul 2006 at 12:50 PDT by David L. Paktor
+
+[flag] Local-Values
+f[ ." This is a test" ]f
+fcode-version2
+
+fload LocalValuesSupport.fth
+
+headers
+
+[char] G emit
+control G emit
+control [ emit
+: bell
+ char G dup
+ control G dup emit 3drop
+;
+ f[
+ [macro] bell #message" Beep"^G-Beep"^G Yu Rass!"
+ ]f
+
+ recursive
+: factl ( n -- n! )
+ ?dup 0= if 1
+ control G to bell
+ else dup 1- factl *
+ then
+;
+ global-definitions
+ [macro] bell f[ bell ]f
+ [macro] swell bell
+ device-definitions
+[macro] yell bell
+
+bell
+: factl ( n -- n! )
+ ?dup 0= if 1 factl
+ control G to bell
+ else dup 1- recurse *
+ then
+;
+recurse
+: bell recursive ( n -- Sigma[n..1] )
+ ?dup if dup 1- bell +
+ else 0 to bell
+ then
+;
+: cussed
+ i
+ j
+;
+
+: mussed 10 0 do i . loop ;
+: sussed 3 0 do 10 0 do i . j . loop loop ;
+: trussed ( a b c -- )
+ { _a _b _c | _d _e }
+ 10 0 do i .
+ _a _b + i * dup -> d
+ _c * to _e
+ j . loop
+;
+
+
+
+: DMA-ALLOC ( n -- vaddr ) " dma-alloc" $call-parent ;
+: HOOBARTH ( n -- vaddr ) " hoobarth" $call-parent ;
+: MY-END0 ( -- n ) ['] end0 ;
+: SETUP-HOOBARTH ( ??? -- ??? )
+ h# 40 ['] dma-alloc catch if
+ ." Fooey!"
+ then
+ h# 50 ['] hoobarth catch if
+ ." Ptooey!"
+ then
+ ['] roll
+ ['] my-end0
+ ['] bogus-case
+;
+ overload alias end0 my-end0
+
+: another-end0 ['] end0 ;
+
+;
+
+new-device
+: hells
+ bells
+ factl
+ yell
+ swell
+ 7 to swell
+;
+finish-device
+
+variable naught
+defer do-nothing
+30 value thirty
+40 buffer: forty
+50 constant fifty
+create three 0 , 0 , 0 ,
+struct
+4 field >four
+constant /four
+f['] do-nothing get-token
+f[']
+f['] noop set-token
+f['] MooGooGaiPan
+#message Just when you thought it couldn't get any wierder...
+: peril
+ ['] noop is do-nothing
+ overload 0 to my-self
+ 100 is thirty
+ 5 is naught
+ 60 to fifty
+ 9 to three
+ 5 is >four
+ 90 to forty
+ 90 to ninety
+ 90 to noop
+ 27
+ ['] 3drop to do-nothing
+ ['] ninety to do-nothing
+;
+
+: thirty ( new-val -- )
+ dup to thirty
+ \ Should alias inside a colon be allowed?
+ alias .dec
+ .d
+ ." Dirty" .dec
+;
+
+: droop ( -- )
+ twenty
+ tokenizer[
+ \ Alias inside a colon should generate a warning.
+ alias
+ .x
+ .h
+ ]tokenizer
+ 0 ?do i .x loop
+;
+: ploop ( -- )
+ fifty 0 do i drop 2 +loop
+ \ Should doing this inside a colon-def'n be allowed?:
+ tokenizer[ h# 517 constant five-seventeen ]tokenizer
+ five-seventeen
+ 127 to ?leave
+ 503 to (.)
+ ['] 3drop
+ to spaces
+ f['] external
+ to abs
+ d# 36
+ to base
+;
+
+f[ [ifexists] emit-date
+ [message] About to tokenize Tokenizer's creation-stamp
+ [then]
+ alias fedt emit-date
+ fedt
+]f
+
+." My parent is " my-parent u. cr
+
+fcode-end
+
+
Added: fcode-utils/testsuite/TokeErrs/MulPCI_LapFC.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/MulPCI_LapFC.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/MulPCI_LapFC.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,74 @@
+\ Combine Multiple PCI headers with overlapping FCodes.
+\ Updated Wed, 14 Jun 2006 at 12:04 PDT by David L. Paktor
+
+\ We already have a source with overlapping FCodes in two FCode blocks
+\ We just have to wrap it in multiple PCI headers.
+\ Also, we have to make sure to define NoCrash as a command-line symbol
+\ While we're at it, let's also create another switchable behavior:
+\ If the command-line symbol RangeTwo is defined, it should have
+\ a value in the form of a hex number (We'll tace care of the "hex")
+\ which will, in a roundabout way, become the starting FCode for
+\ the second loading of the common Source.
+\ We'll save the symbol in a roundabout manner that will test whether
+\ a particular means can be used to preserve the current FCode
+\ assignment counter across PCI blocks, especially when there is
+\ an fcode-reset associated with the end of a PCI block.
+\ Oh, and... We'll control whether the fcode-reset is called by another
+\ command-line symbol: If NoReset is defined, we will bypass
+\ issuing the fcode-reset command. (We expect we'll be making it
+\ automatic and implicit at the end of a PCI block, but we're still
+\ testing the premise...)
+
+
+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 TooManyFCodes.fth
+
+
+[ifdef] RangeTwo
+ f[
+ [DEFINED] RangeTwo constant SecondRangeFCode
+ ]f
+[endif]
+
+\ Try it once before and once after...
+[ifndef] NoReset fcode-reset [else] #message" Not resetting..." [endif]
+pci-header-end [ifndef] NoReset fcode-reset [endif]
+
+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
+
+
+[ifdef] RangeTwo
+ f[
+ SecondRangeFCode next-fcode
+ ]f
+[endif]
+
+fload TooManyFCodes.fth
+
+
+pci-header-end [ifndef] NoReset fcode-reset [endif]
Added: fcode-utils/testsuite/TokeErrs/ObsoFCodes.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/ObsoFCodes.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/ObsoFCodes.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,58 @@
+\ Test "Obsolete" FCodes messages, corner-cases and suchlike.
+\ Updated Tue, 07 Feb 2006 at 14:54 PST by David L. Paktor
+
+
+
+fcode-version2
+
+headers
+
+\ Just a mindless recitation of function-names...
+
+
+
+convert
+set-token-table
+set-table
+b(code)
+4-byte-id
+dma-alloc
+memmap
+>physical
+['] my-params ['] 2dup ['] if
+intr
+driver
+true to group-code
+true to frame-buffer-busy?
+fb1-draw-character
+fb1-reset-screen
+fb1-toggle-cursor
+fb1-erase-screen
+fb1-blink-screen
+fb1-invert-screen
+fb1-insert-characters
+fb1-delete-characters
+fb1-insert-lines
+fb1-delete-lines
+fb1-draw-logo
+fb1-install
+fb1-slide-up
+return-buffer
+f['] return-buffer
+xmit-packet
+poll-packet
+processor-type
+firmware-version
+fcode-version
+adr-mask
+probe
+probe-virtual
+
+
+xwsplit
+f['] unloop
+['] unloop
+['] j
+j
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/OneTwoFive.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/OneTwoFive.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/OneTwoFive.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,125 @@
+1 constant one
+2 constant two
+3 constant three
+4 constant four
+5 constant five
+6 constant six
+7 constant seven
+8 constant eight
+9 constant nine
+10 constant ten
+11 constant eleven
+12 constant twelve
+13 constant thirteen
+14 constant fourteen
+15 constant fifteen
+16 constant sixteen
+17 constant seventeen
+18 constant eighteen
+19 constant nineteen
+20 constant twenty
+21 constant twenty-one
+22 constant twenty-two
+23 constant twenty-three
+24 constant twenty-four
+25 constant twenty-five
+26 constant twenty-six
+27 constant twenty-seven
+28 constant twenty-eight
+29 constant twenty-nine
+30 constant thirty
+31 constant thirty-one
+32 constant thirty-two
+33 constant thirty-three
+34 constant thirty-four
+35 constant thirty-five
+36 constant thirty-six
+37 constant thirty-seven
+38 constant thirty-eight
+39 constant thirty-nine
+40 constant forty
+41 constant forty-one
+42 constant forty-two
+43 constant forty-three
+44 constant forty-four
+45 constant forty-five
+46 constant forty-six
+47 constant forty-seven
+48 constant forty-eight
+49 constant forty-nine
+50 constant fifty
+51 constant fifty-one
+52 constant fifty-two
+53 constant fifty-three
+54 constant fifty-four
+55 constant fifty-five
+56 constant fifty-six
+57 constant fifty-seven
+58 constant fifty-eight
+59 constant fifty-nine
+60 constant sixty
+61 constant sixty-one
+62 constant sixty-two
+63 constant sixty-three
+64 constant sixty-four
+65 constant sixty-five
+66 constant sixty-six
+67 constant sixty-seven
+68 constant sixty-eight
+69 constant sixty-nine
+70 constant seventy
+71 constant seventy-one
+72 constant seventy-two
+73 constant seventy-three
+74 constant seventy-four
+75 constant seventy-five
+76 constant seventy-six
+77 constant seventy-seven
+78 constant seventy-eight
+79 constant seventy-nine
+80 constant eighty
+81 constant eighty-one
+82 constant eighty-two
+83 constant eighty-three
+84 constant eighty-four
+85 constant eighty-five
+86 constant eighty-six
+87 constant eighty-seven
+88 constant eighty-eight
+89 constant eighty-nine
+90 constant ninety
+91 constant ninety-one
+92 constant ninety-two
+93 constant ninety-three
+94 constant ninety-four
+95 constant ninety-five
+96 constant ninety-six
+97 constant ninety-seven
+98 constant ninety-eight
+99 constant ninety-nine
+100 constant one_hundred
+101 constant one_hundred_and_one
+102 constant one_hundred_and_two
+103 constant one_hundred_and_three
+104 constant one_hundred_and_four
+105 constant one_hundred_and_five
+106 constant one_hundred_and_six
+107 constant one_hundred_and_seven
+108 constant one_hundred_and_eight
+109 constant one_hundred_and_nine
+110 constant one_hundred_and_ten
+111 constant one_hundred_and_eleven
+112 constant one_hundred_and_twelve
+113 constant one_hundred_and_thirteen
+114 constant one_hundred_and_fourteen
+115 constant one_hundred_and_fifteen
+116 constant one_hundred_and_sixteen
+117 constant one_hundred_and_seventeen
+118 constant one_hundred_and_eighteen
+119 constant one_hundred_and_nineteen
+120 constant one_hundred_and_twenty
+121 constant one_hundred_and_twenty-one
+122 constant one_hundred_and_twenty-two
+123 constant one_hundred_and_twenty-three
+124 constant one_hundred_and_twenty-four
+125 constant one_hundred_and_twenty-five
Added: fcode-utils/testsuite/TokeErrs/PCI_FCShdrErrs.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/PCI_FCShdrErrs.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/PCI_FCShdrErrs.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,29 @@
+\ Combination PCI-Headers Errors test.
+
+\ Updated Thu, 08 Sep 2005 at 17:31 by David L. Paktor
+
+
+hex
+tokenizer[
+
+ c020
+ SET-REV-LEVEL
+ dec1 \ Vendor
+ c0ed \ Device ID
+ 80201 \ Class Code (ISA system timer. Denver Colorado )
+
+ ]tokenizer
+
+ pci-header
+
+." What is this?" \ Output FCode before the fcode-version2 . S.b. error...
+
+fcode-version2
+headers
+ : bogo " This is a test." ;
+
+
+fcode-end
+
+pci-header-end
+
Added: fcode-utils/testsuite/TokeErrs/PCIhdrErrs.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/PCIhdrErrs.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/PCIhdrErrs.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,28 @@
+\ Basic PCI-Headers Errors test.
+
+\ Updated Wed, 25 May 2005 at 17:30 by David L. Paktor
+
+
+hex
+tokenizer[
+
+ c020
+ SET-REV-LEVEL
+ dec1 \ Vendor
+ c0ed \ Device ID
+ 80201 \ Class Code (ISA system timer. Denver Colorado )
+
+ ]tokenizer
+." What is this?"
+
+ pci-header
+
+fcode-version2
+headers
+ : bogo " This is a test." ;
+
+
+fcode-end
+
+pci-header-end
+
Added: fcode-utils/testsuite/TokeErrs/PooPsalah.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/PooPsalah.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/PooPsalah.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 "poopsalah?" (Okay, so I was running out of ideas...)
+
+." Begin Nested ""Constant"" Test Test"
+f[ poopsalah? f] [if]
+[message] The TRUE path has wisely been chosen, Poopsalah!
+ ." Is True, level 1"
+ f[ poopsalah? f] [if]
+ " Is True and is True, level 2"
+ [else]
+ " Is True but is Not True. What?"
+ [then]
+ ." Middle of level 2"
+ f[ poopsalah? 0= f] [if]
+ " Is True and is False. What?"
+ [else]
+ " Is True and is Not False, level 2"
+ [then]
+[else]
+[message] Oy, Poopsalah. You have foolishly chosen the FALSE path.
+ ." Is Not True, level 1"
+ f[ poopsalah? 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[ poopsalah? 0= f] [if]
+ " Is Not True and is False, level 2"
+ [else]
+ " Is Not True and is Not False. What?"
+ [then]
+\ Missing a [then]
+
Added: fcode-utils/testsuite/TokeErrs/RetStkDep.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/RetStkDep.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/RetStkDep.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,105 @@
+\ Return-Stack Depth -- well, "depth" is not exactly it;
+\ we're testing detection of imbalance between >R and R> and uses of R@
+\ in between.
+
+\ From the ANSI Forth Spec:
+\ 3.2.3.3 Return stack
+\ . . . . . .
+\ A program may use the return stack for temporary storage during the
+\ execution of a definition subject to the following restrictions:
+\ A program shall not access values on the return stack (using R@,
+\ R>, 2R@ or 2R>) that it did not place there using >R or 2>R;
+\ A program shall not access from within a do-loop values placed
+\ on the return stack before the loop was entered;
+\ All values placed on the return stack within a do-loop shall
+\ be removed before I, J, LOOP, +LOOP, UNLOOP, or LEAVE is
+\ executed;
+\ All values placed on the return stack within a definition
+\ shall be removed before the definition is terminated
+\ or before EXIT is executed.
+
+\ Updated Tue, 18 Jul 2006 at 16:09 PDT by David L. Paktor
+
+[flag] Lower-Case-Token-Names
+
+fcode-version2
+headers
+
+\ First, a few primal errors...
+." Primal errors" cr
+d# 127 h# 127 dup r> swap r@ -rot >r swap
+3 0 do r@ loop
+3 0 do r> loop
+3 0 do i >r loop
+
+hex
+create cold-stone 1c c, ec c, 9e c, a3 c, c0 c, 6e c,
+\ Then some legit usages
+: legit_one
+ dup >r
+ 3 0 do i
+ cold-stone over ca+ c@ >r
+ 3 + cold-stone swap ca+ c@ r>
+ loop
+ r>
+;
+
+\ Now a tricky one:
+: tricky_one
+ dup >r
+ over if ." Showing " r> u.
+ else r> drop ." Don't show"
+ then
+;
+: another_one ( old new -- false | new' true )
+ >r 0= if r> drop false exit then
+ dup * r@ / r> + true
+;
+
+
+." Now we start getting bad." cr
+\ The one that started me down this path...
+0 instance value _str
+0 instance value _len
+0 instance value _num
+: PARSE-INTS ( addr len num -- n1 .. nn )
+ to _num
+ to _len
+ to _str
+ _num 0 ?do
+ _len if
+ _str _len [char] , left-parse-string 2swap to _len to _str
+ $number if 0 then
+ else
+ 0
+ then
+ >r loop
+ _num 0 ?do r> loop
+;
+
+. " If this doesn't scare you, it should:" cr
+: scattered-errors
+ 0 >r
+ _num 0 ?do
+ _str _len [char] , left-parse-string
+ 2swap to _len to _str
+ $number if 0 else r@ 1+ swap >r then
+ >r i u.
+ loop
+ r@ 0 ?do r> i roll loop
+;
+
+." Now, be very afraid..." cr
+0 instance value where-from
+: frayed-knot
+ where-from 0= if r@ to where-from then
+ r> drop where-from if exit then
+ ." What have I done?" cr
+;
+: krellboyn
+ where-from ?dup if >r 0 to where-from then
+ where-from if exit then
+ ." I didn't mean it!" cr
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/SmlOvrRun.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/SmlOvrRun.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/SmlOvrRun.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,8 @@
+\ Small over-run test
+fcode-version2
+
+headers
+
+: duffy ( -- )
+." No.
+;
Added: fcode-utils/testsuite/TokeErrs/SplitImbal.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/SplitImbal.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/SplitImbal.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,33 @@
+\ For this test, we are going to Split a definition across several files,
+\ and then leave a Control-Structure Imbalance
+
+\ Updated Fri, 22 Jul 2005 at 12:41 by David L. Paktor
+
+fcode-version2
+
+headers
+
+
+: firstdefn ( n -- ??? )
+
+fload SplitImbal_01.fth
+
+fload SplitImbal_02.fth
+
+;
+
+: seconddefn ( n -- ??? )
+
+fload SplitImbal_01.fth
+
+fload SplitImbal_01.fth
+fload SplitImbal_02.fth
+
+;
+
+
+fcode-end
+\ fload SplitImbal_03.fth
+\ fload SplitImbal_04.fth
+\ fload SplitImbal_05.fth
+
Added: fcode-utils/testsuite/TokeErrs/SplitImbal_01.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/SplitImbal_01.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/SplitImbal_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,8 @@
+\ First part of Split Definition test
+
+
+\ Definition is under way.
+1 ?do
+ i . ." What have I done?" cr
+ i 0 do j . i . ." What has j done?" cr loop
+ cr
Added: fcode-utils/testsuite/TokeErrs/SplitImbal_02.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/SplitImbal_02.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/SplitImbal_02.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,7 @@
+\ Second part of Split Definition test
+
+
+\ Do-loop is under way.
+ cr cr
+ loop ." Done... cr"
+
Added: fcode-utils/testsuite/TokeErrs/SplitImbal_03.fth
===================================================================
Added: fcode-utils/testsuite/TokeErrs/SplitImbal_04.fth
===================================================================
Added: fcode-utils/testsuite/TokeErrs/SplitImbal_05.fth
===================================================================
Added: fcode-utils/testsuite/TokeErrs/SuppLocErrTest4.ErrMsgs.NoI
===================================================================
--- fcode-utils/testsuite/TokeErrs/SuppLocErrTest4.ErrMsgs.NoI (rev 0)
+++ fcode-utils/testsuite/TokeErrs/SuppLocErrTest4.ErrMsgs.NoI 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1 @@
+../toke: Command not found.
Added: fcode-utils/testsuite/TokeErrs/SuppLocErrTest4.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/SuppLocErrTest4.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/SuppLocErrTest4.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,111 @@
+\ SuppLocErrTest4.fth
+\ Updated Fri, 30 Jun2006 at 14:09 PDT by David L. Paktor
+
+fcode-version2
+
+headers
+
+alias snatch catch
+
+d# 32 constant _local-storage-size_
+
+fload LocalValuesSupport.fth
+
+overload : catch snatch catch ;
+variable dup
+
+: ducksoup ( n1 n2 n3 n4 -- m1 m2 )
+ { \ Declare some locals
+ _harpo ( the quiet one) _chico
+ _groucho | \ He's funny, right?
+ _zeppo ( who? ) _karl \ Is he part of the act?
+ }
+ _groucho _harpo *
+ _chico +
+ _groucho _zeppo = if swap exit then
+ _groucho + swap _zeppo +
+;
+
+: cluckpoop ( n1 n2 n3 n4 flag? -- m1 m2 )
+ if ." Freedonia's going to war!" cr then
+ { \ Declare some locals after the def'n has started
+ _harpo ( the quiet one) _chico
+ _groucho | \ He's funny, right?
+ _zeppo ( who? ) _karl \ Is he part of the act?
+ _zeppo \ Not again...
+ ; \ What is that?
+ }
+ _groucho _harpo *
+ _chico +
+ _groucho _zeppo = if swap exit then
+ _groucho + swap _zeppo +
+;
+
+: neighcluck ( n1 n2 n3 n4 flag? -- m1 m2 )
+ { \ Declare some locals
+ _harpo ( the quiet one) _chico
+ _groucho | \ He's funny, right?
+ _zeppo ( who? ) _karl \ Is he part of the act?
+ _zeppo \ Not again...
+ ; \ What is that?
+ _gummo
+ _karl ( Another repeater ) }
+
+ ." I'm against it!" cr
+ _groucho _harpo *
+ _chico +
+ _groucho _zeppo = if swap exit then
+ _groucho + swap _zeppo +
+ -> _gummo
+ ." What's yours is mine..." cr
+ dup -> _karl
+;
+: coconuts ( m1 m2 -- m3 m4 m5 )
+ { ; q _gummo _karl }
+ instance \ No,
+ create \ No, no no!
+ 2dup < if swap then
+ 2dup / -> _gummo
+ 2dup - -> _karl
+ * -> q
+ _karl _gummo q
+;
+
+_harpo
+_chico
+_groucho
+_zeppo
+_gummo
+_karl
+
+\ Two sets of Locals Declarations in one definition
+: spaulding
+ ." Hooray for the captain!" cr
+ { _lfn _pjs _how | _got _in }
+
+ _how _lfn + -> _got
+ 123 -> _in _pjs
+ { _I'll _never _know }
+ _in _pjs _I'll _never _know
+;
+
+\ Locals Declarations in a structure
+\ Inside an outer structure...
+
+true if
+ : wire-fence
+ ." Inside a structure?"
+ if
+ { _why _a _duck | _viaduct }
+ _duck _why + _a * -> _viaduct
+ _viaduct 0= if exit then
+ ." Why a duck?"
+ then
+ ." Because water..."
+ \ Scope of Locals should end here but it doesn't.
+ _a _duck _why * + _viaduct = if ." Any takers?" exit then
+ ." Step right up"
+ ;
+then
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TestArgs
===================================================================
--- fcode-utils/testsuite/TokeErrs/TestArgs (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TestArgs 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,96 @@
+# Automated Test Arguments file for TokeErrs category
+# (That's short for "Tokenizer Errors")
+
+# 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.
+# A leading +V in the script-command field will suppress -v
+
+# Most files in this category need the -i switch
+# Some may have additional variants.
+
+# Updated Thu, 27 Jul 2006 at 17:55 PDT by David L. Paktor
+
+MiscFeatErrs , , -i -I. -I..
+LocalTest , NoLvSupp , -i -I. -I.. -f Local-Values
+LocalTest , , -i -f Local-Values -d dont_omit_support -I. -I..
+LocalTest1 , , -f Local-Values -f noLV-Legacy-Message -I. -I..
+ControlMismatch , , -i
+SuppLocErrTest4 , , -i -f Local-Values -l -I. -I..
+testLocDevSupG , , -i -f Local-Values -I. -I..
+testLocDevSupG , SymSiz , -i -f Local-Values -d "_local-storage-size_= d# 120" -I. -I..
+PCIhdrErrs , , -i
+FCShdrErrs , , -i
+PCI_FCShdrErrs , , -i
+CommOvrRun , , -i -l
+LocOvrRun , , -i -f Local-Values -l -I. -I..
+SplitImbal , , -i -l
+TokCondUnconcF , , -i -l
+TokCondUnconcT , , -i -l
+TooLargeCase , , -i -l
+TooLargeBranch_off16 , , -i -l
+TooLargeBranch_off16 , N231 , -i -l -d "fld_cmd=fload TooLargeBranch_N231_body.fth"
+TooLargeBranch_off16 , N232 , -i -l -d "fld_cmd=fload TooLargeBranch_N232_body.fth"
+TooLargeBranch_off16 , N233 , -i -l -d "fld_cmd=fload TooLargeBranch_N233_body.fth"
+TooLargeBranch_off16 , V178 , -i -l -d "fld_cmd=fload TooLargeBranch_V178_body.fth"
+TooLargeBranch_off16 , V179 , -i -l -d "fld_cmd=fload TooLargeBranch_V179_body.fth"
+TooLargeBranch_off16 , V180 , -i -l -d "fld_cmd=fload TooLargeBranch_V180_body.fth"
+TooLargeBranch_off08 , , -i -l
+TooLargeBranch_off08_to_16 , , -i -l
+TooTooLargeBuffer , , -i -l
+UserMacroErrors , , -i
+CStrEscOvflw , , -i -l
+DevImbal , , -i
+DevNodAli , , -i -l -I. -I..
+DevNodAli_01 , , -i -l -I. -I..
+GlobScopErrTst , NoI , -f Local-Values -I. -I..
+GlobScopErrTst , , -i -f Local-Values -I. -I..
+GlobScopErrTst_01 , , -i -f Local-Values -I. -I..
+GlobScopErrTst_02 , , -i -f Local-Values -I. -I..
+GlobScopErrTst_03 , , -i -f Local-Values -I. -I..
+# The script-fields below prepare for the ExpPath and InclLst tests
+Frinstnce , , -i , touch ExpPath.NoV.f{c,l{,.missing}}
+Frinstnce , NoI , , chmod a-rw ../TokeCommon/{MyBeerAndYouCannotHaveIt.fth,NoRead.bin} ExpPath.NoV.f{c,l{,.missing}}
+
+# We're now ready for the ExpPath and InclLst tests
+
+ExpPath , NoV , -i -l , +V rm -f ExpPath.NoV.f{c,l{,.missing}}
+
+InclLst , , -i -l -P -I .. -I ../TokBrack -I ../TokMisc -I ../TokeCommon -I ../TokoLoco -I ../TokCondl -I ../TokProdCpy -I ../TokeErrs -I /home/dlpaktor/HeyVern/DoYuhThink/ThisIsA/LongEnuffPathName/To/Make/The/Line/Really/Overflow -I . -I /home/dlpaktor/Hey/Vern/This/Path/Just/Fills/Up/TheLine/KnowWhudI/Mean -I ../TokeCommon -f noAbort-quote
+
+# The following must be the last in the set of ExpPath and InclLst tests
+# The script-field is to reset for next time, and to enable tar-ring the Log
+ExpPath , , -i -l , chmod a+r ../TokeCommon/{MyBeerAndYouCannotHaveIt.fth,NoRead.bin}
+
+# Done with the ExpPath and InclLst tests
+ToAtEnd , , -i
+ObsoFCodes , , -i
+ObsoFCodes , NoWarn , -f NoObsolete-FCode-Warning
+
+TooLargePMessage
+TooLargePQuote , , -i
+TooLargeQMessage
+TooLargeSQuote
+TooLargeParen , , -i
+TooLargeQAbort
+TooLargeQNoAbort
+
+AbrtWQuotStr , , -i
+
+# The new "Trace" feature, and handling of duplicate and mis-scoped names...
+DupNams , , -f Local-Values -T croop -T drop -T _harpo -T dup -T noop -T zoop -T foop
+
+TooManyFCodes , , -i
+TooManyFCodes , NoCrash , -i -d NoCrash
+
+MulPCI_LapFC , , -i -d NoCrash
+MulPCI_LapFC , RngTwo , -i -d NoCrash -d RangeTwo=0ace
+MulPCI_LapFC , RTwoNoRst , -i -d NoCrash -d RangeTwo=0ace -d NoReset
+MulPCI_LapFC , NoRst , -i -d NoCrash -d NoReset
+
+RetStkDep , , -i
+CondlDefn , , -i
Added: fcode-utils/testsuite/TokeErrs/ToAtEnd.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/ToAtEnd.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/ToAtEnd.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,34 @@
+\ Confirm that I now catch the error where
+\ "to" is the last thing in the input
+
+\ Updated Mon, 03 Apr 2006 at 16:03 PDT by David L. Paktor
+
+fcode-version2
+headers
+global-definitions
+alias poo to
+device-definitions
+
+\ We're also going to throw in a quickie test for how we handle
+\ attempts to create an alias to a Local.
+[flag] Local-Values
+fload LocalValuesSupport.fth
+
+: gnarggghhh! { _gnarly _dood | _hang_ten }
+ alias _cool _gnarly
+ _cool _dood + -> _hang_ten
+;
+_cool
+ _gnarly
+ _dood
+ _hang_ten
+variable shmoo
+\ What's the world coming to?
+h# 5417 value merde
+h# 4ead poo
+ merde
+h# f09e4ead poo gnarggghhh!
+h# f09e4ead to gnarggghhh!
+h# f09e4ead poo shmoo
+h# f09e4ead poo 1
+merde poo
Added: fcode-utils/testsuite/TokeErrs/TokCondUnconcF.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TokCondUnconcF.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TokCondUnconcF.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,11 @@
+\ "False" side of Nested "Constant" Unconcluded Conditionals test
+
+\ Updated Wed, 08 Mar 2006 at 16:12 PST by David L. Paktor
+\
+
+f[ false f]
+
+f[ true f] [if]
+fload TokCondUnconc_01.fth
+
+\ Missing an [endif]
Added: fcode-utils/testsuite/TokeErrs/TokCondUnconcT.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TokCondUnconcT.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TokCondUnconcT.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,11 @@
+\ "True" side of Nested "Constant" Unconcluded Conditionals test
+
+\ Updated Wed, 08 Mar 2006 at 16:12 PST by David L. Paktor
+\
+
+f[ true f]
+
+f[ true f] [if]
+fload TokCondUnconc_01.fth
+
+\ Missing an [endif]
Added: fcode-utils/testsuite/TokeErrs/TokCondUnconc_01.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TokCondUnconc_01.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TokCondUnconc_01.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,23 @@
+\ Common code (insert obligatory sneeze here)
+\ for Nested "Constant" Unconcluded Conditionals test
+
+\ Updated Wed, 08 Mar 2006 at 16:12 PST by David L. Paktor
+
+\ File that FLOADs this has already put TRUE or FALSE on the stack.
+
+f[ constant poopsalah? f]
+
+fcode-version2
+
+: whatziz
+ ." This is the "
+ f[ poopsalah? [if] f] ." True " f[ [else] f] ." False" f[ [then] f]
+ ." side of the test." cr
+;
+headers
+
+fload PooPsalah.fth
+
+: whoozis whatziz ;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooLargeBranch_N231_body.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_N231_body.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_N231_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,927 @@
+[message] Starting out with 231 Bottles of Beer on the wall
+." Oh, 231 Bottles of Beer on the wall," cr
+." 231 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 230 Bottles of Beer on the wall." cr
+." Oh, 230 Bottles of Beer on the wall," cr
+." 230 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 229 Bottles of Beer on the wall." cr
+." Oh, 229 Bottles of Beer on the wall," cr
+." 229 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 228 Bottles of Beer on the wall." cr
+." Oh, 228 Bottles of Beer on the wall," cr
+." 228 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 227 Bottles of Beer on the wall." cr
+." Oh, 227 Bottles of Beer on the wall," cr
+." 227 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 226 Bottles of Beer on the wall." cr
+." Oh, 226 Bottles of Beer on the wall," cr
+." 226 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 225 Bottles of Beer on the wall." cr
+." Oh, 225 Bottles of Beer on the wall," cr
+." 225 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 224 Bottles of Beer on the wall." cr
+." Oh, 224 Bottles of Beer on the wall," cr
+." 224 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 223 Bottles of Beer on the wall." cr
+." Oh, 223 Bottles of Beer on the wall," cr
+." 223 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 222 Bottles of Beer on the wall." cr
+." Oh, 222 Bottles of Beer on the wall," cr
+." 222 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 221 Bottles of Beer on the wall." cr
+." Oh, 221 Bottles of Beer on the wall," cr
+." 221 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 220 Bottles of Beer on the wall." cr
+." Oh, 220 Bottles of Beer on the wall," cr
+." 220 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 219 Bottles of Beer on the wall." cr
+." Oh, 219 Bottles of Beer on the wall," cr
+." 219 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 218 Bottles of Beer on the wall." cr
+." Oh, 218 Bottles of Beer on the wall," cr
+." 218 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 217 Bottles of Beer on the wall." cr
+." Oh, 217 Bottles of Beer on the wall," cr
+." 217 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 216 Bottles of Beer on the wall." cr
+." Oh, 216 Bottles of Beer on the wall," cr
+." 216 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 215 Bottles of Beer on the wall." cr
+." Oh, 215 Bottles of Beer on the wall," cr
+." 215 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 214 Bottles of Beer on the wall." cr
+." Oh, 214 Bottles of Beer on the wall," cr
+." 214 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 213 Bottles of Beer on the wall." cr
+." Oh, 213 Bottles of Beer on the wall," cr
+." 213 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 212 Bottles of Beer on the wall." cr
+." Oh, 212 Bottles of Beer on the wall," cr
+." 212 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 211 Bottles of Beer on the wall." cr
+." Oh, 211 Bottles of Beer on the wall," cr
+." 211 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 210 Bottles of Beer on the wall." cr
+." Oh, 210 Bottles of Beer on the wall," cr
+." 210 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 209 Bottles of Beer on the wall." cr
+." Oh, 209 Bottles of Beer on the wall," cr
+." 209 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 208 Bottles of Beer on the wall." cr
+." Oh, 208 Bottles of Beer on the wall," cr
+." 208 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 207 Bottles of Beer on the wall." cr
+." Oh, 207 Bottles of Beer on the wall," cr
+." 207 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 206 Bottles of Beer on the wall." cr
+." Oh, 206 Bottles of Beer on the wall," cr
+." 206 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 205 Bottles of Beer on the wall." cr
+." Oh, 205 Bottles of Beer on the wall," cr
+." 205 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 204 Bottles of Beer on the wall." cr
+." Oh, 204 Bottles of Beer on the wall," cr
+." 204 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 203 Bottles of Beer on the wall." cr
+." Oh, 203 Bottles of Beer on the wall," cr
+." 203 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 202 Bottles of Beer on the wall." cr
+." Oh, 202 Bottles of Beer on the wall," cr
+." 202 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 201 Bottles of Beer on the wall." cr
+." Oh, 201 Bottles of Beer on the wall," cr
+." 201 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 200 Bottles of Beer on the wall." cr
+." Oh, 200 Bottles of Beer on the wall," cr
+." 200 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 199 Bottles of Beer on the wall." cr
+." Oh, 199 Bottles of Beer on the wall," cr
+." 199 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 198 Bottles of Beer on the wall." cr
+." Oh, 198 Bottles of Beer on the wall," cr
+." 198 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 197 Bottles of Beer on the wall." cr
+." Oh, 197 Bottles of Beer on the wall," cr
+." 197 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 196 Bottles of Beer on the wall." cr
+." Oh, 196 Bottles of Beer on the wall," cr
+." 196 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 195 Bottles of Beer on the wall." cr
+." Oh, 195 Bottles of Beer on the wall," cr
+." 195 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 194 Bottles of Beer on the wall." cr
+." Oh, 194 Bottles of Beer on the wall," cr
+." 194 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 193 Bottles of Beer on the wall." cr
+." Oh, 193 Bottles of Beer on the wall," cr
+." 193 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 192 Bottles of Beer on the wall." cr
+." Oh, 192 Bottles of Beer on the wall," cr
+." 192 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 191 Bottles of Beer on the wall." cr
+." Oh, 191 Bottles of Beer on the wall," cr
+." 191 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 190 Bottles of Beer on the wall." cr
+." Oh, 190 Bottles of Beer on the wall," cr
+." 190 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 189 Bottles of Beer on the wall." cr
+." Oh, 189 Bottles of Beer on the wall," cr
+." 189 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 188 Bottles of Beer on the wall." cr
+." Oh, 188 Bottles of Beer on the wall," cr
+." 188 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 187 Bottles of Beer on the wall." cr
+." Oh, 187 Bottles of Beer on the wall," cr
+." 187 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 186 Bottles of Beer on the wall." cr
+." Oh, 186 Bottles of Beer on the wall," cr
+." 186 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 185 Bottles of Beer on the wall." cr
+." Oh, 185 Bottles of Beer on the wall," cr
+." 185 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 184 Bottles of Beer on the wall." cr
+." Oh, 184 Bottles of Beer on the wall," cr
+." 184 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 183 Bottles of Beer on the wall." cr
+." Oh, 183 Bottles of Beer on the wall," cr
+." 183 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 182 Bottles of Beer on the wall." cr
+." Oh, 182 Bottles of Beer on the wall," cr
+." 182 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 181 Bottles of Beer on the wall." cr
+." Oh, 181 Bottles of Beer on the wall," cr
+." 181 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 180 Bottles of Beer on the wall." cr
+." Oh, 180 Bottles of Beer on the wall," cr
+." 180 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 179 Bottles of Beer on the wall." cr
+." Oh, 179 Bottles of Beer on the wall," cr
+." 179 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 178 Bottles of Beer on the wall." cr
+." Oh, 178 Bottles of Beer on the wall," cr
+." 178 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 177 Bottles of Beer on the wall." cr
+." Oh, 177 Bottles of Beer on the wall," cr
+." 177 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 176 Bottles of Beer on the wall." cr
+." Oh, 176 Bottles of Beer on the wall," cr
+." 176 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 175 Bottles of Beer on the wall." cr
+." Oh, 175 Bottles of Beer on the wall," cr
+." 175 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 174 Bottles of Beer on the wall." cr
+." Oh, 174 Bottles of Beer on the wall," cr
+." 174 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 173 Bottles of Beer on the wall." cr
+." Oh, 173 Bottles of Beer on the wall," cr
+." 173 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 172 Bottles of Beer on the wall." cr
+." Oh, 172 Bottles of Beer on the wall," cr
+." 172 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 171 Bottles of Beer on the wall." cr
+." Oh, 171 Bottles of Beer on the wall," cr
+." 171 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 170 Bottles of Beer on the wall." cr
+." Oh, 170 Bottles of Beer on the wall," cr
+." 170 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 169 Bottles of Beer on the wall." cr
+." Oh, 169 Bottles of Beer on the wall," cr
+." 169 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 168 Bottles of Beer on the wall." cr
+." Oh, 168 Bottles of Beer on the wall," cr
+." 168 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 167 Bottles of Beer on the wall." cr
+." Oh, 167 Bottles of Beer on the wall," cr
+." 167 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 166 Bottles of Beer on the wall." cr
+." Oh, 166 Bottles of Beer on the wall," cr
+." 166 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 165 Bottles of Beer on the wall." cr
+." Oh, 165 Bottles of Beer on the wall," cr
+." 165 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 164 Bottles of Beer on the wall." cr
+." Oh, 164 Bottles of Beer on the wall," cr
+." 164 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 163 Bottles of Beer on the wall." cr
+." Oh, 163 Bottles of Beer on the wall," cr
+." 163 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 162 Bottles of Beer on the wall." cr
+." Oh, 162 Bottles of Beer on the wall," cr
+." 162 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 161 Bottles of Beer on the wall." cr
+." Oh, 161 Bottles of Beer on the wall," cr
+." 161 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 160 Bottles of Beer on the wall." cr
+." Oh, 160 Bottles of Beer on the wall," cr
+." 160 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 159 Bottles of Beer on the wall." cr
+." Oh, 159 Bottles of Beer on the wall," cr
+." 159 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 158 Bottles of Beer on the wall." cr
+." Oh, 158 Bottles of Beer on the wall," cr
+." 158 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 157 Bottles of Beer on the wall." cr
+." Oh, 157 Bottles of Beer on the wall," cr
+." 157 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 156 Bottles of Beer on the wall." cr
+." Oh, 156 Bottles of Beer on the wall," cr
+." 156 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 155 Bottles of Beer on the wall." cr
+." Oh, 155 Bottles of Beer on the wall," cr
+." 155 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 154 Bottles of Beer on the wall." cr
+." Oh, 154 Bottles of Beer on the wall," cr
+." 154 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 153 Bottles of Beer on the wall." cr
+." Oh, 153 Bottles of Beer on the wall," cr
+." 153 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 152 Bottles of Beer on the wall." cr
+." Oh, 152 Bottles of Beer on the wall," cr
+." 152 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 151 Bottles of Beer on the wall." cr
+." Oh, 151 Bottles of Beer on the wall," cr
+." 151 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 150 Bottles of Beer on the wall." cr
+." Oh, 150 Bottles of Beer on the wall," cr
+." 150 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 149 Bottles of Beer on the wall." cr
+." Oh, 149 Bottles of Beer on the wall," cr
+." 149 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 148 Bottles of Beer on the wall." cr
+." Oh, 148 Bottles of Beer on the wall," cr
+." 148 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 147 Bottles of Beer on the wall." cr
+." Oh, 147 Bottles of Beer on the wall," cr
+." 147 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 146 Bottles of Beer on the wall." cr
+." Oh, 146 Bottles of Beer on the wall," cr
+." 146 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 145 Bottles of Beer on the wall." cr
+." Oh, 145 Bottles of Beer on the wall," cr
+." 145 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 144 Bottles of Beer on the wall." cr
+." Oh, 144 Bottles of Beer on the wall," cr
+." 144 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 143 Bottles of Beer on the wall." cr
+." Oh, 143 Bottles of Beer on the wall," cr
+." 143 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 142 Bottles of Beer on the wall." cr
+." Oh, 142 Bottles of Beer on the wall," cr
+." 142 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 141 Bottles of Beer on the wall." cr
+." Oh, 141 Bottles of Beer on the wall," cr
+." 141 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 140 Bottles of Beer on the wall." cr
+." Oh, 140 Bottles of Beer on the wall," cr
+." 140 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 139 Bottles of Beer on the wall." cr
+." Oh, 139 Bottles of Beer on the wall," cr
+." 139 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 138 Bottles of Beer on the wall." cr
+." Oh, 138 Bottles of Beer on the wall," cr
+." 138 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 137 Bottles of Beer on the wall." cr
+." Oh, 137 Bottles of Beer on the wall," cr
+." 137 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 136 Bottles of Beer on the wall." cr
+." Oh, 136 Bottles of Beer on the wall," cr
+." 136 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 135 Bottles of Beer on the wall." cr
+." Oh, 135 Bottles of Beer on the wall," cr
+." 135 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 134 Bottles of Beer on the wall." cr
+." Oh, 134 Bottles of Beer on the wall," cr
+." 134 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 133 Bottles of Beer on the wall." cr
+." Oh, 133 Bottles of Beer on the wall," cr
+." 133 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 132 Bottles of Beer on the wall." cr
+." Oh, 132 Bottles of Beer on the wall," cr
+." 132 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 131 Bottles of Beer on the wall." cr
+." Oh, 131 Bottles of Beer on the wall," cr
+." 131 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 130 Bottles of Beer on the wall." cr
+." Oh, 130 Bottles of Beer on the wall," cr
+." 130 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 129 Bottles of Beer on the wall." cr
+." Oh, 129 Bottles of Beer on the wall," cr
+." 129 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 128 Bottles of Beer on the wall." cr
+." Oh, 128 Bottles of Beer on the wall," cr
+." 128 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 127 Bottles of Beer on the wall." cr
+." Oh, 127 Bottles of Beer on the wall," cr
+." 127 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 126 Bottles of Beer on the wall." cr
+." Oh, 126 Bottles of Beer on the wall," cr
+." 126 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 125 Bottles of Beer on the wall." cr
+." Oh, 125 Bottles of Beer on the wall," cr
+." 125 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 124 Bottles of Beer on the wall." cr
+." Oh, 124 Bottles of Beer on the wall," cr
+." 124 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 123 Bottles of Beer on the wall." cr
+." Oh, 123 Bottles of Beer on the wall," cr
+." 123 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 122 Bottles of Beer on the wall." cr
+." Oh, 122 Bottles of Beer on the wall," cr
+." 122 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 121 Bottles of Beer on the wall." cr
+." Oh, 121 Bottles of Beer on the wall," cr
+." 121 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 120 Bottles of Beer on the wall." cr
+." Oh, 120 Bottles of Beer on the wall," cr
+." 120 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 119 Bottles of Beer on the wall." cr
+." Oh, 119 Bottles of Beer on the wall," cr
+." 119 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 118 Bottles of Beer on the wall." cr
+." Oh, 118 Bottles of Beer on the wall," cr
+." 118 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 117 Bottles of Beer on the wall." cr
+." Oh, 117 Bottles of Beer on the wall," cr
+." 117 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 116 Bottles of Beer on the wall." cr
+." Oh, 116 Bottles of Beer on the wall," cr
+." 116 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 115 Bottles of Beer on the wall." cr
+." Oh, 115 Bottles of Beer on the wall," cr
+." 115 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 114 Bottles of Beer on the wall." cr
+." Oh, 114 Bottles of Beer on the wall," cr
+." 114 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 113 Bottles of Beer on the wall." cr
+." Oh, 113 Bottles of Beer on the wall," cr
+." 113 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 112 Bottles of Beer on the wall." cr
+." Oh, 112 Bottles of Beer on the wall," cr
+." 112 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 111 Bottles of Beer on the wall." cr
+." Oh, 111 Bottles of Beer on the wall," cr
+." 111 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 110 Bottles of Beer on the wall." cr
+." Oh, 110 Bottles of Beer on the wall," cr
+." 110 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 109 Bottles of Beer on the wall." cr
+." Oh, 109 Bottles of Beer on the wall," cr
+." 109 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 108 Bottles of Beer on the wall." cr
+." Oh, 108 Bottles of Beer on the wall," cr
+." 108 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 107 Bottles of Beer on the wall." cr
+." Oh, 107 Bottles of Beer on the wall," cr
+." 107 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 106 Bottles of Beer on the wall." cr
+." Oh, 106 Bottles of Beer on the wall," cr
+." 106 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 105 Bottles of Beer on the wall." cr
+." Oh, 105 Bottles of Beer on the wall," cr
+." 105 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 104 Bottles of Beer on the wall." cr
+." Oh, 104 Bottles of Beer on the wall," cr
+." 104 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 103 Bottles of Beer on the wall." cr
+." Oh, 103 Bottles of Beer on the wall," cr
+." 103 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 102 Bottles of Beer on the wall." cr
+." Oh, 102 Bottles of Beer on the wall," cr
+." 102 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 101 Bottles of Beer on the wall." cr
+." Oh, 101 Bottles of Beer on the wall," cr
+." 101 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 100 Bottles of Beer on the wall." cr
+." Oh, 100 Bottles of Beer on the wall," cr
+." 100 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 99 Bottles of Beer on the wall." cr
+." Oh, 99 Bottles of Beer on the wall," cr
+." 99 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 98 Bottles of Beer on the wall." cr
+." Oh, 98 Bottles of Beer on the wall," cr
+." 98 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 97 Bottles of Beer on the wall." cr
+." Oh, 97 Bottles of Beer on the wall," cr
+." 97 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 96 Bottles of Beer on the wall." cr
+." Oh, 96 Bottles of Beer on the wall," cr
+." 96 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 95 Bottles of Beer on the wall." cr
+." Oh, 95 Bottles of Beer on the wall," cr
+." 95 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 94 Bottles of Beer on the wall." cr
+." Oh, 94 Bottles of Beer on the wall," cr
+." 94 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 93 Bottles of Beer on the wall." cr
+." Oh, 93 Bottles of Beer on the wall," cr
+." 93 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 92 Bottles of Beer on the wall." cr
+." Oh, 92 Bottles of Beer on the wall," cr
+." 92 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 91 Bottles of Beer on the wall." cr
+." Oh, 91 Bottles of Beer on the wall," cr
+." 91 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 90 Bottles of Beer on the wall." cr
+." Oh, 90 Bottles of Beer on the wall," cr
+." 90 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 89 Bottles of Beer on the wall." cr
+." Oh, 89 Bottles of Beer on the wall," cr
+." 89 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 88 Bottles of Beer on the wall." cr
+." Oh, 88 Bottles of Beer on the wall," cr
+." 88 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 87 Bottles of Beer on the wall." cr
+." Oh, 87 Bottles of Beer on the wall," cr
+." 87 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 86 Bottles of Beer on the wall." cr
+." Oh, 86 Bottles of Beer on the wall," cr
+." 86 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 85 Bottles of Beer on the wall." cr
+." Oh, 85 Bottles of Beer on the wall," cr
+." 85 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 84 Bottles of Beer on the wall." cr
+." Oh, 84 Bottles of Beer on the wall," cr
+." 84 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 83 Bottles of Beer on the wall." cr
+." Oh, 83 Bottles of Beer on the wall," cr
+." 83 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 82 Bottles of Beer on the wall." cr
+." Oh, 82 Bottles of Beer on the wall," cr
+." 82 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 81 Bottles of Beer on the wall." cr
+." Oh, 81 Bottles of Beer on the wall," cr
+." 81 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 80 Bottles of Beer on the wall." cr
+." Oh, 80 Bottles of Beer on the wall," cr
+." 80 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 79 Bottles of Beer on the wall." cr
+." Oh, 79 Bottles of Beer on the wall," cr
+." 79 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 78 Bottles of Beer on the wall." cr
+." Oh, 78 Bottles of Beer on the wall," cr
+." 78 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 77 Bottles of Beer on the wall." cr
+." Oh, 77 Bottles of Beer on the wall," cr
+." 77 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 76 Bottles of Beer on the wall." cr
+." Oh, 76 Bottles of Beer on the wall," cr
+." 76 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 75 Bottles of Beer on the wall." cr
+." Oh, 75 Bottles of Beer on the wall," cr
+." 75 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 74 Bottles of Beer on the wall." cr
+." Oh, 74 Bottles of Beer on the wall," cr
+." 74 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 73 Bottles of Beer on the wall." cr
+." Oh, 73 Bottles of Beer on the wall," cr
+." 73 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 72 Bottles of Beer on the wall." cr
+." Oh, 72 Bottles of Beer on the wall," cr
+." 72 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 71 Bottles of Beer on the wall." cr
+." Oh, 71 Bottles of Beer on the wall," cr
+." 71 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 70 Bottles of Beer on the wall." cr
+." Oh, 70 Bottles of Beer on the wall," cr
+." 70 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 69 Bottles of Beer on the wall." cr
+." Oh, 69 Bottles of Beer on the wall," cr
+." 69 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 68 Bottles of Beer on the wall." cr
+." Oh, 68 Bottles of Beer on the wall," cr
+." 68 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 67 Bottles of Beer on the wall." cr
+." Oh, 67 Bottles of Beer on the wall," cr
+." 67 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 66 Bottles of Beer on the wall." cr
+." Oh, 66 Bottles of Beer on the wall," cr
+." 66 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 65 Bottles of Beer on the wall." cr
+." Oh, 65 Bottles of Beer on the wall," cr
+." 65 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 64 Bottles of Beer on the wall." cr
+." Oh, 64 Bottles of Beer on the wall," cr
+." 64 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 63 Bottles of Beer on the wall." cr
+." Oh, 63 Bottles of Beer on the wall," cr
+." 63 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 62 Bottles of Beer on the wall." cr
+." Oh, 62 Bottles of Beer on the wall," cr
+." 62 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 61 Bottles of Beer on the wall." cr
+." Oh, 61 Bottles of Beer on the wall," cr
+." 61 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 60 Bottles of Beer on the wall." cr
+." Oh, 60 Bottles of Beer on the wall," cr
+." 60 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 59 Bottles of Beer on the wall." cr
+." Oh, 59 Bottles of Beer on the wall," cr
+." 59 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 58 Bottles of Beer on the wall." cr
+." Oh, 58 Bottles of Beer on the wall," cr
+." 58 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 57 Bottles of Beer on the wall." cr
+." Oh, 57 Bottles of Beer on the wall," cr
+." 57 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 56 Bottles of Beer on the wall." cr
+." Oh, 56 Bottles of Beer on the wall," cr
+." 56 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 55 Bottles of Beer on the wall." cr
+." Oh, 55 Bottles of Beer on the wall," cr
+." 55 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 54 Bottles of Beer on the wall." cr
+." Oh, 54 Bottles of Beer on the wall," cr
+." 54 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 53 Bottles of Beer on the wall." cr
+." Oh, 53 Bottles of Beer on the wall," cr
+." 53 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 52 Bottles of Beer on the wall." cr
+." Oh, 52 Bottles of Beer on the wall," cr
+." 52 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 51 Bottles of Beer on the wall." cr
+." Oh, 51 Bottles of Beer on the wall," cr
+." 51 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 50 Bottles of Beer on the wall." cr
+." Oh, 50 Bottles of Beer on the wall," cr
+." 50 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 49 Bottles of Beer on the wall." cr
+." Oh, 49 Bottles of Beer on the wall," cr
+." 49 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 48 Bottles of Beer on the wall." cr
+." Oh, 48 Bottles of Beer on the wall," cr
+." 48 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 47 Bottles of Beer on the wall." cr
+." Oh, 47 Bottles of Beer on the wall," cr
+." 47 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 46 Bottles of Beer on the wall." cr
+." Oh, 46 Bottles of Beer on the wall," cr
+." 46 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 45 Bottles of Beer on the wall." cr
+." Oh, 45 Bottles of Beer on the wall," cr
+." 45 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 44 Bottles of Beer on the wall." cr
+." Oh, 44 Bottles of Beer on the wall," cr
+." 44 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 43 Bottles of Beer on the wall." cr
+." Oh, 43 Bottles of Beer on the wall," cr
+." 43 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 42 Bottles of Beer on the wall." cr
+." Oh, 42 Bottles of Beer on the wall," cr
+." 42 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 41 Bottles of Beer on the wall." cr
+." Oh, 41 Bottles of Beer on the wall," cr
+." 41 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 40 Bottles of Beer on the wall." cr
+." Oh, 40 Bottles of Beer on the wall," cr
+." 40 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 39 Bottles of Beer on the wall." cr
+." Oh, 39 Bottles of Beer on the wall," cr
+." 39 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 38 Bottles of Beer on the wall." cr
+." Oh, 38 Bottles of Beer on the wall," cr
+." 38 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 37 Bottles of Beer on the wall." cr
+." Oh, 37 Bottles of Beer on the wall," cr
+." 37 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 36 Bottles of Beer on the wall." cr
+." Oh, 36 Bottles of Beer on the wall," cr
+." 36 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 35 Bottles of Beer on the wall." cr
+." Oh, 35 Bottles of Beer on the wall," cr
+." 35 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 34 Bottles of Beer on the wall." cr
+." Oh, 34 Bottles of Beer on the wall," cr
+." 34 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 33 Bottles of Beer on the wall." cr
+." Oh, 33 Bottles of Beer on the wall," cr
+." 33 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 32 Bottles of Beer on the wall." cr
+." Oh, 32 Bottles of Beer on the wall," cr
+." 32 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 31 Bottles of Beer on the wall." cr
+." Oh, 31 Bottles of Beer on the wall," cr
+." 31 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 30 Bottles of Beer on the wall." cr
+." Oh, 30 Bottles of Beer on the wall," cr
+." 30 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 29 Bottles of Beer on the wall." cr
+." Oh, 29 Bottles of Beer on the wall," cr
+." 29 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 28 Bottles of Beer on the wall." cr
+." Oh, 28 Bottles of Beer on the wall," cr
+." 28 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 27 Bottles of Beer on the wall." cr
+." Oh, 27 Bottles of Beer on the wall," cr
+." 27 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 26 Bottles of Beer on the wall." cr
+." Oh, 26 Bottles of Beer on the wall," cr
+." 26 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 25 Bottles of Beer on the wall." cr
+." Oh, 25 Bottles of Beer on the wall," cr
+." 25 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 24 Bottles of Beer on the wall." cr
+." Oh, 24 Bottles of Beer on the wall," cr
+." 24 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 23 Bottles of Beer on the wall." cr
+." Oh, 23 Bottles of Beer on the wall," cr
+." 23 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 22 Bottles of Beer on the wall." cr
+." Oh, 22 Bottles of Beer on the wall," cr
+." 22 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 21 Bottles of Beer on the wall." cr
+." Oh, 21 Bottles of Beer on the wall," cr
+." 21 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 20 Bottles of Beer on the wall." cr
+." Oh, 20 Bottles of Beer on the wall," cr
+." 20 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 19 Bottles of Beer on the wall." cr
+." Oh, 19 Bottles of Beer on the wall," cr
+." 19 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 18 Bottles of Beer on the wall." cr
+." Oh, 18 Bottles of Beer on the wall," cr
+." 18 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 17 Bottles of Beer on the wall." cr
+." Oh, 17 Bottles of Beer on the wall," cr
+." 17 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 16 Bottles of Beer on the wall." cr
+." Oh, 16 Bottles of Beer on the wall," cr
+." 16 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 15 Bottles of Beer on the wall." cr
+." Oh, 15 Bottles of Beer on the wall," cr
+." 15 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 14 Bottles of Beer on the wall." cr
+." Oh, 14 Bottles of Beer on the wall," cr
+." 14 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 13 Bottles of Beer on the wall." cr
+." Oh, 13 Bottles of Beer on the wall," cr
+." 13 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 12 Bottles of Beer on the wall." cr
+." Oh, 12 Bottles of Beer on the wall," cr
+." 12 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 11 Bottles of Beer on the wall." cr
+." Oh, 11 Bottles of Beer on the wall," cr
+." 11 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 10 Bottles of Beer on the wall." cr
+." Oh, 10 Bottles of Beer on the wall," cr
+." 10 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 9 Bottles of Beer on the wall." cr
+." Oh, 9 Bottles of Beer on the wall," cr
+." 9 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 8 Bottles of Beer on the wall." cr
+." Oh, 8 Bottles of Beer on the wall," cr
+." 8 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 7 Bottles of Beer on the wall." cr
+." Oh, 7 Bottles of Beer on the wall," cr
+." 7 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 6 Bottles of Beer on the wall." cr
+." Oh, 6 Bottles of Beer on the wall," cr
+." 6 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 5 Bottles of Beer on the wall." cr
+." Oh, 5 Bottles of Beer on the wall," cr
+." 5 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 4 Bottles of Beer on the wall." cr
+." Oh, 4 Bottles of Beer on the wall," cr
+." 4 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 3 Bottles of Beer on the wall." cr
+." Oh, 3 Bottles of Beer on the wall," cr
+." 3 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 2 Bottles of Beer on the wall." cr
+." Oh, 2 Bottles of Beer on the wall," cr
+." 2 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 1 Bottle of Beer on the wall." cr
+." Oh, 1 Bottle of Beer on the wall," cr
+." 1 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/TokeErrs/TooLargeBranch_N232_body.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_N232_body.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_N232_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,931 @@
+[message] Starting out with 232 Bottles of Beer on the wall
+." Oh, 232 Bottles of Beer on the wall," cr
+." 232 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 231 Bottles of Beer on the wall." cr
+." Oh, 231 Bottles of Beer on the wall," cr
+." 231 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 230 Bottles of Beer on the wall." cr
+." Oh, 230 Bottles of Beer on the wall," cr
+." 230 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 229 Bottles of Beer on the wall." cr
+." Oh, 229 Bottles of Beer on the wall," cr
+." 229 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 228 Bottles of Beer on the wall." cr
+." Oh, 228 Bottles of Beer on the wall," cr
+." 228 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 227 Bottles of Beer on the wall." cr
+." Oh, 227 Bottles of Beer on the wall," cr
+." 227 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 226 Bottles of Beer on the wall." cr
+." Oh, 226 Bottles of Beer on the wall," cr
+." 226 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 225 Bottles of Beer on the wall." cr
+." Oh, 225 Bottles of Beer on the wall," cr
+." 225 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 224 Bottles of Beer on the wall." cr
+." Oh, 224 Bottles of Beer on the wall," cr
+." 224 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 223 Bottles of Beer on the wall." cr
+." Oh, 223 Bottles of Beer on the wall," cr
+." 223 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 222 Bottles of Beer on the wall." cr
+." Oh, 222 Bottles of Beer on the wall," cr
+." 222 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 221 Bottles of Beer on the wall." cr
+." Oh, 221 Bottles of Beer on the wall," cr
+." 221 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 220 Bottles of Beer on the wall." cr
+." Oh, 220 Bottles of Beer on the wall," cr
+." 220 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 219 Bottles of Beer on the wall." cr
+." Oh, 219 Bottles of Beer on the wall," cr
+." 219 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 218 Bottles of Beer on the wall." cr
+." Oh, 218 Bottles of Beer on the wall," cr
+." 218 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 217 Bottles of Beer on the wall." cr
+." Oh, 217 Bottles of Beer on the wall," cr
+." 217 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 216 Bottles of Beer on the wall." cr
+." Oh, 216 Bottles of Beer on the wall," cr
+." 216 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 215 Bottles of Beer on the wall." cr
+." Oh, 215 Bottles of Beer on the wall," cr
+." 215 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 214 Bottles of Beer on the wall." cr
+." Oh, 214 Bottles of Beer on the wall," cr
+." 214 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 213 Bottles of Beer on the wall." cr
+." Oh, 213 Bottles of Beer on the wall," cr
+." 213 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 212 Bottles of Beer on the wall." cr
+." Oh, 212 Bottles of Beer on the wall," cr
+." 212 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 211 Bottles of Beer on the wall." cr
+." Oh, 211 Bottles of Beer on the wall," cr
+." 211 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 210 Bottles of Beer on the wall." cr
+." Oh, 210 Bottles of Beer on the wall," cr
+." 210 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 209 Bottles of Beer on the wall." cr
+." Oh, 209 Bottles of Beer on the wall," cr
+." 209 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 208 Bottles of Beer on the wall." cr
+." Oh, 208 Bottles of Beer on the wall," cr
+." 208 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 207 Bottles of Beer on the wall." cr
+." Oh, 207 Bottles of Beer on the wall," cr
+." 207 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 206 Bottles of Beer on the wall." cr
+." Oh, 206 Bottles of Beer on the wall," cr
+." 206 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 205 Bottles of Beer on the wall." cr
+." Oh, 205 Bottles of Beer on the wall," cr
+." 205 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 204 Bottles of Beer on the wall." cr
+." Oh, 204 Bottles of Beer on the wall," cr
+." 204 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 203 Bottles of Beer on the wall." cr
+." Oh, 203 Bottles of Beer on the wall," cr
+." 203 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 202 Bottles of Beer on the wall." cr
+." Oh, 202 Bottles of Beer on the wall," cr
+." 202 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 201 Bottles of Beer on the wall." cr
+." Oh, 201 Bottles of Beer on the wall," cr
+." 201 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 200 Bottles of Beer on the wall." cr
+." Oh, 200 Bottles of Beer on the wall," cr
+." 200 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 199 Bottles of Beer on the wall." cr
+." Oh, 199 Bottles of Beer on the wall," cr
+." 199 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 198 Bottles of Beer on the wall." cr
+." Oh, 198 Bottles of Beer on the wall," cr
+." 198 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 197 Bottles of Beer on the wall." cr
+." Oh, 197 Bottles of Beer on the wall," cr
+." 197 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 196 Bottles of Beer on the wall." cr
+." Oh, 196 Bottles of Beer on the wall," cr
+." 196 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 195 Bottles of Beer on the wall." cr
+." Oh, 195 Bottles of Beer on the wall," cr
+." 195 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 194 Bottles of Beer on the wall." cr
+." Oh, 194 Bottles of Beer on the wall," cr
+." 194 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 193 Bottles of Beer on the wall." cr
+." Oh, 193 Bottles of Beer on the wall," cr
+." 193 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 192 Bottles of Beer on the wall." cr
+." Oh, 192 Bottles of Beer on the wall," cr
+." 192 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 191 Bottles of Beer on the wall." cr
+." Oh, 191 Bottles of Beer on the wall," cr
+." 191 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 190 Bottles of Beer on the wall." cr
+." Oh, 190 Bottles of Beer on the wall," cr
+." 190 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 189 Bottles of Beer on the wall." cr
+." Oh, 189 Bottles of Beer on the wall," cr
+." 189 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 188 Bottles of Beer on the wall." cr
+." Oh, 188 Bottles of Beer on the wall," cr
+." 188 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 187 Bottles of Beer on the wall." cr
+." Oh, 187 Bottles of Beer on the wall," cr
+." 187 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 186 Bottles of Beer on the wall." cr
+." Oh, 186 Bottles of Beer on the wall," cr
+." 186 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 185 Bottles of Beer on the wall." cr
+." Oh, 185 Bottles of Beer on the wall," cr
+." 185 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 184 Bottles of Beer on the wall." cr
+." Oh, 184 Bottles of Beer on the wall," cr
+." 184 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 183 Bottles of Beer on the wall." cr
+." Oh, 183 Bottles of Beer on the wall," cr
+." 183 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 182 Bottles of Beer on the wall." cr
+." Oh, 182 Bottles of Beer on the wall," cr
+." 182 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 181 Bottles of Beer on the wall." cr
+." Oh, 181 Bottles of Beer on the wall," cr
+." 181 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 180 Bottles of Beer on the wall." cr
+." Oh, 180 Bottles of Beer on the wall," cr
+." 180 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 179 Bottles of Beer on the wall." cr
+." Oh, 179 Bottles of Beer on the wall," cr
+." 179 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 178 Bottles of Beer on the wall." cr
+." Oh, 178 Bottles of Beer on the wall," cr
+." 178 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 177 Bottles of Beer on the wall." cr
+." Oh, 177 Bottles of Beer on the wall," cr
+." 177 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 176 Bottles of Beer on the wall." cr
+." Oh, 176 Bottles of Beer on the wall," cr
+." 176 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 175 Bottles of Beer on the wall." cr
+." Oh, 175 Bottles of Beer on the wall," cr
+." 175 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 174 Bottles of Beer on the wall." cr
+." Oh, 174 Bottles of Beer on the wall," cr
+." 174 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 173 Bottles of Beer on the wall." cr
+." Oh, 173 Bottles of Beer on the wall," cr
+." 173 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 172 Bottles of Beer on the wall." cr
+." Oh, 172 Bottles of Beer on the wall," cr
+." 172 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 171 Bottles of Beer on the wall." cr
+." Oh, 171 Bottles of Beer on the wall," cr
+." 171 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 170 Bottles of Beer on the wall." cr
+." Oh, 170 Bottles of Beer on the wall," cr
+." 170 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 169 Bottles of Beer on the wall." cr
+." Oh, 169 Bottles of Beer on the wall," cr
+." 169 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 168 Bottles of Beer on the wall." cr
+." Oh, 168 Bottles of Beer on the wall," cr
+." 168 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 167 Bottles of Beer on the wall." cr
+." Oh, 167 Bottles of Beer on the wall," cr
+." 167 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 166 Bottles of Beer on the wall." cr
+." Oh, 166 Bottles of Beer on the wall," cr
+." 166 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 165 Bottles of Beer on the wall." cr
+." Oh, 165 Bottles of Beer on the wall," cr
+." 165 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 164 Bottles of Beer on the wall." cr
+." Oh, 164 Bottles of Beer on the wall," cr
+." 164 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 163 Bottles of Beer on the wall." cr
+." Oh, 163 Bottles of Beer on the wall," cr
+." 163 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 162 Bottles of Beer on the wall." cr
+." Oh, 162 Bottles of Beer on the wall," cr
+." 162 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 161 Bottles of Beer on the wall." cr
+." Oh, 161 Bottles of Beer on the wall," cr
+." 161 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 160 Bottles of Beer on the wall." cr
+." Oh, 160 Bottles of Beer on the wall," cr
+." 160 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 159 Bottles of Beer on the wall." cr
+." Oh, 159 Bottles of Beer on the wall," cr
+." 159 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 158 Bottles of Beer on the wall." cr
+." Oh, 158 Bottles of Beer on the wall," cr
+." 158 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 157 Bottles of Beer on the wall." cr
+." Oh, 157 Bottles of Beer on the wall," cr
+." 157 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 156 Bottles of Beer on the wall." cr
+." Oh, 156 Bottles of Beer on the wall," cr
+." 156 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 155 Bottles of Beer on the wall." cr
+." Oh, 155 Bottles of Beer on the wall," cr
+." 155 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 154 Bottles of Beer on the wall." cr
+." Oh, 154 Bottles of Beer on the wall," cr
+." 154 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 153 Bottles of Beer on the wall." cr
+." Oh, 153 Bottles of Beer on the wall," cr
+." 153 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 152 Bottles of Beer on the wall." cr
+." Oh, 152 Bottles of Beer on the wall," cr
+." 152 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 151 Bottles of Beer on the wall." cr
+." Oh, 151 Bottles of Beer on the wall," cr
+." 151 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 150 Bottles of Beer on the wall." cr
+." Oh, 150 Bottles of Beer on the wall," cr
+." 150 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 149 Bottles of Beer on the wall." cr
+." Oh, 149 Bottles of Beer on the wall," cr
+." 149 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 148 Bottles of Beer on the wall." cr
+." Oh, 148 Bottles of Beer on the wall," cr
+." 148 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 147 Bottles of Beer on the wall." cr
+." Oh, 147 Bottles of Beer on the wall," cr
+." 147 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 146 Bottles of Beer on the wall." cr
+." Oh, 146 Bottles of Beer on the wall," cr
+." 146 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 145 Bottles of Beer on the wall." cr
+." Oh, 145 Bottles of Beer on the wall," cr
+." 145 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 144 Bottles of Beer on the wall." cr
+." Oh, 144 Bottles of Beer on the wall," cr
+." 144 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 143 Bottles of Beer on the wall." cr
+." Oh, 143 Bottles of Beer on the wall," cr
+." 143 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 142 Bottles of Beer on the wall." cr
+." Oh, 142 Bottles of Beer on the wall," cr
+." 142 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 141 Bottles of Beer on the wall." cr
+." Oh, 141 Bottles of Beer on the wall," cr
+." 141 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 140 Bottles of Beer on the wall." cr
+." Oh, 140 Bottles of Beer on the wall," cr
+." 140 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 139 Bottles of Beer on the wall." cr
+." Oh, 139 Bottles of Beer on the wall," cr
+." 139 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 138 Bottles of Beer on the wall." cr
+." Oh, 138 Bottles of Beer on the wall," cr
+." 138 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 137 Bottles of Beer on the wall." cr
+." Oh, 137 Bottles of Beer on the wall," cr
+." 137 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 136 Bottles of Beer on the wall." cr
+." Oh, 136 Bottles of Beer on the wall," cr
+." 136 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 135 Bottles of Beer on the wall." cr
+." Oh, 135 Bottles of Beer on the wall," cr
+." 135 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 134 Bottles of Beer on the wall." cr
+." Oh, 134 Bottles of Beer on the wall," cr
+." 134 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 133 Bottles of Beer on the wall." cr
+." Oh, 133 Bottles of Beer on the wall," cr
+." 133 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 132 Bottles of Beer on the wall." cr
+." Oh, 132 Bottles of Beer on the wall," cr
+." 132 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 131 Bottles of Beer on the wall." cr
+." Oh, 131 Bottles of Beer on the wall," cr
+." 131 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 130 Bottles of Beer on the wall." cr
+." Oh, 130 Bottles of Beer on the wall," cr
+." 130 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 129 Bottles of Beer on the wall." cr
+." Oh, 129 Bottles of Beer on the wall," cr
+." 129 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 128 Bottles of Beer on the wall." cr
+." Oh, 128 Bottles of Beer on the wall," cr
+." 128 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 127 Bottles of Beer on the wall." cr
+." Oh, 127 Bottles of Beer on the wall," cr
+." 127 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 126 Bottles of Beer on the wall." cr
+." Oh, 126 Bottles of Beer on the wall," cr
+." 126 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 125 Bottles of Beer on the wall." cr
+." Oh, 125 Bottles of Beer on the wall," cr
+." 125 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 124 Bottles of Beer on the wall." cr
+." Oh, 124 Bottles of Beer on the wall," cr
+." 124 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 123 Bottles of Beer on the wall." cr
+." Oh, 123 Bottles of Beer on the wall," cr
+." 123 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 122 Bottles of Beer on the wall." cr
+." Oh, 122 Bottles of Beer on the wall," cr
+." 122 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 121 Bottles of Beer on the wall." cr
+." Oh, 121 Bottles of Beer on the wall," cr
+." 121 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 120 Bottles of Beer on the wall." cr
+." Oh, 120 Bottles of Beer on the wall," cr
+." 120 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 119 Bottles of Beer on the wall." cr
+." Oh, 119 Bottles of Beer on the wall," cr
+." 119 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 118 Bottles of Beer on the wall." cr
+." Oh, 118 Bottles of Beer on the wall," cr
+." 118 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 117 Bottles of Beer on the wall." cr
+." Oh, 117 Bottles of Beer on the wall," cr
+." 117 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 116 Bottles of Beer on the wall." cr
+." Oh, 116 Bottles of Beer on the wall," cr
+." 116 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 115 Bottles of Beer on the wall." cr
+." Oh, 115 Bottles of Beer on the wall," cr
+." 115 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 114 Bottles of Beer on the wall." cr
+." Oh, 114 Bottles of Beer on the wall," cr
+." 114 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 113 Bottles of Beer on the wall." cr
+." Oh, 113 Bottles of Beer on the wall," cr
+." 113 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 112 Bottles of Beer on the wall." cr
+." Oh, 112 Bottles of Beer on the wall," cr
+." 112 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 111 Bottles of Beer on the wall." cr
+." Oh, 111 Bottles of Beer on the wall," cr
+." 111 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 110 Bottles of Beer on the wall." cr
+." Oh, 110 Bottles of Beer on the wall," cr
+." 110 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 109 Bottles of Beer on the wall." cr
+." Oh, 109 Bottles of Beer on the wall," cr
+." 109 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 108 Bottles of Beer on the wall." cr
+." Oh, 108 Bottles of Beer on the wall," cr
+." 108 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 107 Bottles of Beer on the wall." cr
+." Oh, 107 Bottles of Beer on the wall," cr
+." 107 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 106 Bottles of Beer on the wall." cr
+." Oh, 106 Bottles of Beer on the wall," cr
+." 106 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 105 Bottles of Beer on the wall." cr
+." Oh, 105 Bottles of Beer on the wall," cr
+." 105 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 104 Bottles of Beer on the wall." cr
+." Oh, 104 Bottles of Beer on the wall," cr
+." 104 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 103 Bottles of Beer on the wall." cr
+." Oh, 103 Bottles of Beer on the wall," cr
+." 103 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 102 Bottles of Beer on the wall." cr
+." Oh, 102 Bottles of Beer on the wall," cr
+." 102 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 101 Bottles of Beer on the wall." cr
+." Oh, 101 Bottles of Beer on the wall," cr
+." 101 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 100 Bottles of Beer on the wall." cr
+." Oh, 100 Bottles of Beer on the wall," cr
+." 100 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 99 Bottles of Beer on the wall." cr
+." Oh, 99 Bottles of Beer on the wall," cr
+." 99 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 98 Bottles of Beer on the wall." cr
+." Oh, 98 Bottles of Beer on the wall," cr
+." 98 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 97 Bottles of Beer on the wall." cr
+." Oh, 97 Bottles of Beer on the wall," cr
+." 97 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 96 Bottles of Beer on the wall." cr
+." Oh, 96 Bottles of Beer on the wall," cr
+." 96 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 95 Bottles of Beer on the wall." cr
+." Oh, 95 Bottles of Beer on the wall," cr
+." 95 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 94 Bottles of Beer on the wall." cr
+." Oh, 94 Bottles of Beer on the wall," cr
+." 94 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 93 Bottles of Beer on the wall." cr
+." Oh, 93 Bottles of Beer on the wall," cr
+." 93 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 92 Bottles of Beer on the wall." cr
+." Oh, 92 Bottles of Beer on the wall," cr
+." 92 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 91 Bottles of Beer on the wall." cr
+." Oh, 91 Bottles of Beer on the wall," cr
+." 91 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 90 Bottles of Beer on the wall." cr
+." Oh, 90 Bottles of Beer on the wall," cr
+." 90 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 89 Bottles of Beer on the wall." cr
+." Oh, 89 Bottles of Beer on the wall," cr
+." 89 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 88 Bottles of Beer on the wall." cr
+." Oh, 88 Bottles of Beer on the wall," cr
+." 88 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 87 Bottles of Beer on the wall." cr
+." Oh, 87 Bottles of Beer on the wall," cr
+." 87 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 86 Bottles of Beer on the wall." cr
+." Oh, 86 Bottles of Beer on the wall," cr
+." 86 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 85 Bottles of Beer on the wall." cr
+." Oh, 85 Bottles of Beer on the wall," cr
+." 85 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 84 Bottles of Beer on the wall." cr
+." Oh, 84 Bottles of Beer on the wall," cr
+." 84 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 83 Bottles of Beer on the wall." cr
+." Oh, 83 Bottles of Beer on the wall," cr
+." 83 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 82 Bottles of Beer on the wall." cr
+." Oh, 82 Bottles of Beer on the wall," cr
+." 82 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 81 Bottles of Beer on the wall." cr
+." Oh, 81 Bottles of Beer on the wall," cr
+." 81 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 80 Bottles of Beer on the wall." cr
+." Oh, 80 Bottles of Beer on the wall," cr
+." 80 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 79 Bottles of Beer on the wall." cr
+." Oh, 79 Bottles of Beer on the wall," cr
+." 79 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 78 Bottles of Beer on the wall." cr
+." Oh, 78 Bottles of Beer on the wall," cr
+." 78 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 77 Bottles of Beer on the wall." cr
+." Oh, 77 Bottles of Beer on the wall," cr
+." 77 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 76 Bottles of Beer on the wall." cr
+." Oh, 76 Bottles of Beer on the wall," cr
+." 76 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 75 Bottles of Beer on the wall." cr
+." Oh, 75 Bottles of Beer on the wall," cr
+." 75 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 74 Bottles of Beer on the wall." cr
+." Oh, 74 Bottles of Beer on the wall," cr
+." 74 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 73 Bottles of Beer on the wall." cr
+." Oh, 73 Bottles of Beer on the wall," cr
+." 73 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 72 Bottles of Beer on the wall." cr
+." Oh, 72 Bottles of Beer on the wall," cr
+." 72 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 71 Bottles of Beer on the wall." cr
+." Oh, 71 Bottles of Beer on the wall," cr
+." 71 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 70 Bottles of Beer on the wall." cr
+." Oh, 70 Bottles of Beer on the wall," cr
+." 70 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 69 Bottles of Beer on the wall." cr
+." Oh, 69 Bottles of Beer on the wall," cr
+." 69 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 68 Bottles of Beer on the wall." cr
+." Oh, 68 Bottles of Beer on the wall," cr
+." 68 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 67 Bottles of Beer on the wall." cr
+." Oh, 67 Bottles of Beer on the wall," cr
+." 67 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 66 Bottles of Beer on the wall." cr
+." Oh, 66 Bottles of Beer on the wall," cr
+." 66 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 65 Bottles of Beer on the wall." cr
+." Oh, 65 Bottles of Beer on the wall," cr
+." 65 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 64 Bottles of Beer on the wall." cr
+." Oh, 64 Bottles of Beer on the wall," cr
+." 64 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 63 Bottles of Beer on the wall." cr
+." Oh, 63 Bottles of Beer on the wall," cr
+." 63 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 62 Bottles of Beer on the wall." cr
+." Oh, 62 Bottles of Beer on the wall," cr
+." 62 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 61 Bottles of Beer on the wall." cr
+." Oh, 61 Bottles of Beer on the wall," cr
+." 61 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 60 Bottles of Beer on the wall." cr
+." Oh, 60 Bottles of Beer on the wall," cr
+." 60 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 59 Bottles of Beer on the wall." cr
+." Oh, 59 Bottles of Beer on the wall," cr
+." 59 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 58 Bottles of Beer on the wall." cr
+." Oh, 58 Bottles of Beer on the wall," cr
+." 58 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 57 Bottles of Beer on the wall." cr
+." Oh, 57 Bottles of Beer on the wall," cr
+." 57 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 56 Bottles of Beer on the wall." cr
+." Oh, 56 Bottles of Beer on the wall," cr
+." 56 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 55 Bottles of Beer on the wall." cr
+." Oh, 55 Bottles of Beer on the wall," cr
+." 55 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 54 Bottles of Beer on the wall." cr
+." Oh, 54 Bottles of Beer on the wall," cr
+." 54 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 53 Bottles of Beer on the wall." cr
+." Oh, 53 Bottles of Beer on the wall," cr
+." 53 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 52 Bottles of Beer on the wall." cr
+." Oh, 52 Bottles of Beer on the wall," cr
+." 52 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 51 Bottles of Beer on the wall." cr
+." Oh, 51 Bottles of Beer on the wall," cr
+." 51 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 50 Bottles of Beer on the wall." cr
+." Oh, 50 Bottles of Beer on the wall," cr
+." 50 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 49 Bottles of Beer on the wall." cr
+." Oh, 49 Bottles of Beer on the wall," cr
+." 49 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 48 Bottles of Beer on the wall." cr
+." Oh, 48 Bottles of Beer on the wall," cr
+." 48 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 47 Bottles of Beer on the wall." cr
+." Oh, 47 Bottles of Beer on the wall," cr
+." 47 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 46 Bottles of Beer on the wall." cr
+." Oh, 46 Bottles of Beer on the wall," cr
+." 46 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 45 Bottles of Beer on the wall." cr
+." Oh, 45 Bottles of Beer on the wall," cr
+." 45 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 44 Bottles of Beer on the wall." cr
+." Oh, 44 Bottles of Beer on the wall," cr
+." 44 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 43 Bottles of Beer on the wall." cr
+." Oh, 43 Bottles of Beer on the wall," cr
+." 43 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 42 Bottles of Beer on the wall." cr
+." Oh, 42 Bottles of Beer on the wall," cr
+." 42 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 41 Bottles of Beer on the wall." cr
+." Oh, 41 Bottles of Beer on the wall," cr
+." 41 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 40 Bottles of Beer on the wall." cr
+." Oh, 40 Bottles of Beer on the wall," cr
+." 40 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 39 Bottles of Beer on the wall." cr
+." Oh, 39 Bottles of Beer on the wall," cr
+." 39 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 38 Bottles of Beer on the wall." cr
+." Oh, 38 Bottles of Beer on the wall," cr
+." 38 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 37 Bottles of Beer on the wall." cr
+." Oh, 37 Bottles of Beer on the wall," cr
+." 37 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 36 Bottles of Beer on the wall." cr
+." Oh, 36 Bottles of Beer on the wall," cr
+." 36 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 35 Bottles of Beer on the wall." cr
+." Oh, 35 Bottles of Beer on the wall," cr
+." 35 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 34 Bottles of Beer on the wall." cr
+." Oh, 34 Bottles of Beer on the wall," cr
+." 34 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 33 Bottles of Beer on the wall." cr
+." Oh, 33 Bottles of Beer on the wall," cr
+." 33 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 32 Bottles of Beer on the wall." cr
+." Oh, 32 Bottles of Beer on the wall," cr
+." 32 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 31 Bottles of Beer on the wall." cr
+." Oh, 31 Bottles of Beer on the wall," cr
+." 31 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 30 Bottles of Beer on the wall." cr
+." Oh, 30 Bottles of Beer on the wall," cr
+." 30 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 29 Bottles of Beer on the wall." cr
+." Oh, 29 Bottles of Beer on the wall," cr
+." 29 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 28 Bottles of Beer on the wall." cr
+." Oh, 28 Bottles of Beer on the wall," cr
+." 28 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 27 Bottles of Beer on the wall." cr
+." Oh, 27 Bottles of Beer on the wall," cr
+." 27 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 26 Bottles of Beer on the wall." cr
+." Oh, 26 Bottles of Beer on the wall," cr
+." 26 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 25 Bottles of Beer on the wall." cr
+." Oh, 25 Bottles of Beer on the wall," cr
+." 25 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 24 Bottles of Beer on the wall." cr
+." Oh, 24 Bottles of Beer on the wall," cr
+." 24 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 23 Bottles of Beer on the wall." cr
+." Oh, 23 Bottles of Beer on the wall," cr
+." 23 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 22 Bottles of Beer on the wall." cr
+." Oh, 22 Bottles of Beer on the wall," cr
+." 22 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 21 Bottles of Beer on the wall." cr
+." Oh, 21 Bottles of Beer on the wall," cr
+." 21 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 20 Bottles of Beer on the wall." cr
+." Oh, 20 Bottles of Beer on the wall," cr
+." 20 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 19 Bottles of Beer on the wall." cr
+." Oh, 19 Bottles of Beer on the wall," cr
+." 19 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 18 Bottles of Beer on the wall." cr
+." Oh, 18 Bottles of Beer on the wall," cr
+." 18 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 17 Bottles of Beer on the wall." cr
+." Oh, 17 Bottles of Beer on the wall," cr
+." 17 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 16 Bottles of Beer on the wall." cr
+." Oh, 16 Bottles of Beer on the wall," cr
+." 16 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 15 Bottles of Beer on the wall." cr
+." Oh, 15 Bottles of Beer on the wall," cr
+." 15 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 14 Bottles of Beer on the wall." cr
+." Oh, 14 Bottles of Beer on the wall," cr
+." 14 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 13 Bottles of Beer on the wall." cr
+." Oh, 13 Bottles of Beer on the wall," cr
+." 13 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 12 Bottles of Beer on the wall." cr
+." Oh, 12 Bottles of Beer on the wall," cr
+." 12 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 11 Bottles of Beer on the wall." cr
+." Oh, 11 Bottles of Beer on the wall," cr
+." 11 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 10 Bottles of Beer on the wall." cr
+." Oh, 10 Bottles of Beer on the wall," cr
+." 10 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 9 Bottles of Beer on the wall." cr
+." Oh, 9 Bottles of Beer on the wall," cr
+." 9 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 8 Bottles of Beer on the wall." cr
+." Oh, 8 Bottles of Beer on the wall," cr
+." 8 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 7 Bottles of Beer on the wall." cr
+." Oh, 7 Bottles of Beer on the wall," cr
+." 7 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 6 Bottles of Beer on the wall." cr
+." Oh, 6 Bottles of Beer on the wall," cr
+." 6 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 5 Bottles of Beer on the wall." cr
+." Oh, 5 Bottles of Beer on the wall," cr
+." 5 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 4 Bottles of Beer on the wall." cr
+." Oh, 4 Bottles of Beer on the wall," cr
+." 4 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 3 Bottles of Beer on the wall." cr
+." Oh, 3 Bottles of Beer on the wall," cr
+." 3 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 2 Bottles of Beer on the wall." cr
+." Oh, 2 Bottles of Beer on the wall," cr
+." 2 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 1 Bottle of Beer on the wall." cr
+." Oh, 1 Bottle of Beer on the wall," cr
+." 1 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/TokeErrs/TooLargeBranch_N233_body.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_N233_body.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_N233_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,935 @@
+[message] Starting out with 233 Bottles of Beer on the wall
+." Oh, 233 Bottles of Beer on the wall," cr
+." 233 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 232 Bottles of Beer on the wall." cr
+." Oh, 232 Bottles of Beer on the wall," cr
+." 232 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 231 Bottles of Beer on the wall." cr
+." Oh, 231 Bottles of Beer on the wall," cr
+." 231 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 230 Bottles of Beer on the wall." cr
+." Oh, 230 Bottles of Beer on the wall," cr
+." 230 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 229 Bottles of Beer on the wall." cr
+." Oh, 229 Bottles of Beer on the wall," cr
+." 229 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 228 Bottles of Beer on the wall." cr
+." Oh, 228 Bottles of Beer on the wall," cr
+." 228 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 227 Bottles of Beer on the wall." cr
+." Oh, 227 Bottles of Beer on the wall," cr
+." 227 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 226 Bottles of Beer on the wall." cr
+." Oh, 226 Bottles of Beer on the wall," cr
+." 226 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 225 Bottles of Beer on the wall." cr
+." Oh, 225 Bottles of Beer on the wall," cr
+." 225 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 224 Bottles of Beer on the wall." cr
+." Oh, 224 Bottles of Beer on the wall," cr
+." 224 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 223 Bottles of Beer on the wall." cr
+." Oh, 223 Bottles of Beer on the wall," cr
+." 223 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 222 Bottles of Beer on the wall." cr
+." Oh, 222 Bottles of Beer on the wall," cr
+." 222 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 221 Bottles of Beer on the wall." cr
+." Oh, 221 Bottles of Beer on the wall," cr
+." 221 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 220 Bottles of Beer on the wall." cr
+." Oh, 220 Bottles of Beer on the wall," cr
+." 220 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 219 Bottles of Beer on the wall." cr
+." Oh, 219 Bottles of Beer on the wall," cr
+." 219 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 218 Bottles of Beer on the wall." cr
+." Oh, 218 Bottles of Beer on the wall," cr
+." 218 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 217 Bottles of Beer on the wall." cr
+." Oh, 217 Bottles of Beer on the wall," cr
+." 217 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 216 Bottles of Beer on the wall." cr
+." Oh, 216 Bottles of Beer on the wall," cr
+." 216 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 215 Bottles of Beer on the wall." cr
+." Oh, 215 Bottles of Beer on the wall," cr
+." 215 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 214 Bottles of Beer on the wall." cr
+." Oh, 214 Bottles of Beer on the wall," cr
+." 214 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 213 Bottles of Beer on the wall." cr
+." Oh, 213 Bottles of Beer on the wall," cr
+." 213 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 212 Bottles of Beer on the wall." cr
+." Oh, 212 Bottles of Beer on the wall," cr
+." 212 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 211 Bottles of Beer on the wall." cr
+." Oh, 211 Bottles of Beer on the wall," cr
+." 211 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 210 Bottles of Beer on the wall." cr
+." Oh, 210 Bottles of Beer on the wall," cr
+." 210 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 209 Bottles of Beer on the wall." cr
+." Oh, 209 Bottles of Beer on the wall," cr
+." 209 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 208 Bottles of Beer on the wall." cr
+." Oh, 208 Bottles of Beer on the wall," cr
+." 208 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 207 Bottles of Beer on the wall." cr
+." Oh, 207 Bottles of Beer on the wall," cr
+." 207 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 206 Bottles of Beer on the wall." cr
+." Oh, 206 Bottles of Beer on the wall," cr
+." 206 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 205 Bottles of Beer on the wall." cr
+." Oh, 205 Bottles of Beer on the wall," cr
+." 205 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 204 Bottles of Beer on the wall." cr
+." Oh, 204 Bottles of Beer on the wall," cr
+." 204 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 203 Bottles of Beer on the wall." cr
+." Oh, 203 Bottles of Beer on the wall," cr
+." 203 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 202 Bottles of Beer on the wall." cr
+." Oh, 202 Bottles of Beer on the wall," cr
+." 202 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 201 Bottles of Beer on the wall." cr
+." Oh, 201 Bottles of Beer on the wall," cr
+." 201 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 200 Bottles of Beer on the wall." cr
+." Oh, 200 Bottles of Beer on the wall," cr
+." 200 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 199 Bottles of Beer on the wall." cr
+." Oh, 199 Bottles of Beer on the wall," cr
+." 199 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 198 Bottles of Beer on the wall." cr
+." Oh, 198 Bottles of Beer on the wall," cr
+." 198 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 197 Bottles of Beer on the wall." cr
+." Oh, 197 Bottles of Beer on the wall," cr
+." 197 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 196 Bottles of Beer on the wall." cr
+." Oh, 196 Bottles of Beer on the wall," cr
+." 196 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 195 Bottles of Beer on the wall." cr
+." Oh, 195 Bottles of Beer on the wall," cr
+." 195 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 194 Bottles of Beer on the wall." cr
+." Oh, 194 Bottles of Beer on the wall," cr
+." 194 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 193 Bottles of Beer on the wall." cr
+." Oh, 193 Bottles of Beer on the wall," cr
+." 193 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 192 Bottles of Beer on the wall." cr
+." Oh, 192 Bottles of Beer on the wall," cr
+." 192 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 191 Bottles of Beer on the wall." cr
+." Oh, 191 Bottles of Beer on the wall," cr
+." 191 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 190 Bottles of Beer on the wall." cr
+." Oh, 190 Bottles of Beer on the wall," cr
+." 190 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 189 Bottles of Beer on the wall." cr
+." Oh, 189 Bottles of Beer on the wall," cr
+." 189 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 188 Bottles of Beer on the wall." cr
+." Oh, 188 Bottles of Beer on the wall," cr
+." 188 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 187 Bottles of Beer on the wall." cr
+." Oh, 187 Bottles of Beer on the wall," cr
+." 187 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 186 Bottles of Beer on the wall." cr
+." Oh, 186 Bottles of Beer on the wall," cr
+." 186 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 185 Bottles of Beer on the wall." cr
+." Oh, 185 Bottles of Beer on the wall," cr
+." 185 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 184 Bottles of Beer on the wall." cr
+." Oh, 184 Bottles of Beer on the wall," cr
+." 184 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 183 Bottles of Beer on the wall." cr
+." Oh, 183 Bottles of Beer on the wall," cr
+." 183 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 182 Bottles of Beer on the wall." cr
+." Oh, 182 Bottles of Beer on the wall," cr
+." 182 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 181 Bottles of Beer on the wall." cr
+." Oh, 181 Bottles of Beer on the wall," cr
+." 181 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 180 Bottles of Beer on the wall." cr
+." Oh, 180 Bottles of Beer on the wall," cr
+." 180 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 179 Bottles of Beer on the wall." cr
+." Oh, 179 Bottles of Beer on the wall," cr
+." 179 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 178 Bottles of Beer on the wall." cr
+." Oh, 178 Bottles of Beer on the wall," cr
+." 178 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 177 Bottles of Beer on the wall." cr
+." Oh, 177 Bottles of Beer on the wall," cr
+." 177 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 176 Bottles of Beer on the wall." cr
+." Oh, 176 Bottles of Beer on the wall," cr
+." 176 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 175 Bottles of Beer on the wall." cr
+." Oh, 175 Bottles of Beer on the wall," cr
+." 175 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 174 Bottles of Beer on the wall." cr
+." Oh, 174 Bottles of Beer on the wall," cr
+." 174 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 173 Bottles of Beer on the wall." cr
+." Oh, 173 Bottles of Beer on the wall," cr
+." 173 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 172 Bottles of Beer on the wall." cr
+." Oh, 172 Bottles of Beer on the wall," cr
+." 172 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 171 Bottles of Beer on the wall." cr
+." Oh, 171 Bottles of Beer on the wall," cr
+." 171 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 170 Bottles of Beer on the wall." cr
+." Oh, 170 Bottles of Beer on the wall," cr
+." 170 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 169 Bottles of Beer on the wall." cr
+." Oh, 169 Bottles of Beer on the wall," cr
+." 169 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 168 Bottles of Beer on the wall." cr
+." Oh, 168 Bottles of Beer on the wall," cr
+." 168 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 167 Bottles of Beer on the wall." cr
+." Oh, 167 Bottles of Beer on the wall," cr
+." 167 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 166 Bottles of Beer on the wall." cr
+." Oh, 166 Bottles of Beer on the wall," cr
+." 166 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 165 Bottles of Beer on the wall." cr
+." Oh, 165 Bottles of Beer on the wall," cr
+." 165 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 164 Bottles of Beer on the wall." cr
+." Oh, 164 Bottles of Beer on the wall," cr
+." 164 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 163 Bottles of Beer on the wall." cr
+." Oh, 163 Bottles of Beer on the wall," cr
+." 163 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 162 Bottles of Beer on the wall." cr
+." Oh, 162 Bottles of Beer on the wall," cr
+." 162 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 161 Bottles of Beer on the wall." cr
+." Oh, 161 Bottles of Beer on the wall," cr
+." 161 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 160 Bottles of Beer on the wall." cr
+." Oh, 160 Bottles of Beer on the wall," cr
+." 160 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 159 Bottles of Beer on the wall." cr
+." Oh, 159 Bottles of Beer on the wall," cr
+." 159 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 158 Bottles of Beer on the wall." cr
+." Oh, 158 Bottles of Beer on the wall," cr
+." 158 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 157 Bottles of Beer on the wall." cr
+." Oh, 157 Bottles of Beer on the wall," cr
+." 157 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 156 Bottles of Beer on the wall." cr
+." Oh, 156 Bottles of Beer on the wall," cr
+." 156 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 155 Bottles of Beer on the wall." cr
+." Oh, 155 Bottles of Beer on the wall," cr
+." 155 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 154 Bottles of Beer on the wall." cr
+." Oh, 154 Bottles of Beer on the wall," cr
+." 154 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 153 Bottles of Beer on the wall." cr
+." Oh, 153 Bottles of Beer on the wall," cr
+." 153 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 152 Bottles of Beer on the wall." cr
+." Oh, 152 Bottles of Beer on the wall," cr
+." 152 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 151 Bottles of Beer on the wall." cr
+." Oh, 151 Bottles of Beer on the wall," cr
+." 151 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 150 Bottles of Beer on the wall." cr
+." Oh, 150 Bottles of Beer on the wall," cr
+." 150 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 149 Bottles of Beer on the wall." cr
+." Oh, 149 Bottles of Beer on the wall," cr
+." 149 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 148 Bottles of Beer on the wall." cr
+." Oh, 148 Bottles of Beer on the wall," cr
+." 148 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 147 Bottles of Beer on the wall." cr
+." Oh, 147 Bottles of Beer on the wall," cr
+." 147 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 146 Bottles of Beer on the wall." cr
+." Oh, 146 Bottles of Beer on the wall," cr
+." 146 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 145 Bottles of Beer on the wall." cr
+." Oh, 145 Bottles of Beer on the wall," cr
+." 145 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 144 Bottles of Beer on the wall." cr
+." Oh, 144 Bottles of Beer on the wall," cr
+." 144 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 143 Bottles of Beer on the wall." cr
+." Oh, 143 Bottles of Beer on the wall," cr
+." 143 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 142 Bottles of Beer on the wall." cr
+." Oh, 142 Bottles of Beer on the wall," cr
+." 142 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 141 Bottles of Beer on the wall." cr
+." Oh, 141 Bottles of Beer on the wall," cr
+." 141 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 140 Bottles of Beer on the wall." cr
+." Oh, 140 Bottles of Beer on the wall," cr
+." 140 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 139 Bottles of Beer on the wall." cr
+." Oh, 139 Bottles of Beer on the wall," cr
+." 139 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 138 Bottles of Beer on the wall." cr
+." Oh, 138 Bottles of Beer on the wall," cr
+." 138 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 137 Bottles of Beer on the wall." cr
+." Oh, 137 Bottles of Beer on the wall," cr
+." 137 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 136 Bottles of Beer on the wall." cr
+." Oh, 136 Bottles of Beer on the wall," cr
+." 136 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 135 Bottles of Beer on the wall." cr
+." Oh, 135 Bottles of Beer on the wall," cr
+." 135 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 134 Bottles of Beer on the wall." cr
+." Oh, 134 Bottles of Beer on the wall," cr
+." 134 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 133 Bottles of Beer on the wall." cr
+." Oh, 133 Bottles of Beer on the wall," cr
+." 133 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 132 Bottles of Beer on the wall." cr
+." Oh, 132 Bottles of Beer on the wall," cr
+." 132 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 131 Bottles of Beer on the wall." cr
+." Oh, 131 Bottles of Beer on the wall," cr
+." 131 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 130 Bottles of Beer on the wall." cr
+." Oh, 130 Bottles of Beer on the wall," cr
+." 130 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 129 Bottles of Beer on the wall." cr
+." Oh, 129 Bottles of Beer on the wall," cr
+." 129 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 128 Bottles of Beer on the wall." cr
+." Oh, 128 Bottles of Beer on the wall," cr
+." 128 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 127 Bottles of Beer on the wall." cr
+." Oh, 127 Bottles of Beer on the wall," cr
+." 127 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 126 Bottles of Beer on the wall." cr
+." Oh, 126 Bottles of Beer on the wall," cr
+." 126 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 125 Bottles of Beer on the wall." cr
+." Oh, 125 Bottles of Beer on the wall," cr
+." 125 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 124 Bottles of Beer on the wall." cr
+." Oh, 124 Bottles of Beer on the wall," cr
+." 124 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 123 Bottles of Beer on the wall." cr
+." Oh, 123 Bottles of Beer on the wall," cr
+." 123 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 122 Bottles of Beer on the wall." cr
+." Oh, 122 Bottles of Beer on the wall," cr
+." 122 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 121 Bottles of Beer on the wall." cr
+." Oh, 121 Bottles of Beer on the wall," cr
+." 121 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 120 Bottles of Beer on the wall." cr
+." Oh, 120 Bottles of Beer on the wall," cr
+." 120 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 119 Bottles of Beer on the wall." cr
+." Oh, 119 Bottles of Beer on the wall," cr
+." 119 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 118 Bottles of Beer on the wall." cr
+." Oh, 118 Bottles of Beer on the wall," cr
+." 118 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 117 Bottles of Beer on the wall." cr
+." Oh, 117 Bottles of Beer on the wall," cr
+." 117 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 116 Bottles of Beer on the wall." cr
+." Oh, 116 Bottles of Beer on the wall," cr
+." 116 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 115 Bottles of Beer on the wall." cr
+." Oh, 115 Bottles of Beer on the wall," cr
+." 115 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 114 Bottles of Beer on the wall." cr
+." Oh, 114 Bottles of Beer on the wall," cr
+." 114 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 113 Bottles of Beer on the wall." cr
+." Oh, 113 Bottles of Beer on the wall," cr
+." 113 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 112 Bottles of Beer on the wall." cr
+." Oh, 112 Bottles of Beer on the wall," cr
+." 112 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 111 Bottles of Beer on the wall." cr
+." Oh, 111 Bottles of Beer on the wall," cr
+." 111 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 110 Bottles of Beer on the wall." cr
+." Oh, 110 Bottles of Beer on the wall," cr
+." 110 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 109 Bottles of Beer on the wall." cr
+." Oh, 109 Bottles of Beer on the wall," cr
+." 109 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 108 Bottles of Beer on the wall." cr
+." Oh, 108 Bottles of Beer on the wall," cr
+." 108 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 107 Bottles of Beer on the wall." cr
+." Oh, 107 Bottles of Beer on the wall," cr
+." 107 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 106 Bottles of Beer on the wall." cr
+." Oh, 106 Bottles of Beer on the wall," cr
+." 106 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 105 Bottles of Beer on the wall." cr
+." Oh, 105 Bottles of Beer on the wall," cr
+." 105 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 104 Bottles of Beer on the wall." cr
+." Oh, 104 Bottles of Beer on the wall," cr
+." 104 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 103 Bottles of Beer on the wall." cr
+." Oh, 103 Bottles of Beer on the wall," cr
+." 103 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 102 Bottles of Beer on the wall." cr
+." Oh, 102 Bottles of Beer on the wall," cr
+." 102 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 101 Bottles of Beer on the wall." cr
+." Oh, 101 Bottles of Beer on the wall," cr
+." 101 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 100 Bottles of Beer on the wall." cr
+." Oh, 100 Bottles of Beer on the wall," cr
+." 100 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 99 Bottles of Beer on the wall." cr
+." Oh, 99 Bottles of Beer on the wall," cr
+." 99 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 98 Bottles of Beer on the wall." cr
+." Oh, 98 Bottles of Beer on the wall," cr
+." 98 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 97 Bottles of Beer on the wall." cr
+." Oh, 97 Bottles of Beer on the wall," cr
+." 97 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 96 Bottles of Beer on the wall." cr
+." Oh, 96 Bottles of Beer on the wall," cr
+." 96 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 95 Bottles of Beer on the wall." cr
+." Oh, 95 Bottles of Beer on the wall," cr
+." 95 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 94 Bottles of Beer on the wall." cr
+." Oh, 94 Bottles of Beer on the wall," cr
+." 94 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 93 Bottles of Beer on the wall." cr
+." Oh, 93 Bottles of Beer on the wall," cr
+." 93 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 92 Bottles of Beer on the wall." cr
+." Oh, 92 Bottles of Beer on the wall," cr
+." 92 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 91 Bottles of Beer on the wall." cr
+." Oh, 91 Bottles of Beer on the wall," cr
+." 91 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 90 Bottles of Beer on the wall." cr
+." Oh, 90 Bottles of Beer on the wall," cr
+." 90 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 89 Bottles of Beer on the wall." cr
+." Oh, 89 Bottles of Beer on the wall," cr
+." 89 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 88 Bottles of Beer on the wall." cr
+." Oh, 88 Bottles of Beer on the wall," cr
+." 88 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 87 Bottles of Beer on the wall." cr
+." Oh, 87 Bottles of Beer on the wall," cr
+." 87 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 86 Bottles of Beer on the wall." cr
+." Oh, 86 Bottles of Beer on the wall," cr
+." 86 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 85 Bottles of Beer on the wall." cr
+." Oh, 85 Bottles of Beer on the wall," cr
+." 85 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 84 Bottles of Beer on the wall." cr
+." Oh, 84 Bottles of Beer on the wall," cr
+." 84 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 83 Bottles of Beer on the wall." cr
+." Oh, 83 Bottles of Beer on the wall," cr
+." 83 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 82 Bottles of Beer on the wall." cr
+." Oh, 82 Bottles of Beer on the wall," cr
+." 82 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 81 Bottles of Beer on the wall." cr
+." Oh, 81 Bottles of Beer on the wall," cr
+." 81 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 80 Bottles of Beer on the wall." cr
+." Oh, 80 Bottles of Beer on the wall," cr
+." 80 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 79 Bottles of Beer on the wall." cr
+." Oh, 79 Bottles of Beer on the wall," cr
+." 79 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 78 Bottles of Beer on the wall." cr
+." Oh, 78 Bottles of Beer on the wall," cr
+." 78 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 77 Bottles of Beer on the wall." cr
+." Oh, 77 Bottles of Beer on the wall," cr
+." 77 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 76 Bottles of Beer on the wall." cr
+." Oh, 76 Bottles of Beer on the wall," cr
+." 76 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 75 Bottles of Beer on the wall." cr
+." Oh, 75 Bottles of Beer on the wall," cr
+." 75 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 74 Bottles of Beer on the wall." cr
+." Oh, 74 Bottles of Beer on the wall," cr
+." 74 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 73 Bottles of Beer on the wall." cr
+." Oh, 73 Bottles of Beer on the wall," cr
+." 73 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 72 Bottles of Beer on the wall." cr
+." Oh, 72 Bottles of Beer on the wall," cr
+." 72 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 71 Bottles of Beer on the wall." cr
+." Oh, 71 Bottles of Beer on the wall," cr
+." 71 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 70 Bottles of Beer on the wall." cr
+." Oh, 70 Bottles of Beer on the wall," cr
+." 70 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 69 Bottles of Beer on the wall." cr
+." Oh, 69 Bottles of Beer on the wall," cr
+." 69 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 68 Bottles of Beer on the wall." cr
+." Oh, 68 Bottles of Beer on the wall," cr
+." 68 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 67 Bottles of Beer on the wall." cr
+." Oh, 67 Bottles of Beer on the wall," cr
+." 67 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 66 Bottles of Beer on the wall." cr
+." Oh, 66 Bottles of Beer on the wall," cr
+." 66 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 65 Bottles of Beer on the wall." cr
+." Oh, 65 Bottles of Beer on the wall," cr
+." 65 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 64 Bottles of Beer on the wall." cr
+." Oh, 64 Bottles of Beer on the wall," cr
+." 64 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 63 Bottles of Beer on the wall." cr
+." Oh, 63 Bottles of Beer on the wall," cr
+." 63 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 62 Bottles of Beer on the wall." cr
+." Oh, 62 Bottles of Beer on the wall," cr
+." 62 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 61 Bottles of Beer on the wall." cr
+." Oh, 61 Bottles of Beer on the wall," cr
+." 61 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 60 Bottles of Beer on the wall." cr
+." Oh, 60 Bottles of Beer on the wall," cr
+." 60 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 59 Bottles of Beer on the wall." cr
+." Oh, 59 Bottles of Beer on the wall," cr
+." 59 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 58 Bottles of Beer on the wall." cr
+." Oh, 58 Bottles of Beer on the wall," cr
+." 58 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 57 Bottles of Beer on the wall." cr
+." Oh, 57 Bottles of Beer on the wall," cr
+." 57 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 56 Bottles of Beer on the wall." cr
+." Oh, 56 Bottles of Beer on the wall," cr
+." 56 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 55 Bottles of Beer on the wall." cr
+." Oh, 55 Bottles of Beer on the wall," cr
+." 55 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 54 Bottles of Beer on the wall." cr
+." Oh, 54 Bottles of Beer on the wall," cr
+." 54 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 53 Bottles of Beer on the wall." cr
+." Oh, 53 Bottles of Beer on the wall," cr
+." 53 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 52 Bottles of Beer on the wall." cr
+." Oh, 52 Bottles of Beer on the wall," cr
+." 52 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 51 Bottles of Beer on the wall." cr
+." Oh, 51 Bottles of Beer on the wall," cr
+." 51 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 50 Bottles of Beer on the wall." cr
+." Oh, 50 Bottles of Beer on the wall," cr
+." 50 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 49 Bottles of Beer on the wall." cr
+." Oh, 49 Bottles of Beer on the wall," cr
+." 49 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 48 Bottles of Beer on the wall." cr
+." Oh, 48 Bottles of Beer on the wall," cr
+." 48 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 47 Bottles of Beer on the wall." cr
+." Oh, 47 Bottles of Beer on the wall," cr
+." 47 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 46 Bottles of Beer on the wall." cr
+." Oh, 46 Bottles of Beer on the wall," cr
+." 46 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 45 Bottles of Beer on the wall." cr
+." Oh, 45 Bottles of Beer on the wall," cr
+." 45 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 44 Bottles of Beer on the wall." cr
+." Oh, 44 Bottles of Beer on the wall," cr
+." 44 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 43 Bottles of Beer on the wall." cr
+." Oh, 43 Bottles of Beer on the wall," cr
+." 43 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 42 Bottles of Beer on the wall." cr
+." Oh, 42 Bottles of Beer on the wall," cr
+." 42 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 41 Bottles of Beer on the wall." cr
+." Oh, 41 Bottles of Beer on the wall," cr
+." 41 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 40 Bottles of Beer on the wall." cr
+." Oh, 40 Bottles of Beer on the wall," cr
+." 40 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 39 Bottles of Beer on the wall." cr
+." Oh, 39 Bottles of Beer on the wall," cr
+." 39 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 38 Bottles of Beer on the wall." cr
+." Oh, 38 Bottles of Beer on the wall," cr
+." 38 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 37 Bottles of Beer on the wall." cr
+." Oh, 37 Bottles of Beer on the wall," cr
+." 37 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 36 Bottles of Beer on the wall." cr
+." Oh, 36 Bottles of Beer on the wall," cr
+." 36 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 35 Bottles of Beer on the wall." cr
+." Oh, 35 Bottles of Beer on the wall," cr
+." 35 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 34 Bottles of Beer on the wall." cr
+." Oh, 34 Bottles of Beer on the wall," cr
+." 34 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 33 Bottles of Beer on the wall." cr
+." Oh, 33 Bottles of Beer on the wall," cr
+." 33 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 32 Bottles of Beer on the wall." cr
+." Oh, 32 Bottles of Beer on the wall," cr
+." 32 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 31 Bottles of Beer on the wall." cr
+." Oh, 31 Bottles of Beer on the wall," cr
+." 31 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 30 Bottles of Beer on the wall." cr
+." Oh, 30 Bottles of Beer on the wall," cr
+." 30 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 29 Bottles of Beer on the wall." cr
+." Oh, 29 Bottles of Beer on the wall," cr
+." 29 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 28 Bottles of Beer on the wall." cr
+." Oh, 28 Bottles of Beer on the wall," cr
+." 28 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 27 Bottles of Beer on the wall." cr
+." Oh, 27 Bottles of Beer on the wall," cr
+." 27 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 26 Bottles of Beer on the wall." cr
+." Oh, 26 Bottles of Beer on the wall," cr
+." 26 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 25 Bottles of Beer on the wall." cr
+." Oh, 25 Bottles of Beer on the wall," cr
+." 25 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 24 Bottles of Beer on the wall." cr
+." Oh, 24 Bottles of Beer on the wall," cr
+." 24 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 23 Bottles of Beer on the wall." cr
+." Oh, 23 Bottles of Beer on the wall," cr
+." 23 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 22 Bottles of Beer on the wall." cr
+." Oh, 22 Bottles of Beer on the wall," cr
+." 22 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 21 Bottles of Beer on the wall." cr
+." Oh, 21 Bottles of Beer on the wall," cr
+." 21 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 20 Bottles of Beer on the wall." cr
+." Oh, 20 Bottles of Beer on the wall," cr
+." 20 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 19 Bottles of Beer on the wall." cr
+." Oh, 19 Bottles of Beer on the wall," cr
+." 19 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 18 Bottles of Beer on the wall." cr
+." Oh, 18 Bottles of Beer on the wall," cr
+." 18 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 17 Bottles of Beer on the wall." cr
+." Oh, 17 Bottles of Beer on the wall," cr
+." 17 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 16 Bottles of Beer on the wall." cr
+." Oh, 16 Bottles of Beer on the wall," cr
+." 16 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 15 Bottles of Beer on the wall." cr
+." Oh, 15 Bottles of Beer on the wall," cr
+." 15 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 14 Bottles of Beer on the wall." cr
+." Oh, 14 Bottles of Beer on the wall," cr
+." 14 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 13 Bottles of Beer on the wall." cr
+." Oh, 13 Bottles of Beer on the wall," cr
+." 13 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 12 Bottles of Beer on the wall." cr
+." Oh, 12 Bottles of Beer on the wall," cr
+." 12 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 11 Bottles of Beer on the wall." cr
+." Oh, 11 Bottles of Beer on the wall," cr
+." 11 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 10 Bottles of Beer on the wall." cr
+." Oh, 10 Bottles of Beer on the wall," cr
+." 10 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 9 Bottles of Beer on the wall." cr
+." Oh, 9 Bottles of Beer on the wall," cr
+." 9 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 8 Bottles of Beer on the wall." cr
+." Oh, 8 Bottles of Beer on the wall," cr
+." 8 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 7 Bottles of Beer on the wall." cr
+." Oh, 7 Bottles of Beer on the wall," cr
+." 7 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 6 Bottles of Beer on the wall." cr
+." Oh, 6 Bottles of Beer on the wall," cr
+." 6 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 5 Bottles of Beer on the wall." cr
+." Oh, 5 Bottles of Beer on the wall," cr
+." 5 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 4 Bottles of Beer on the wall." cr
+." Oh, 4 Bottles of Beer on the wall," cr
+." 4 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 3 Bottles of Beer on the wall." cr
+." Oh, 3 Bottles of Beer on the wall," cr
+." 3 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 2 Bottles of Beer on the wall." cr
+." Oh, 2 Bottles of Beer on the wall," cr
+." 2 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 1 Bottle of Beer on the wall." cr
+." Oh, 1 Bottle of Beer on the wall," cr
+." 1 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/TokeErrs/TooLargeBranch_V178_body.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_V178_body.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_V178_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,715 @@
+[message] Starting out with one hundred and seventy-eight Bottles of Beer on the wall
+." 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/TokeErrs/TooLargeBranch_V179_body.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_V179_body.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_V179_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,719 @@
+[message] Starting out with one hundred and seventy-nine Bottles of Beer on the wall
+." 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/TokeErrs/TooLargeBranch_V180_body.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_V180_body.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_V180_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,723 @@
+[message] Starting out with one hundred and eighty Bottles of Beer on the wall
+." 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/TokeErrs/TooLargeBranch_off08.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,72 @@
+\ Test case of a branch going over too large a range
+\ Body generated by the "Verbal Bottles of Beer" script,
+\ (Argument of 1 is enough to do it.)
+
+
+fcode-version1 \ Eight-bit offsets.
+
+headers
+
+: too-large-case ( n -- )
+
+ ." Let's give it a large back-reference too."
+ begin ." We've just begun"
+ ." 1 0 do " cr 1 0 do
+ dup ." if " cr
+ if
+ dup ." case"
+ case
+ 0 of ." Just a short case" cr endof
+ ." default. The Big One!" cr
+
+ fload TooLargeBranch_off08_body.fth
+
+ endcase
+ ." then"
+ then
+ ." Loop back and forward" cr loop
+
+ ." And here we are!"
+ exit
+ ." Well, we needed some way out!"
+
+ again ." Back to the fuchsia."
+;
+
+\ Let's make a small jump, just to see what normal looks like
+: control-example
+ ." Here's the beguine"
+ begin
+ dup ." if "
+ if
+ dup ." case"
+ case
+ 0 of ." Short case" cr endof
+ ." No default." cr
+ endcase
+ ." then"
+ then
+
+ ." Way out"
+ exit
+ ." Jump back"
+ again ." Never do this"
+;
+
+
+\ Let's make a do-loop that straddles the limit
+\ (I.e., the "outer" branch is just too large,
+\ but the "inner" branch just fits.)
+: straddle-loop
+ ." 1 0 do" cr 1 0 do
+
+." Take it down and pass it around..." cr
+." How dry I am! How dry I am!" cr
+." No body knows" cr
+." How ... Dry I ... Aaaammm." cr
+
+ ." Loop." cr loop
+ ." Here we go!" cr
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08_body.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08_body.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,7 @@
+[message] Starting out with one Bottle of Beer on the wall
+." 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/TokeErrs/TooLargeBranch_off08_to_16.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08_to_16.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_off08_to_16.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,85 @@
+\ Test case of a branch going over too large a range
+\ Body generated by the "Verbal Bottles of Beer" script (Arg of 1 does it.)
+\ Test transition from eight-bit offsets to sixteen-bit offsets
+
+
+fcode-version1 \ Eight-bit offsets.
+
+headers
+
+: too-large-case ( n -- )
+
+ ." Let's give it a large back-reference too."
+ begin ." We've just begun"
+ ." 1 0 do " cr 1 0 do
+ dup ." if " cr
+ if
+ dup ." case"
+ case
+ 0 of ." Just a short case" cr endof
+ ." default. The Big One!" cr
+
+ fload TooLargeBranch_off08_body.fth
+
+ endcase
+ ." then" cr
+ then
+ ." Loop back and forward" cr loop
+
+ ." And here we are!" cr
+ exit
+ ." Well, we needed some way out!" cr
+
+ again ." Back to the fuchsia." cr
+;
+
+\ Let's make a small jump, just to see what normal looks like
+: control-example
+ ." Here's the beguine"
+ begin
+ dup ." if "
+ if
+ dup ." case"
+ case
+ 0 of ." Short case" cr endof
+ ." No default." cr
+ endcase
+ ." then"
+ then
+
+ ." Way out"
+ exit
+ ." Jump back"
+ again ." Never do this"
+;
+
+
+fcode-end
+
+
+fcode-version2 \ Sixteen-bit offsets.
+
+: odd-size-case ( n -- )
+ ." With a back-reference."
+ begin ." We've begun"
+ dup ." blah-if "
+ if
+ dup ." blah-case"
+ case
+ 0 of ." A very short case" cr endof
+ ." A big default." cr
+
+ fload TooLargeBranch_off08_body.fth
+
+ endcase
+ ." blah-then" cr
+ then
+ ." blah-some way out."
+ exit
+ ." Back again" cr
+
+ again ." Done. are you happy?" cr
+;
+
+fcode-end
+
Added: fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,67 @@
+\ Test case of a branch going over too large a range
+\ Body generated by script.
+\ (Numeric values, argument of 232 just exceeds the inner branches.)
+\ (Numeric values, argument of N >= 233 exceeds them all.)
+\ (Verbal argument of 179 just exceeds the inner branches.)
+\ (Verbal argument of N >= 180 exceeds them all.)
+\ Command-line definition of 'fld_cmd' should be of the form 'fload <filename>'
+\ and can be used to load variable-sized bodies.
+
+\ Default will be TooLargeBranch_off16_body.fth
+
+fcode-version2 \ Sixteen-bit offsets.
+
+headers
+
+: too-large-case ( n -- )
+
+ ." Let's give it a large back-reference too."
+ begin ." We've just begun"
+ ." 1 0 do " cr 1 0 do
+ dup ." if " cr
+ if
+ dup ." case"
+ case
+ 0 of ." Just a short case" cr endof
+ ." default. The Big One!" cr
+
+[ifndef] fld_cmd
+ fload TooLargeBranch_off16_body.fth
+[else]
+ [defined] fld_cmd
+[endif]
+
+ endcase
+ ." then"
+ then
+ ." Loop back and forward" cr loop
+
+ ." And here we are!"
+ exit
+ ." Well, we needed some way out!"
+
+ again ." Back to the fuchsia."
+;
+
+\ Let's make a small jump, just to see what normal looks like
+: control-example
+ ." Small non-loop"
+ begin ." Here's the beguine"
+
+ dup ." if "
+ if
+ dup ." case"
+ case
+ 0 of ." Just a short case" cr endof
+ ." default. Normal one!" cr
+ endcase
+ ." then"
+ then
+
+ ." and the way out"
+ exit
+ ." and the jump back"
+ again ." Never do this" cr
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16_body.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16_body.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeBranch_off16_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,719 @@
+[message] Starting out with one hundred and seventy-nine Bottles of Beer on the wall
+." 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 fourty-nine Bottles of Beer on the wall." cr
+." Oh, one hundred and fourty-nine Bottles of Beer on the wall," cr
+." one hundred and fourty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fourty-eight Bottles of Beer on the wall." cr
+." Oh, one hundred and fourty-eight Bottles of Beer on the wall," cr
+." one hundred and fourty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fourty-seven Bottles of Beer on the wall." cr
+." Oh, one hundred and fourty-seven Bottles of Beer on the wall," cr
+." one hundred and fourty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fourty-six Bottles of Beer on the wall." cr
+." Oh, one hundred and fourty-six Bottles of Beer on the wall," cr
+." one hundred and fourty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fourty-five Bottles of Beer on the wall." cr
+." Oh, one hundred and fourty-five Bottles of Beer on the wall," cr
+." one hundred and fourty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fourty-four Bottles of Beer on the wall." cr
+." Oh, one hundred and fourty-four Bottles of Beer on the wall," cr
+." one hundred and fourty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fourty-three Bottles of Beer on the wall." cr
+." Oh, one hundred and fourty-three Bottles of Beer on the wall," cr
+." one hundred and fourty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fourty-two Bottles of Beer on the wall." cr
+." Oh, one hundred and fourty-two Bottles of Beer on the wall," cr
+." one hundred and fourty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fourty-one Bottles of Beer on the wall." cr
+." Oh, one hundred and fourty-one Bottles of Beer on the wall," cr
+." one hundred and fourty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." one hundred and fourty Bottles of Beer on the wall." cr
+." Oh, one hundred and fourty Bottles of Beer on the wall," cr
+." one hundred and fourty Bottles of Beer!," cr
+." 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
+." fourty-nine Bottles of Beer on the wall." cr
+." Oh, fourty-nine Bottles of Beer on the wall," cr
+." fourty-nine Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fourty-eight Bottles of Beer on the wall." cr
+." Oh, fourty-eight Bottles of Beer on the wall," cr
+." fourty-eight Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fourty-seven Bottles of Beer on the wall." cr
+." Oh, fourty-seven Bottles of Beer on the wall," cr
+." fourty-seven Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fourty-six Bottles of Beer on the wall." cr
+." Oh, fourty-six Bottles of Beer on the wall," cr
+." fourty-six Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fourty-five Bottles of Beer on the wall." cr
+." Oh, fourty-five Bottles of Beer on the wall," cr
+." fourty-five Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fourty-four Bottles of Beer on the wall." cr
+." Oh, fourty-four Bottles of Beer on the wall," cr
+." fourty-four Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fourty-three Bottles of Beer on the wall." cr
+." Oh, fourty-three Bottles of Beer on the wall," cr
+." fourty-three Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fourty-two Bottles of Beer on the wall." cr
+." Oh, fourty-two Bottles of Beer on the wall," cr
+." fourty-two Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fourty-one Bottles of Beer on the wall." cr
+." Oh, fourty-one Bottles of Beer on the wall," cr
+." fourty-one Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." fourty Bottles of Beer on the wall." cr
+." Oh, fourty Bottles of Beer on the wall," cr
+." fourty Bottles of Beer!," cr
+." 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/TokeErrs/TooLargeCase.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeCase.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeCase.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,34 @@
+\ Test whether too-large "Case" statement messes up the Tokenizer.
+\ Body generated by script
+
+
+fcode-version2
+
+headers
+
+: too-large-case ( n -- )
+
+ ." Let's give it a large back-reference too."
+ begin ." We've just begun"
+
+ fload TooLargeCase_body.fth
+
+ ." And here we are!"
+ exit
+ ." Well, we needed some way out!"
+
+ again ." Back to the fuchsia."
+;
+
+\ Let's make a small jump, just to see what normal looks like
+: control-example
+ ." Small non-loop"
+ begin ." Here's the beguine"
+ ." and the way out"
+ exit
+ ." and the jump back"
+ again ." Never do this"
+;
+
+fcode-end
+
Added: fcode-utils/testsuite/TokeErrs/TooLargeCase_body.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeCase_body.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeCase_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,1260 @@
+ case
+ 0 of ." Case of 0 " endof
+ 1 of ." Case of 1 " endof
+ 2 of ." Case of 2 " endof
+ 3 of ." Case of 3 " endof
+ 4 of ." Case of 4 " endof
+ 5 of ." Case of 5 " endof
+ 6 of ." Case of 6 " endof
+ 7 of ." Case of 7 " endof
+ 8 of ." Case of 8 " endof
+ 9 of ." Case of 9 " endof
+ 10 of ." Case of 10 " endof
+ 11 of ." Case of 11 " endof
+ 12 of ." Case of 12 " endof
+ 13 of ." Case of 13 " endof
+ 14 of ." Case of 14 " endof
+ 15 of ." Case of 15 " endof
+ 16 of ." Case of 16 " endof
+ 17 of ." Case of 17 " endof
+ 18 of ." Case of 18 " endof
+ 19 of ." Case of 19 " endof
+ 20 of ." Case of 20 " endof
+ 21 of ." Case of 21 " endof
+ 22 of ." Case of 22 " endof
+ 23 of ." Case of 23 " endof
+ 24 of ." Case of 24 " endof
+ 25 of ." Case of 25 " endof
+ 26 of ." Case of 26 " endof
+ 27 of ." Case of 27 " endof
+ 28 of ." Case of 28 " endof
+ 29 of ." Case of 29 " endof
+ 30 of ." Case of 30 " endof
+ 31 of ." Case of 31 " endof
+ 32 of ." Case of 32 " endof
+ 33 of ." Case of 33 " endof
+ 34 of ." Case of 34 " endof
+ 35 of ." Case of 35 " endof
+ 36 of ." Case of 36 " endof
+ 37 of ." Case of 37 " endof
+ 38 of ." Case of 38 " endof
+ 39 of ." Case of 39 " endof
+ 40 of ." Case of 40 " endof
+ 41 of ." Case of 41 " endof
+ 42 of ." Case of 42 " endof
+ 43 of ." Case of 43 " endof
+ 44 of ." Case of 44 " endof
+ 45 of ." Case of 45 " endof
+ 46 of ." Case of 46 " endof
+ 47 of ." Case of 47 " endof
+ 48 of ." Case of 48 " endof
+ 49 of ." Case of 49 " endof
+ 50 of ." Case of 50 " endof
+ 51 of ." Case of 51 " endof
+ 52 of ." Case of 52 " endof
+ 53 of ." Case of 53 " endof
+ 54 of ." Case of 54 " endof
+ 55 of ." Case of 55 " endof
+ 56 of ." Case of 56 " endof
+ 57 of ." Case of 57 " endof
+ 58 of ." Case of 58 " endof
+ 59 of ." Case of 59 " endof
+ 60 of ." Case of 60 " endof
+ 61 of ." Case of 61 " endof
+ 62 of ." Case of 62 " endof
+ 63 of ." Case of 63 " endof
+ 64 of ." Case of 64 " endof
+ 65 of ." Case of 65 " endof
+ 66 of ." Case of 66 " endof
+ 67 of ." Case of 67 " endof
+ 68 of ." Case of 68 " endof
+ 69 of ." Case of 69 " endof
+ 70 of ." Case of 70 " endof
+ 71 of ." Case of 71 " endof
+ 72 of ." Case of 72 " endof
+ 73 of ." Case of 73 " endof
+ 74 of ." Case of 74 " endof
+ 75 of ." Case of 75 " endof
+ 76 of ." Case of 76 " endof
+ 77 of ." Case of 77 " endof
+ 78 of ." Case of 78 " endof
+ 79 of ." Case of 79 " endof
+ 80 of ." Case of 80 " endof
+ 81 of ." Case of 81 " endof
+ 82 of ." Case of 82 " endof
+ 83 of ." Case of 83 " endof
+ 84 of ." Case of 84 " endof
+ 85 of ." Case of 85 " endof
+ 86 of ." Case of 86 " endof
+ 87 of ." Case of 87 " endof
+ 88 of ." Case of 88 " endof
+ 89 of ." Case of 89 " endof
+ 90 of ." Case of 90 " endof
+ 91 of ." Case of 91 " endof
+ 92 of ." Case of 92 " endof
+ 93 of ." Case of 93 " endof
+ 94 of ." Case of 94 " endof
+ 95 of ." Case of 95 " endof
+ 96 of ." Case of 96 " endof
+ 97 of ." Case of 97 " endof
+ 98 of ." Case of 98 " endof
+ 99 of ." Case of 99 " endof
+ 100 of ." Case of 100 " endof
+ 101 of ." Case of 101 " endof
+ 102 of ." Case of 102 " endof
+ 103 of ." Case of 103 " endof
+ 104 of ." Case of 104 " endof
+ 105 of ." Case of 105 " endof
+ 106 of ." Case of 106 " endof
+ 107 of ." Case of 107 " endof
+ 108 of ." Case of 108 " endof
+ 109 of ." Case of 109 " endof
+ 110 of ." Case of 110 " endof
+ 111 of ." Case of 111 " endof
+ 112 of ." Case of 112 " endof
+ 113 of ." Case of 113 " endof
+ 114 of ." Case of 114 " endof
+ 115 of ." Case of 115 " endof
+ 116 of ." Case of 116 " endof
+ 117 of ." Case of 117 " endof
+ 118 of ." Case of 118 " endof
+ 119 of ." Case of 119 " endof
+ 120 of ." Case of 120 " endof
+ 121 of ." Case of 121 " endof
+ 122 of ." Case of 122 " endof
+ 123 of ." Case of 123 " endof
+ 124 of ." Case of 124 " endof
+ 125 of ." Case of 125 " endof
+ 126 of ." Case of 126 " endof
+ 127 of ." Case of 127 " endof
+ 128 of ." Case of 128 " endof
+ 129 of ." Case of 129 " endof
+ 130 of ." Case of 130 " endof
+ 131 of ." Case of 131 " endof
+ 132 of ." Case of 132 " endof
+ 133 of ." Case of 133 " endof
+ 134 of ." Case of 134 " endof
+ 135 of ." Case of 135 " endof
+ 136 of ." Case of 136 " endof
+ 137 of ." Case of 137 " endof
+ 138 of ." Case of 138 " endof
+ 139 of ." Case of 139 " endof
+ 140 of ." Case of 140 " endof
+ 141 of ." Case of 141 " endof
+ 142 of ." Case of 142 " endof
+ 143 of ." Case of 143 " endof
+ 144 of ." Case of 144 " endof
+ 145 of ." Case of 145 " endof
+ 146 of ." Case of 146 " endof
+ 147 of ." Case of 147 " endof
+ 148 of ." Case of 148 " endof
+ 149 of ." Case of 149 " endof
+ 150 of ." Case of 150 " endof
+ 151 of ." Case of 151 " endof
+ 152 of ." Case of 152 " endof
+ 153 of ." Case of 153 " endof
+ 154 of ." Case of 154 " endof
+ 155 of ." Case of 155 " endof
+ 156 of ." Case of 156 " endof
+ 157 of ." Case of 157 " endof
+ 158 of ." Case of 158 " endof
+ 159 of ." Case of 159 " endof
+ 160 of ." Case of 160 " endof
+ 161 of ." Case of 161 " endof
+ 162 of ." Case of 162 " endof
+ 163 of ." Case of 163 " endof
+ 164 of ." Case of 164 " endof
+ 165 of ." Case of 165 " endof
+ 166 of ." Case of 166 " endof
+ 167 of ." Case of 167 " endof
+ 168 of ." Case of 168 " endof
+ 169 of ." Case of 169 " endof
+ 170 of ." Case of 170 " endof
+ 171 of ." Case of 171 " endof
+ 172 of ." Case of 172 " endof
+ 173 of ." Case of 173 " endof
+ 174 of ." Case of 174 " endof
+ 175 of ." Case of 175 " endof
+ 176 of ." Case of 176 " endof
+ 177 of ." Case of 177 " endof
+ 178 of ." Case of 178 " endof
+ 179 of ." Case of 179 " endof
+ 180 of ." Case of 180 " endof
+ 181 of ." Case of 181 " endof
+ 182 of ." Case of 182 " endof
+ 183 of ." Case of 183 " endof
+ 184 of ." Case of 184 " endof
+ 185 of ." Case of 185 " endof
+ 186 of ." Case of 186 " endof
+ 187 of ." Case of 187 " endof
+ 188 of ." Case of 188 " endof
+ 189 of ." Case of 189 " endof
+ 190 of ." Case of 190 " endof
+ 191 of ." Case of 191 " endof
+ 192 of ." Case of 192 " endof
+ 193 of ." Case of 193 " endof
+ 194 of ." Case of 194 " endof
+ 195 of ." Case of 195 " endof
+ 196 of ." Case of 196 " endof
+ 197 of ." Case of 197 " endof
+ 198 of ." Case of 198 " endof
+ 199 of ." Case of 199 " endof
+ 200 of ." Case of 200 " endof
+ 201 of ." Case of 201 " endof
+ 202 of ." Case of 202 " endof
+ 203 of ." Case of 203 " endof
+ 204 of ." Case of 204 " endof
+ 205 of ." Case of 205 " endof
+ 206 of ." Case of 206 " endof
+ 207 of ." Case of 207 " endof
+ 208 of ." Case of 208 " endof
+ 209 of ." Case of 209 " endof
+ 210 of ." Case of 210 " endof
+ 211 of ." Case of 211 " endof
+ 212 of ." Case of 212 " endof
+ 213 of ." Case of 213 " endof
+ 214 of ." Case of 214 " endof
+ 215 of ." Case of 215 " endof
+ 216 of ." Case of 216 " endof
+ 217 of ." Case of 217 " endof
+ 218 of ." Case of 218 " endof
+ 219 of ." Case of 219 " endof
+ 220 of ." Case of 220 " endof
+ 221 of ." Case of 221 " endof
+ 222 of ." Case of 222 " endof
+ 223 of ." Case of 223 " endof
+ 224 of ." Case of 224 " endof
+ 225 of ." Case of 225 " endof
+ 226 of ." Case of 226 " endof
+ 227 of ." Case of 227 " endof
+ 228 of ." Case of 228 " endof
+ 229 of ." Case of 229 " endof
+ 230 of ." Case of 230 " endof
+ 231 of ." Case of 231 " endof
+ 232 of ." Case of 232 " endof
+ 233 of ." Case of 233 " endof
+ 234 of ." Case of 234 " endof
+ 235 of ." Case of 235 " endof
+ 236 of ." Case of 236 " endof
+ 237 of ." Case of 237 " endof
+ 238 of ." Case of 238 " endof
+ 239 of ." Case of 239 " endof
+ 240 of ." Case of 240 " endof
+ 241 of ." Case of 241 " endof
+ 242 of ." Case of 242 " endof
+ 243 of ." Case of 243 " endof
+ 244 of ." Case of 244 " endof
+ 245 of ." Case of 245 " endof
+ 246 of ." Case of 246 " endof
+ 247 of ." Case of 247 " endof
+ 248 of ." Case of 248 " endof
+ 249 of ." Case of 249 " endof
+ 250 of ." Case of 250 " endof
+ 251 of ." Case of 251 " endof
+ 252 of ." Case of 252 " endof
+ 253 of ." Case of 253 " endof
+ 254 of ." Case of 254 " endof
+ 255 of ." Case of 255 " endof
+ 256 of ." Case of 256 " endof
+ 257 of ." Case of 257 " endof
+ 258 of ." Case of 258 " endof
+ 259 of ." Case of 259 " endof
+ 260 of ." Case of 260 " endof
+ 261 of ." Case of 261 " endof
+ 262 of ." Case of 262 " endof
+ 263 of ." Case of 263 " endof
+ 264 of ." Case of 264 " endof
+ 265 of ." Case of 265 " endof
+ 266 of ." Case of 266 " endof
+ 267 of ." Case of 267 " endof
+ 268 of ." Case of 268 " endof
+ 269 of ." Case of 269 " endof
+ 270 of ." Case of 270 " endof
+ 271 of ." Case of 271 " endof
+ 272 of ." Case of 272 " endof
+ 273 of ." Case of 273 " endof
+ 274 of ." Case of 274 " endof
+ 275 of ." Case of 275 " endof
+ 276 of ." Case of 276 " endof
+ 277 of ." Case of 277 " endof
+ 278 of ." Case of 278 " endof
+ 279 of ." Case of 279 " endof
+ 280 of ." Case of 280 " endof
+ 281 of ." Case of 281 " endof
+ 282 of ." Case of 282 " endof
+ 283 of ." Case of 283 " endof
+ 284 of ." Case of 284 " endof
+ 285 of ." Case of 285 " endof
+ 286 of ." Case of 286 " endof
+ 287 of ." Case of 287 " endof
+ 288 of ." Case of 288 " endof
+ 289 of ." Case of 289 " endof
+ 290 of ." Case of 290 " endof
+ 291 of ." Case of 291 " endof
+ 292 of ." Case of 292 " endof
+ 293 of ." Case of 293 " endof
+ 294 of ." Case of 294 " endof
+ 295 of ." Case of 295 " endof
+ 296 of ." Case of 296 " endof
+ 297 of ." Case of 297 " endof
+ 298 of ." Case of 298 " endof
+ 299 of ." Case of 299 " endof
+ 300 of ." Case of 300 " endof
+ 301 of ." Case of 301 " endof
+ 302 of ." Case of 302 " endof
+ 303 of ." Case of 303 " endof
+ 304 of ." Case of 304 " endof
+ 305 of ." Case of 305 " endof
+ 306 of ." Case of 306 " endof
+ 307 of ." Case of 307 " endof
+ 308 of ." Case of 308 " endof
+ 309 of ." Case of 309 " endof
+ 310 of ." Case of 310 " endof
+ 311 of ." Case of 311 " endof
+ 312 of ." Case of 312 " endof
+ 313 of ." Case of 313 " endof
+ 314 of ." Case of 314 " endof
+ 315 of ." Case of 315 " endof
+ 316 of ." Case of 316 " endof
+ 317 of ." Case of 317 " endof
+ 318 of ." Case of 318 " endof
+ 319 of ." Case of 319 " endof
+ 320 of ." Case of 320 " endof
+ 321 of ." Case of 321 " endof
+ 322 of ." Case of 322 " endof
+ 323 of ." Case of 323 " endof
+ 324 of ." Case of 324 " endof
+ 325 of ." Case of 325 " endof
+ 326 of ." Case of 326 " endof
+ 327 of ." Case of 327 " endof
+ 328 of ." Case of 328 " endof
+ 329 of ." Case of 329 " endof
+ 330 of ." Case of 330 " endof
+ 331 of ." Case of 331 " endof
+ 332 of ." Case of 332 " endof
+ 333 of ." Case of 333 " endof
+ 334 of ." Case of 334 " endof
+ 335 of ." Case of 335 " endof
+ 336 of ." Case of 336 " endof
+ 337 of ." Case of 337 " endof
+ 338 of ." Case of 338 " endof
+ 339 of ." Case of 339 " endof
+ 340 of ." Case of 340 " endof
+ 341 of ." Case of 341 " endof
+ 342 of ." Case of 342 " endof
+ 343 of ." Case of 343 " endof
+ 344 of ." Case of 344 " endof
+ 345 of ." Case of 345 " endof
+ 346 of ." Case of 346 " endof
+ 347 of ." Case of 347 " endof
+ 348 of ." Case of 348 " endof
+ 349 of ." Case of 349 " endof
+ 350 of ." Case of 350 " endof
+ 351 of ." Case of 351 " endof
+ 352 of ." Case of 352 " endof
+ 353 of ." Case of 353 " endof
+ 354 of ." Case of 354 " endof
+ 355 of ." Case of 355 " endof
+ 356 of ." Case of 356 " endof
+ 357 of ." Case of 357 " endof
+ 358 of ." Case of 358 " endof
+ 359 of ." Case of 359 " endof
+ 360 of ." Case of 360 " endof
+ 361 of ." Case of 361 " endof
+ 362 of ." Case of 362 " endof
+ 363 of ." Case of 363 " endof
+ 364 of ." Case of 364 " endof
+ 365 of ." Case of 365 " endof
+ 366 of ." Case of 366 " endof
+ 367 of ." Case of 367 " endof
+ 368 of ." Case of 368 " endof
+ 369 of ." Case of 369 " endof
+ 370 of ." Case of 370 " endof
+ 371 of ." Case of 371 " endof
+ 372 of ." Case of 372 " endof
+ 373 of ." Case of 373 " endof
+ 374 of ." Case of 374 " endof
+ 375 of ." Case of 375 " endof
+ 376 of ." Case of 376 " endof
+ 377 of ." Case of 377 " endof
+ 378 of ." Case of 378 " endof
+ 379 of ." Case of 379 " endof
+ 380 of ." Case of 380 " endof
+ 381 of ." Case of 381 " endof
+ 382 of ." Case of 382 " endof
+ 383 of ." Case of 383 " endof
+ 384 of ." Case of 384 " endof
+ 385 of ." Case of 385 " endof
+ 386 of ." Case of 386 " endof
+ 387 of ." Case of 387 " endof
+ 388 of ." Case of 388 " endof
+ 389 of ." Case of 389 " endof
+ 390 of ." Case of 390 " endof
+ 391 of ." Case of 391 " endof
+ 392 of ." Case of 392 " endof
+ 393 of ." Case of 393 " endof
+ 394 of ." Case of 394 " endof
+ 395 of ." Case of 395 " endof
+ 396 of ." Case of 396 " endof
+ 397 of ." Case of 397 " endof
+ 398 of ." Case of 398 " endof
+ 399 of ." Case of 399 " endof
+ 400 of ." Case of 400 " endof
+ 401 of ." Case of 401 " endof
+ 402 of ." Case of 402 " endof
+ 403 of ." Case of 403 " endof
+ 404 of ." Case of 404 " endof
+ 405 of ." Case of 405 " endof
+ 406 of ." Case of 406 " endof
+ 407 of ." Case of 407 " endof
+ 408 of ." Case of 408 " endof
+ 409 of ." Case of 409 " endof
+ 410 of ." Case of 410 " endof
+ 411 of ." Case of 411 " endof
+ 412 of ." Case of 412 " endof
+ 413 of ." Case of 413 " endof
+ 414 of ." Case of 414 " endof
+ 415 of ." Case of 415 " endof
+ 416 of ." Case of 416 " endof
+ 417 of ." Case of 417 " endof
+ 418 of ." Case of 418 " endof
+ 419 of ." Case of 419 " endof
+ 420 of ." Case of 420 " endof
+ 421 of ." Case of 421 " endof
+ 422 of ." Case of 422 " endof
+ 423 of ." Case of 423 " endof
+ 424 of ." Case of 424 " endof
+ 425 of ." Case of 425 " endof
+ 426 of ." Case of 426 " endof
+ 427 of ." Case of 427 " endof
+ 428 of ." Case of 428 " endof
+ 429 of ." Case of 429 " endof
+ 430 of ." Case of 430 " endof
+ 431 of ." Case of 431 " endof
+ 432 of ." Case of 432 " endof
+ 433 of ." Case of 433 " endof
+ 434 of ." Case of 434 " endof
+ 435 of ." Case of 435 " endof
+ 436 of ." Case of 436 " endof
+ 437 of ." Case of 437 " endof
+ 438 of ." Case of 438 " endof
+ 439 of ." Case of 439 " endof
+ 440 of ." Case of 440 " endof
+ 441 of ." Case of 441 " endof
+ 442 of ." Case of 442 " endof
+ 443 of ." Case of 443 " endof
+ 444 of ." Case of 444 " endof
+ 445 of ." Case of 445 " endof
+ 446 of ." Case of 446 " endof
+ 447 of ." Case of 447 " endof
+ 448 of ." Case of 448 " endof
+ 449 of ." Case of 449 " endof
+ 450 of ." Case of 450 " endof
+ 451 of ." Case of 451 " endof
+ 452 of ." Case of 452 " endof
+ 453 of ." Case of 453 " endof
+ 454 of ." Case of 454 " endof
+ 455 of ." Case of 455 " endof
+ 456 of ." Case of 456 " endof
+ 457 of ." Case of 457 " endof
+ 458 of ." Case of 458 " endof
+ 459 of ." Case of 459 " endof
+ 460 of ." Case of 460 " endof
+ 461 of ." Case of 461 " endof
+ 462 of ." Case of 462 " endof
+ 463 of ." Case of 463 " endof
+ 464 of ." Case of 464 " endof
+ 465 of ." Case of 465 " endof
+ 466 of ." Case of 466 " endof
+ 467 of ." Case of 467 " endof
+ 468 of ." Case of 468 " endof
+ 469 of ." Case of 469 " endof
+ 470 of ." Case of 470 " endof
+ 471 of ." Case of 471 " endof
+ 472 of ." Case of 472 " endof
+ 473 of ." Case of 473 " endof
+ 474 of ." Case of 474 " endof
+ 475 of ." Case of 475 " endof
+ 476 of ." Case of 476 " endof
+ 477 of ." Case of 477 " endof
+ 478 of ." Case of 478 " endof
+ 479 of ." Case of 479 " endof
+ 480 of ." Case of 480 " endof
+ 481 of ." Case of 481 " endof
+ 482 of ." Case of 482 " endof
+ 483 of ." Case of 483 " endof
+ 484 of ." Case of 484 " endof
+ 485 of ." Case of 485 " endof
+ 486 of ." Case of 486 " endof
+ 487 of ." Case of 487 " endof
+ 488 of ." Case of 488 " endof
+ 489 of ." Case of 489 " endof
+ 490 of ." Case of 490 " endof
+ 491 of ." Case of 491 " endof
+ 492 of ." Case of 492 " endof
+ 493 of ." Case of 493 " endof
+ 494 of ." Case of 494 " endof
+ 495 of ." Case of 495 " endof
+ 496 of ." Case of 496 " endof
+ 497 of ." Case of 497 " endof
+ 498 of ." Case of 498 " endof
+ 499 of ." Case of 499 " endof
+ 500 of ." Case of 500 " endof
+ 501 of ." Case of 501 " endof
+ 502 of ." Case of 502 " endof
+ 503 of ." Case of 503 " endof
+ 504 of ." Case of 504 " endof
+ 505 of ." Case of 505 " endof
+ 506 of ." Case of 506 " endof
+ 507 of ." Case of 507 " endof
+ 508 of ." Case of 508 " endof
+ 509 of ." Case of 509 " endof
+ 510 of ." Case of 510 " endof
+ 511 of ." Case of 511 " endof
+ 512 of ." Case of 512 " endof
+ 513 of ." Case of 513 " endof
+ 514 of ." Case of 514 " endof
+ 515 of ." Case of 515 " endof
+ 516 of ." Case of 516 " endof
+ 517 of ." Case of 517 " endof
+ 518 of ." Case of 518 " endof
+ 519 of ." Case of 519 " endof
+ 520 of ." Case of 520 " endof
+ 521 of ." Case of 521 " endof
+ 522 of ." Case of 522 " endof
+ 523 of ." Case of 523 " endof
+ 524 of ." Case of 524 " endof
+ 525 of ." Case of 525 " endof
+ 526 of ." Case of 526 " endof
+ 527 of ." Case of 527 " endof
+ 528 of ." Case of 528 " endof
+ 529 of ." Case of 529 " endof
+ 530 of ." Case of 530 " endof
+ 531 of ." Case of 531 " endof
+ 532 of ." Case of 532 " endof
+ 533 of ." Case of 533 " endof
+ 534 of ." Case of 534 " endof
+ 535 of ." Case of 535 " endof
+ 536 of ." Case of 536 " endof
+ 537 of ." Case of 537 " endof
+ 538 of ." Case of 538 " endof
+ 539 of ." Case of 539 " endof
+ 540 of ." Case of 540 " endof
+ 541 of ." Case of 541 " endof
+ 542 of ." Case of 542 " endof
+ 543 of ." Case of 543 " endof
+ 544 of ." Case of 544 " endof
+ 545 of ." Case of 545 " endof
+ 546 of ." Case of 546 " endof
+ 547 of ." Case of 547 " endof
+ 548 of ." Case of 548 " endof
+ 549 of ." Case of 549 " endof
+ 550 of ." Case of 550 " endof
+ 551 of ." Case of 551 " endof
+ 552 of ." Case of 552 " endof
+ 553 of ." Case of 553 " endof
+ 554 of ." Case of 554 " endof
+ 555 of ." Case of 555 " endof
+ 556 of ." Case of 556 " endof
+ 557 of ." Case of 557 " endof
+ 558 of ." Case of 558 " endof
+ 559 of ." Case of 559 " endof
+ 560 of ." Case of 560 " endof
+ 561 of ." Case of 561 " endof
+ 562 of ." Case of 562 " endof
+ 563 of ." Case of 563 " endof
+ 564 of ." Case of 564 " endof
+ 565 of ." Case of 565 " endof
+ 566 of ." Case of 566 " endof
+ 567 of ." Case of 567 " endof
+ 568 of ." Case of 568 " endof
+ 569 of ." Case of 569 " endof
+ 570 of ." Case of 570 " endof
+ 571 of ." Case of 571 " endof
+ 572 of ." Case of 572 " endof
+ 573 of ." Case of 573 " endof
+ 574 of ." Case of 574 " endof
+ 575 of ." Case of 575 " endof
+ 576 of ." Case of 576 " endof
+ 577 of ." Case of 577 " endof
+ 578 of ." Case of 578 " endof
+ 579 of ." Case of 579 " endof
+ 580 of ." Case of 580 " endof
+ 581 of ." Case of 581 " endof
+ 582 of ." Case of 582 " endof
+ 583 of ." Case of 583 " endof
+ 584 of ." Case of 584 " endof
+ 585 of ." Case of 585 " endof
+ 586 of ." Case of 586 " endof
+ 587 of ." Case of 587 " endof
+ 588 of ." Case of 588 " endof
+ 589 of ." Case of 589 " endof
+ 590 of ." Case of 590 " endof
+ 591 of ." Case of 591 " endof
+ 592 of ." Case of 592 " endof
+ 593 of ." Case of 593 " endof
+ 594 of ." Case of 594 " endof
+ 595 of ." Case of 595 " endof
+ 596 of ." Case of 596 " endof
+ 597 of ." Case of 597 " endof
+ 598 of ." Case of 598 " endof
+ 599 of ." Case of 599 " endof
+ 600 of ." Case of 600 " endof
+ 601 of ." Case of 601 " endof
+ 602 of ." Case of 602 " endof
+ 603 of ." Case of 603 " endof
+ 604 of ." Case of 604 " endof
+ 605 of ." Case of 605 " endof
+ 606 of ." Case of 606 " endof
+ 607 of ." Case of 607 " endof
+ 608 of ." Case of 608 " endof
+ 609 of ." Case of 609 " endof
+ 610 of ." Case of 610 " endof
+ 611 of ." Case of 611 " endof
+ 612 of ." Case of 612 " endof
+ 613 of ." Case of 613 " endof
+ 614 of ." Case of 614 " endof
+ 615 of ." Case of 615 " endof
+ 616 of ." Case of 616 " endof
+ 617 of ." Case of 617 " endof
+ 618 of ." Case of 618 " endof
+ 619 of ." Case of 619 " endof
+ 620 of ." Case of 620 " endof
+ 621 of ." Case of 621 " endof
+ 622 of ." Case of 622 " endof
+ 623 of ." Case of 623 " endof
+ 624 of ." Case of 624 " endof
+ 625 of ." Case of 625 " endof
+ 626 of ." Case of 626 " endof
+ 627 of ." Case of 627 " endof
+ 628 of ." Case of 628 " endof
+ 629 of ." Case of 629 " endof
+ 630 of ." Case of 630 " endof
+ 631 of ." Case of 631 " endof
+ 632 of ." Case of 632 " endof
+ 633 of ." Case of 633 " endof
+ 634 of ." Case of 634 " endof
+ 635 of ." Case of 635 " endof
+ 636 of ." Case of 636 " endof
+ 637 of ." Case of 637 " endof
+ 638 of ." Case of 638 " endof
+ 639 of ." Case of 639 " endof
+ 640 of ." Case of 640 " endof
+ 641 of ." Case of 641 " endof
+ 642 of ." Case of 642 " endof
+ 643 of ." Case of 643 " endof
+ 644 of ." Case of 644 " endof
+ 645 of ." Case of 645 " endof
+ 646 of ." Case of 646 " endof
+ 647 of ." Case of 647 " endof
+ 648 of ." Case of 648 " endof
+ 649 of ." Case of 649 " endof
+ 650 of ." Case of 650 " endof
+ 651 of ." Case of 651 " endof
+ 652 of ." Case of 652 " endof
+ 653 of ." Case of 653 " endof
+ 654 of ." Case of 654 " endof
+ 655 of ." Case of 655 " endof
+ 656 of ." Case of 656 " endof
+ 657 of ." Case of 657 " endof
+ 658 of ." Case of 658 " endof
+ 659 of ." Case of 659 " endof
+ 660 of ." Case of 660 " endof
+ 661 of ." Case of 661 " endof
+ 662 of ." Case of 662 " endof
+ 663 of ." Case of 663 " endof
+ 664 of ." Case of 664 " endof
+ 665 of ." Case of 665 " endof
+ 666 of ." Case of 666 " endof
+ 667 of ." Case of 667 " endof
+ 668 of ." Case of 668 " endof
+ 669 of ." Case of 669 " endof
+ 670 of ." Case of 670 " endof
+ 671 of ." Case of 671 " endof
+ 672 of ." Case of 672 " endof
+ 673 of ." Case of 673 " endof
+ 674 of ." Case of 674 " endof
+ 675 of ." Case of 675 " endof
+ 676 of ." Case of 676 " endof
+ 677 of ." Case of 677 " endof
+ 678 of ." Case of 678 " endof
+ 679 of ." Case of 679 " endof
+ 680 of ." Case of 680 " endof
+ 681 of ." Case of 681 " endof
+ 682 of ." Case of 682 " endof
+ 683 of ." Case of 683 " endof
+ 684 of ." Case of 684 " endof
+ 685 of ." Case of 685 " endof
+ 686 of ." Case of 686 " endof
+ 687 of ." Case of 687 " endof
+ 688 of ." Case of 688 " endof
+ 689 of ." Case of 689 " endof
+ 690 of ." Case of 690 " endof
+ 691 of ." Case of 691 " endof
+ 692 of ." Case of 692 " endof
+ 693 of ." Case of 693 " endof
+ 694 of ." Case of 694 " endof
+ 695 of ." Case of 695 " endof
+ 696 of ." Case of 696 " endof
+ 697 of ." Case of 697 " endof
+ 698 of ." Case of 698 " endof
+ 699 of ." Case of 699 " endof
+ 700 of ." Case of 700 " endof
+ 701 of ." Case of 701 " endof
+ 702 of ." Case of 702 " endof
+ 703 of ." Case of 703 " endof
+ 704 of ." Case of 704 " endof
+ 705 of ." Case of 705 " endof
+ 706 of ." Case of 706 " endof
+ 707 of ." Case of 707 " endof
+ 708 of ." Case of 708 " endof
+ 709 of ." Case of 709 " endof
+ 710 of ." Case of 710 " endof
+ 711 of ." Case of 711 " endof
+ 712 of ." Case of 712 " endof
+ 713 of ." Case of 713 " endof
+ 714 of ." Case of 714 " endof
+ 715 of ." Case of 715 " endof
+ 716 of ." Case of 716 " endof
+ 717 of ." Case of 717 " endof
+ 718 of ." Case of 718 " endof
+ 719 of ." Case of 719 " endof
+ 720 of ." Case of 720 " endof
+ 721 of ." Case of 721 " endof
+ 722 of ." Case of 722 " endof
+ 723 of ." Case of 723 " endof
+ 724 of ." Case of 724 " endof
+ 725 of ." Case of 725 " endof
+ 726 of ." Case of 726 " endof
+ 727 of ." Case of 727 " endof
+ 728 of ." Case of 728 " endof
+ 729 of ." Case of 729 " endof
+ 730 of ." Case of 730 " endof
+ 731 of ." Case of 731 " endof
+ 732 of ." Case of 732 " endof
+ 733 of ." Case of 733 " endof
+ 734 of ." Case of 734 " endof
+ 735 of ." Case of 735 " endof
+ 736 of ." Case of 736 " endof
+ 737 of ." Case of 737 " endof
+ 738 of ." Case of 738 " endof
+ 739 of ." Case of 739 " endof
+ 740 of ." Case of 740 " endof
+ 741 of ." Case of 741 " endof
+ 742 of ." Case of 742 " endof
+ 743 of ." Case of 743 " endof
+ 744 of ." Case of 744 " endof
+ 745 of ." Case of 745 " endof
+ 746 of ." Case of 746 " endof
+ 747 of ." Case of 747 " endof
+ 748 of ." Case of 748 " endof
+ 749 of ." Case of 749 " endof
+ 750 of ." Case of 750 " endof
+ 751 of ." Case of 751 " endof
+ 752 of ." Case of 752 " endof
+ 753 of ." Case of 753 " endof
+ 754 of ." Case of 754 " endof
+ 755 of ." Case of 755 " endof
+ 756 of ." Case of 756 " endof
+ 757 of ." Case of 757 " endof
+ 758 of ." Case of 758 " endof
+ 759 of ." Case of 759 " endof
+ 760 of ." Case of 760 " endof
+ 761 of ." Case of 761 " endof
+ 762 of ." Case of 762 " endof
+ 763 of ." Case of 763 " endof
+ 764 of ." Case of 764 " endof
+ 765 of ." Case of 765 " endof
+ 766 of ." Case of 766 " endof
+ 767 of ." Case of 767 " endof
+ 768 of ." Case of 768 " endof
+ 769 of ." Case of 769 " endof
+ 770 of ." Case of 770 " endof
+ 771 of ." Case of 771 " endof
+ 772 of ." Case of 772 " endof
+ 773 of ." Case of 773 " endof
+ 774 of ." Case of 774 " endof
+ 775 of ." Case of 775 " endof
+ 776 of ." Case of 776 " endof
+ 777 of ." Case of 777 " endof
+ 778 of ." Case of 778 " endof
+ 779 of ." Case of 779 " endof
+ 780 of ." Case of 780 " endof
+ 781 of ." Case of 781 " endof
+ 782 of ." Case of 782 " endof
+ 783 of ." Case of 783 " endof
+ 784 of ." Case of 784 " endof
+ 785 of ." Case of 785 " endof
+ 786 of ." Case of 786 " endof
+ 787 of ." Case of 787 " endof
+ 788 of ." Case of 788 " endof
+ 789 of ." Case of 789 " endof
+ 790 of ." Case of 790 " endof
+ 791 of ." Case of 791 " endof
+ 792 of ." Case of 792 " endof
+ 793 of ." Case of 793 " endof
+ 794 of ." Case of 794 " endof
+ 795 of ." Case of 795 " endof
+ 796 of ." Case of 796 " endof
+ 797 of ." Case of 797 " endof
+ 798 of ." Case of 798 " endof
+ 799 of ." Case of 799 " endof
+ 800 of ." Case of 800 " endof
+ 801 of ." Case of 801 " endof
+ 802 of ." Case of 802 " endof
+ 803 of ." Case of 803 " endof
+ 804 of ." Case of 804 " endof
+ 805 of ." Case of 805 " endof
+ 806 of ." Case of 806 " endof
+ 807 of ." Case of 807 " endof
+ 808 of ." Case of 808 " endof
+ 809 of ." Case of 809 " endof
+ 810 of ." Case of 810 " endof
+ 811 of ." Case of 811 " endof
+ 812 of ." Case of 812 " endof
+ 813 of ." Case of 813 " endof
+ 814 of ." Case of 814 " endof
+ 815 of ." Case of 815 " endof
+ 816 of ." Case of 816 " endof
+ 817 of ." Case of 817 " endof
+ 818 of ." Case of 818 " endof
+ 819 of ." Case of 819 " endof
+ 820 of ." Case of 820 " endof
+ 821 of ." Case of 821 " endof
+ 822 of ." Case of 822 " endof
+ 823 of ." Case of 823 " endof
+ 824 of ." Case of 824 " endof
+ 825 of ." Case of 825 " endof
+ 826 of ." Case of 826 " endof
+ 827 of ." Case of 827 " endof
+ 828 of ." Case of 828 " endof
+ 829 of ." Case of 829 " endof
+ 830 of ." Case of 830 " endof
+ 831 of ." Case of 831 " endof
+ 832 of ." Case of 832 " endof
+ 833 of ." Case of 833 " endof
+ 834 of ." Case of 834 " endof
+ 835 of ." Case of 835 " endof
+ 836 of ." Case of 836 " endof
+ 837 of ." Case of 837 " endof
+ 838 of ." Case of 838 " endof
+ 839 of ." Case of 839 " endof
+ 840 of ." Case of 840 " endof
+ 841 of ." Case of 841 " endof
+ 842 of ." Case of 842 " endof
+ 843 of ." Case of 843 " endof
+ 844 of ." Case of 844 " endof
+ 845 of ." Case of 845 " endof
+ 846 of ." Case of 846 " endof
+ 847 of ." Case of 847 " endof
+ 848 of ." Case of 848 " endof
+ 849 of ." Case of 849 " endof
+ 850 of ." Case of 850 " endof
+ 851 of ." Case of 851 " endof
+ 852 of ." Case of 852 " endof
+ 853 of ." Case of 853 " endof
+ 854 of ." Case of 854 " endof
+ 855 of ." Case of 855 " endof
+ 856 of ." Case of 856 " endof
+ 857 of ." Case of 857 " endof
+ 858 of ." Case of 858 " endof
+ 859 of ." Case of 859 " endof
+ 860 of ." Case of 860 " endof
+ 861 of ." Case of 861 " endof
+ 862 of ." Case of 862 " endof
+ 863 of ." Case of 863 " endof
+ 864 of ." Case of 864 " endof
+ 865 of ." Case of 865 " endof
+ 866 of ." Case of 866 " endof
+ 867 of ." Case of 867 " endof
+ 868 of ." Case of 868 " endof
+ 869 of ." Case of 869 " endof
+ 870 of ." Case of 870 " endof
+ 871 of ." Case of 871 " endof
+ 872 of ." Case of 872 " endof
+ 873 of ." Case of 873 " endof
+ 874 of ." Case of 874 " endof
+ 875 of ." Case of 875 " endof
+ 876 of ." Case of 876 " endof
+ 877 of ." Case of 877 " endof
+ 878 of ." Case of 878 " endof
+ 879 of ." Case of 879 " endof
+ 880 of ." Case of 880 " endof
+ 881 of ." Case of 881 " endof
+ 882 of ." Case of 882 " endof
+ 883 of ." Case of 883 " endof
+ 884 of ." Case of 884 " endof
+ 885 of ." Case of 885 " endof
+ 886 of ." Case of 886 " endof
+ 887 of ." Case of 887 " endof
+ 888 of ." Case of 888 " endof
+ 889 of ." Case of 889 " endof
+ 890 of ." Case of 890 " endof
+ 891 of ." Case of 891 " endof
+ 892 of ." Case of 892 " endof
+ 893 of ." Case of 893 " endof
+ 894 of ." Case of 894 " endof
+ 895 of ." Case of 895 " endof
+ 896 of ." Case of 896 " endof
+ 897 of ." Case of 897 " endof
+ 898 of ." Case of 898 " endof
+ 899 of ." Case of 899 " endof
+ 900 of ." Case of 900 " endof
+ 901 of ." Case of 901 " endof
+ 902 of ." Case of 902 " endof
+ 903 of ." Case of 903 " endof
+ 904 of ." Case of 904 " endof
+ 905 of ." Case of 905 " endof
+ 906 of ." Case of 906 " endof
+ 907 of ." Case of 907 " endof
+ 908 of ." Case of 908 " endof
+ 909 of ." Case of 909 " endof
+ 910 of ." Case of 910 " endof
+ 911 of ." Case of 911 " endof
+ 912 of ." Case of 912 " endof
+ 913 of ." Case of 913 " endof
+ 914 of ." Case of 914 " endof
+ 915 of ." Case of 915 " endof
+ 916 of ." Case of 916 " endof
+ 917 of ." Case of 917 " endof
+ 918 of ." Case of 918 " endof
+ 919 of ." Case of 919 " endof
+ 920 of ." Case of 920 " endof
+ 921 of ." Case of 921 " endof
+ 922 of ." Case of 922 " endof
+ 923 of ." Case of 923 " endof
+ 924 of ." Case of 924 " endof
+ 925 of ." Case of 925 " endof
+ 926 of ." Case of 926 " endof
+ 927 of ." Case of 927 " endof
+ 928 of ." Case of 928 " endof
+ 929 of ." Case of 929 " endof
+ 930 of ." Case of 930 " endof
+ 931 of ." Case of 931 " endof
+ 932 of ." Case of 932 " endof
+ 933 of ." Case of 933 " endof
+ 934 of ." Case of 934 " endof
+ 935 of ." Case of 935 " endof
+ 936 of ." Case of 936 " endof
+ 937 of ." Case of 937 " endof
+ 938 of ." Case of 938 " endof
+ 939 of ." Case of 939 " endof
+ 940 of ." Case of 940 " endof
+ 941 of ." Case of 941 " endof
+ 942 of ." Case of 942 " endof
+ 943 of ." Case of 943 " endof
+ 944 of ." Case of 944 " endof
+ 945 of ." Case of 945 " endof
+ 946 of ." Case of 946 " endof
+ 947 of ." Case of 947 " endof
+ 948 of ." Case of 948 " endof
+ 949 of ." Case of 949 " endof
+ 950 of ." Case of 950 " endof
+ 951 of ." Case of 951 " endof
+ 952 of ." Case of 952 " endof
+ 953 of ." Case of 953 " endof
+ 954 of ." Case of 954 " endof
+ 955 of ." Case of 955 " endof
+ 956 of ." Case of 956 " endof
+ 957 of ." Case of 957 " endof
+ 958 of ." Case of 958 " endof
+ 959 of ." Case of 959 " endof
+ 960 of ." Case of 960 " endof
+ 961 of ." Case of 961 " endof
+ 962 of ." Case of 962 " endof
+ 963 of ." Case of 963 " endof
+ 964 of ." Case of 964 " endof
+ 965 of ." Case of 965 " endof
+ 966 of ." Case of 966 " endof
+ 967 of ." Case of 967 " endof
+ 968 of ." Case of 968 " endof
+ 969 of ." Case of 969 " endof
+ 970 of ." Case of 970 " endof
+ 971 of ." Case of 971 " endof
+ 972 of ." Case of 972 " endof
+ 973 of ." Case of 973 " endof
+ 974 of ." Case of 974 " endof
+ 975 of ." Case of 975 " endof
+ 976 of ." Case of 976 " endof
+ 977 of ." Case of 977 " endof
+ 978 of ." Case of 978 " endof
+ 979 of ." Case of 979 " endof
+ 980 of ." Case of 980 " endof
+ 981 of ." Case of 981 " endof
+ 982 of ." Case of 982 " endof
+ 983 of ." Case of 983 " endof
+ 984 of ." Case of 984 " endof
+ 985 of ." Case of 985 " endof
+ 986 of ." Case of 986 " endof
+ 987 of ." Case of 987 " endof
+ 988 of ." Case of 988 " endof
+ 989 of ." Case of 989 " endof
+ 990 of ." Case of 990 " endof
+ 991 of ." Case of 991 " endof
+ 992 of ." Case of 992 " endof
+ 993 of ." Case of 993 " endof
+ 994 of ." Case of 994 " endof
+ 995 of ." Case of 995 " endof
+ 996 of ." Case of 996 " endof
+ 997 of ." Case of 997 " endof
+ 998 of ." Case of 998 " endof
+ 999 of ." Case of 999 " endof
+ 1000 of ." Case of 1000 " endof
+ 1001 of ." Case of 1001 " endof
+ 1002 of ." Case of 1002 " endof
+ 1003 of ." Case of 1003 " endof
+ 1004 of ." Case of 1004 " endof
+ 1005 of ." Case of 1005 " endof
+ 1006 of ." Case of 1006 " endof
+ 1007 of ." Case of 1007 " endof
+ 1008 of ." Case of 1008 " endof
+ 1009 of ." Case of 1009 " endof
+ 1010 of ." Case of 1010 " endof
+ 1011 of ." Case of 1011 " endof
+ 1012 of ." Case of 1012 " endof
+ 1013 of ." Case of 1013 " endof
+ 1014 of ." Case of 1014 " endof
+ 1015 of ." Case of 1015 " endof
+ 1016 of ." Case of 1016 " endof
+ 1017 of ." Case of 1017 " endof
+ 1018 of ." Case of 1018 " endof
+ 1019 of ." Case of 1019 " endof
+ 1020 of ." Case of 1020 " endof
+ 1021 of ." Case of 1021 " endof
+ 1022 of ." Case of 1022 " endof
+ 1023 of ." Case of 1023 " endof
+ 1024 of ." Case of 1024 " endof
+ 1025 of ." Case of 1025 " endof
+ 1026 of ." Case of 1026 " endof
+ 1027 of ." Case of 1027 " endof
+ 1028 of ." Case of 1028 " endof
+ 1029 of ." Case of 1029 " endof
+ 1030 of ." Case of 1030 " endof
+ 1031 of ." Case of 1031 " endof
+ 1032 of ." Case of 1032 " endof
+ 1033 of ." Case of 1033 " endof
+ 1034 of ." Case of 1034 " endof
+ 1035 of ." Case of 1035 " endof
+ 1036 of ." Case of 1036 " endof
+ 1037 of ." Case of 1037 " endof
+ 1038 of ." Case of 1038 " endof
+ 1039 of ." Case of 1039 " endof
+ 1040 of ." Case of 1040 " endof
+ 1041 of ." Case of 1041 " endof
+ 1042 of ." Case of 1042 " endof
+ 1043 of ." Case of 1043 " endof
+ 1044 of ." Case of 1044 " endof
+ 1045 of ." Case of 1045 " endof
+ 1046 of ." Case of 1046 " endof
+ 1047 of ." Case of 1047 " endof
+ 1048 of ." Case of 1048 " endof
+ 1049 of ." Case of 1049 " endof
+ 1050 of ." Case of 1050 " endof
+ 1051 of ." Case of 1051 " endof
+ 1052 of ." Case of 1052 " endof
+ 1053 of ." Case of 1053 " endof
+ 1054 of ." Case of 1054 " endof
+ 1055 of ." Case of 1055 " endof
+ 1056 of ." Case of 1056 " endof
+ 1057 of ." Case of 1057 " endof
+ 1058 of ." Case of 1058 " endof
+ 1059 of ." Case of 1059 " endof
+ 1060 of ." Case of 1060 " endof
+ 1061 of ." Case of 1061 " endof
+ 1062 of ." Case of 1062 " endof
+ 1063 of ." Case of 1063 " endof
+ 1064 of ." Case of 1064 " endof
+ 1065 of ." Case of 1065 " endof
+ 1066 of ." Case of 1066 " endof
+ 1067 of ." Case of 1067 " endof
+ 1068 of ." Case of 1068 " endof
+ 1069 of ." Case of 1069 " endof
+ 1070 of ." Case of 1070 " endof
+ 1071 of ." Case of 1071 " endof
+ 1072 of ." Case of 1072 " endof
+ 1073 of ." Case of 1073 " endof
+ 1074 of ." Case of 1074 " endof
+ 1075 of ." Case of 1075 " endof
+ 1076 of ." Case of 1076 " endof
+ 1077 of ." Case of 1077 " endof
+ 1078 of ." Case of 1078 " endof
+ 1079 of ." Case of 1079 " endof
+ 1080 of ." Case of 1080 " endof
+ 1081 of ." Case of 1081 " endof
+ 1082 of ." Case of 1082 " endof
+ 1083 of ." Case of 1083 " endof
+ 1084 of ." Case of 1084 " endof
+ 1085 of ." Case of 1085 " endof
+ 1086 of ." Case of 1086 " endof
+ 1087 of ." Case of 1087 " endof
+ 1088 of ." Case of 1088 " endof
+ 1089 of ." Case of 1089 " endof
+ 1090 of ." Case of 1090 " endof
+ 1091 of ." Case of 1091 " endof
+ 1092 of ." Case of 1092 " endof
+ 1093 of ." Case of 1093 " endof
+ 1094 of ." Case of 1094 " endof
+ 1095 of ." Case of 1095 " endof
+ 1096 of ." Case of 1096 " endof
+ 1097 of ." Case of 1097 " endof
+ 1098 of ." Case of 1098 " endof
+ 1099 of ." Case of 1099 " endof
+ 1100 of ." Case of 1100 " endof
+ 1101 of ." Case of 1101 " endof
+ 1102 of ." Case of 1102 " endof
+ 1103 of ." Case of 1103 " endof
+ 1104 of ." Case of 1104 " endof
+ 1105 of ." Case of 1105 " endof
+ 1106 of ." Case of 1106 " endof
+ 1107 of ." Case of 1107 " endof
+ 1108 of ." Case of 1108 " endof
+ 1109 of ." Case of 1109 " endof
+ 1110 of ." Case of 1110 " endof
+ 1111 of ." Case of 1111 " endof
+ 1112 of ." Case of 1112 " endof
+ 1113 of ." Case of 1113 " endof
+ 1114 of ." Case of 1114 " endof
+ 1115 of ." Case of 1115 " endof
+ 1116 of ." Case of 1116 " endof
+ 1117 of ." Case of 1117 " endof
+ 1118 of ." Case of 1118 " endof
+ 1119 of ." Case of 1119 " endof
+ 1120 of ." Case of 1120 " endof
+ 1121 of ." Case of 1121 " endof
+ 1122 of ." Case of 1122 " endof
+ 1123 of ." Case of 1123 " endof
+ 1124 of ." Case of 1124 " endof
+ 1125 of ." Case of 1125 " endof
+ 1126 of ." Case of 1126 " endof
+ 1127 of ." Case of 1127 " endof
+ 1128 of ." Case of 1128 " endof
+ 1129 of ." Case of 1129 " endof
+ 1130 of ." Case of 1130 " endof
+ 1131 of ." Case of 1131 " endof
+ 1132 of ." Case of 1132 " endof
+ 1133 of ." Case of 1133 " endof
+ 1134 of ." Case of 1134 " endof
+ 1135 of ." Case of 1135 " endof
+ 1136 of ." Case of 1136 " endof
+ 1137 of ." Case of 1137 " endof
+ 1138 of ." Case of 1138 " endof
+ 1139 of ." Case of 1139 " endof
+ 1140 of ." Case of 1140 " endof
+ 1141 of ." Case of 1141 " endof
+ 1142 of ." Case of 1142 " endof
+ 1143 of ." Case of 1143 " endof
+ 1144 of ." Case of 1144 " endof
+ 1145 of ." Case of 1145 " endof
+ 1146 of ." Case of 1146 " endof
+ 1147 of ." Case of 1147 " endof
+ 1148 of ." Case of 1148 " endof
+ 1149 of ." Case of 1149 " endof
+ 1150 of ." Case of 1150 " endof
+ 1151 of ." Case of 1151 " endof
+ 1152 of ." Case of 1152 " endof
+ 1153 of ." Case of 1153 " endof
+ 1154 of ." Case of 1154 " endof
+ 1155 of ." Case of 1155 " endof
+ 1156 of ." Case of 1156 " endof
+ 1157 of ." Case of 1157 " endof
+ 1158 of ." Case of 1158 " endof
+ 1159 of ." Case of 1159 " endof
+ 1160 of ." Case of 1160 " endof
+ 1161 of ." Case of 1161 " endof
+ 1162 of ." Case of 1162 " endof
+ 1163 of ." Case of 1163 " endof
+ 1164 of ." Case of 1164 " endof
+ 1165 of ." Case of 1165 " endof
+ 1166 of ." Case of 1166 " endof
+ 1167 of ." Case of 1167 " endof
+ 1168 of ." Case of 1168 " endof
+ 1169 of ." Case of 1169 " endof
+ 1170 of ." Case of 1170 " endof
+ 1171 of ." Case of 1171 " endof
+ 1172 of ." Case of 1172 " endof
+ 1173 of ." Case of 1173 " endof
+ 1174 of ." Case of 1174 " endof
+ 1175 of ." Case of 1175 " endof
+ 1176 of ." Case of 1176 " endof
+ 1177 of ." Case of 1177 " endof
+ 1178 of ." Case of 1178 " endof
+ 1179 of ." Case of 1179 " endof
+ 1180 of ." Case of 1180 " endof
+ 1181 of ." Case of 1181 " endof
+ 1182 of ." Case of 1182 " endof
+ 1183 of ." Case of 1183 " endof
+ 1184 of ." Case of 1184 " endof
+ 1185 of ." Case of 1185 " endof
+ 1186 of ." Case of 1186 " endof
+ 1187 of ." Case of 1187 " endof
+ 1188 of ." Case of 1188 " endof
+ 1189 of ." Case of 1189 " endof
+ 1190 of ." Case of 1190 " endof
+ 1191 of ." Case of 1191 " endof
+ 1192 of ." Case of 1192 " endof
+ 1193 of ." Case of 1193 " endof
+ 1194 of ." Case of 1194 " endof
+ 1195 of ." Case of 1195 " endof
+ 1196 of ." Case of 1196 " endof
+ 1197 of ." Case of 1197 " endof
+ 1198 of ." Case of 1198 " endof
+ 1199 of ." Case of 1199 " endof
+ 1200 of ." Case of 1200 " endof
+ 1201 of ." Case of 1201 " endof
+ 1202 of ." Case of 1202 " endof
+ 1203 of ." Case of 1203 " endof
+ 1204 of ." Case of 1204 " endof
+ 1205 of ." Case of 1205 " endof
+ 1206 of ." Case of 1206 " endof
+ 1207 of ." Case of 1207 " endof
+ 1208 of ." Case of 1208 " endof
+ 1209 of ." Case of 1209 " endof
+ 1210 of ." Case of 1210 " endof
+ 1211 of ." Case of 1211 " endof
+ 1212 of ." Case of 1212 " endof
+ 1213 of ." Case of 1213 " endof
+ 1214 of ." Case of 1214 " endof
+ 1215 of ." Case of 1215 " endof
+ 1216 of ." Case of 1216 " endof
+ 1217 of ." Case of 1217 " endof
+ 1218 of ." Case of 1218 " endof
+ 1219 of ." Case of 1219 " endof
+ 1220 of ." Case of 1220 " endof
+ 1221 of ." Case of 1221 " endof
+ 1222 of ." Case of 1222 " endof
+ 1223 of ." Case of 1223 " endof
+ 1224 of ." Case of 1224 " endof
+ 1225 of ." Case of 1225 " endof
+ 1226 of ." Case of 1226 " endof
+ 1227 of ." Case of 1227 " endof
+ 1228 of ." Case of 1228 " endof
+ 1229 of ." Case of 1229 " endof
+ 1230 of ." Case of 1230 " endof
+ 1231 of ." Case of 1231 " endof
+ 1232 of ." Case of 1232 " endof
+ 1233 of ." Case of 1233 " endof
+ 1234 of ." Case of 1234 " endof
+ 1235 of ." Case of 1235 " endof
+ 1236 of ." Case of 1236 " endof
+ 1237 of ." Case of 1237 " endof
+ 1238 of ." Case of 1238 " endof
+ 1239 of ." Case of 1239 " endof
+ 1240 of ." Case of 1240 " endof
+ 1241 of ." Case of 1241 " endof
+ 1242 of ." Case of 1242 " endof
+ 1243 of ." Case of 1243 " endof
+ 1244 of ." Case of 1244 " endof
+ 1245 of ." Case of 1245 " endof
+ 1246 of ." Case of 1246 " endof
+ 1247 of ." Case of 1247 " endof
+ 1248 of ." Case of 1248 " endof
+ 1249 of ." Case of 1249 " endof
+ 1250 of ." Case of 1250 " endof
+ 1251 of ." Case of 1251 " endof
+ 1252 of ." Case of 1252 " endof
+ 1253 of ." Case of 1253 " endof
+ 1254 of ." Case of 1254 " endof
+ 1255 of ." Case of 1255 " endof
+ \ default
+ ." Ran out of cases. Number is " dup .
+ endcase
Added: fcode-utils/testsuite/TokeErrs/TooLargePMessage.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargePMessage.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargePMessage.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,19 @@
+\ Test a Paren-Message that is not terminated at all and the number
+\ of characters until the end of file exceeds the buffer.
+\ A Paren-Message does not have the string-escape sequences.
+\ Enter Tokenizer-escape mode
+\ then define the required test-token as alias to .(
+\ and FLOAD the test-body file.
+
+\ Updated Tue, 09 May 2006 at 10:52 PDT by David L. Paktor
+
+headers
+global-definitions
+ f[
+
+alias test-token .(
+
+ fload LargeTextNoQte.fth
+
+ ]f
+
Added: fcode-utils/testsuite/TokeErrs/TooLargePQuote.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargePQuote.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargePQuote.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,22 @@
+\ Test a P-Quote that is not terminated at all and the number
+\ of characters until the end of file exceeds the buffer.
+\ A P-Quote has the string-escape sequences.
+\ Define the required test-token as alias to ."
+\ then FLOAD the test-body file.
+
+\ Updated Tue, 09 May 2006 at 10:52 PDT by David L. Paktor
+
+global-definitions
+alias test-token ."
+
+fcode-version2
+
+headers
+
+
+: foobar
+ fload LargeTextNoQte.fth
+;
+
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooLargeParen.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeParen.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeParen.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,22 @@
+\ Test a Parenthesis-Comment that is not terminated at all and the number
+\ of characters until the end of file exceeds the buffer.
+\ Define the required test-token as alias to (
+\ then FLOAD the test-body file.
+
+\ Updated Wed, 10 May 2006 at 10:43 PDT by David L. Paktor
+
+
+global-definitions
+alias test-token (
+
+fcode-version2
+
+headers
+
+
+: foobar
+ fload LargeTextNoQte.fth
+;
+
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooLargeQAbort.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeQAbort.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeQAbort.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,34 @@
+\ Test an Abort-Quote whose body is not terminated at all and the number
+\ of characters until the end of file exceeds the buffer.
+\ Abort-Quote may be dis-allowed. This test allows it.
+\ Define the required test-token as alias to abort"
+\ then FLOAD the test-body file.
+
+\ Updated Wed, 10 May 2006 at 11:41 PDT by David L. Paktor
+
+\ Align with counterpart...
+
+global-definitions
+alias test-token abort"
+
+fcode-version2
+
+headers
+
+: barfalot
+ true
+ fload LargeTextNoQte.fth
+;
+
+\ Let's also see how a disallowed abort" is handled when the string is
+\ legit but crosses several lines
+: ohfooey!
+ true
+ #message" The abort"" starts here." abort" This ... "\
+ is another fine mess "\
+ you've gotten me into. "\
+ Or is it a kettle of fish?"
+;
+
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooLargeQMessage.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeQMessage.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeQMessage.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,16 @@
+\ Test a Quote-Message that is not terminated at all and the number
+\ of characters until the end of file exceeds the buffer.
+\ A Quote-Message has the string-escape sequences.
+\ Define the required test-token as alias to #message"
+\ then FLOAD the test-body file.
+
+\ Updated Tue, 09 May 2006 at 10:52 PDT by David L. Paktor
+
+global-definitions
+alias test-token #message"
+
+
+headers
+
+ fload LargeTextNoQte.fth
+
Added: fcode-utils/testsuite/TokeErrs/TooLargeQNoAbort.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeQNoAbort.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeQNoAbort.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,34 @@
+\ Test an Abort-Quote whose body is not terminated at all and the number
+\ of characters until the end of file exceeds the buffer.
+\ Abort-Quote may be dis-allowed. It is dis-allowed in this test.
+\ Define the required test-token as alias to abort"
+\ then FLOAD the test-body file.
+
+\ Updated Wed, 10 May 2006 at 11:41 PDT by David L. Paktor
+
+[flag] noABORT-Quote
+
+global-definitions
+alias test-token abort"
+
+fcode-version2
+
+headers
+
+: barfalot
+ true
+ fload LargeTextNoQte.fth
+;
+
+\ Let's also see how a disallowed abort" is handled when the string is
+\ legit but crosses several lines
+: ohfooey!
+ true
+ #message" The abort"" starts here." abort" This ... "\
+ is another fine mess "\
+ you've gotten me into. "\
+ Or is it a kettle of fish?"
+;
+
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooLargeSQuote.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooLargeSQuote.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooLargeSQuote.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,22 @@
+\ Test an Ess-Quote that is not terminated at all and the number
+\ of characters until the end of file exceeds the buffer.
+\ An Ess-Quote does not have the string-escape sequences.
+\ Define the required test-token as alias to S"
+\ then FLOAD the test-body file.
+
+\ Updated Tue, 09 May 2006 at 10:52 PDT by David L. Paktor
+
+global-definitions
+alias test-token S"
+
+fcode-version2
+
+headers
+
+
+: foobar
+ fload LargeTextNoQte.fth
+;
+
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooManyFCodes.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooManyFCodes.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooManyFCodes.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,145 @@
+\ Test overlapping FCode # error checking, and reaching the max allowable.
+
+\ Updated Wed, 14 Jun 2006 at 12:54 PDT by David L. Paktor
+
+\ A macro to force showing the current nextfcode
+global-definitions
+ [macro] show-next-fcode fcode-push [if] [then] #message" ... and dropped off."
+ [ifnexist] fcode-reset
+ [macro] fcode-reset #message" Faking FCODE-RESET" f[ h# 800 next-fcode ]f
+ [endif]
+device-definitions
+
+fcode-version2
+
+decimal
+headers
+ show-next-fcode
+
+0 constant my_zero
+fload OneTwoFive.fth
+ fcode-push
+#message" one_twenty-six" 126 constant one_hundred_and_twenty-six
+#message" one_twenty-seven" 127 constant one_hundred_and_twenty-seven
+#message" one_twenty-eight" 128 constant one_hundred_and_twenty-eight
+
+ show-next-fcode
+
+ new-device
+ fcode-reset
+ 0 constant my_zero
+ fload OneTwoFive.fth
+ #message" one_twenty-six" 126 constant one_hundred_and_twenty-six
+ #message" one_twenty-seven" 127 constant one_hundred_and_twenty-seven
+ #message" one_twenty-eight" 128 constant one_hundred_and_twenty-eight
+
+ show-next-fcode
+ finish-device
+
+ new-device
+ f[ h# 08c0 next-fcode ]f
+ 0 constant my_zero
+ fload OneTwoFive.fth
+ f[ fcode-push constant dev-1-lap ]f
+ #message" one_twenty-six" 126 constant one_hundred_and_twenty-six
+ #message" one_twenty-seven" 127 constant one_hundred_and_twenty-seven
+ #message" one_twenty-eight" 128 constant one_hundred_and_twenty-eight
+ show-next-fcode
+ finish-device
+
+ new-device
+ fcode-pop
+ 0 constant my_zero
+ fload OneTwoFive.fth
+ f[ fcode-push constant dev-2-lap ]f
+ #message" one_twenty-six" 126 constant one_hundred_and_twenty-six
+ #message" one_twenty-seven" 127 constant one_hundred_and_twenty-seven
+ #message" one_twenty-eight" 128 constant one_hundred_and_twenty-eight
+ show-next-fcode
+ finish-device
+
+fcode-push \ Can we do this across FCode Blocks?
+\ And, if we can't, can we preserve it this way?
+f[ constant XFcBlkFcd
+ XFcBlkFcd \ Push it back...
+ ]f
+
+ new-device
+ f[ dev-1-lap next-fcode ]f
+ 0 constant my_zero
+ fload OneTwoFive.fth
+ fcode-push
+ #message" one_twenty-six" 126 constant one_hundred_and_twenty-six
+ fcode-pop
+ #message" one_twenty-seven" 127 constant one_hundred_and_twenty-seven
+ finish-device
+ show-next-fcode
+
+fcode-end
+
+\ Have to redefine these...
+global-definitions
+ [macro] show-next-fcode fcode-push [if] [then] #message" ... and dropped off."
+ [ifnexist] fcode-reset
+ [macro] fcode-reset #message" Faking FCODE-RESET" f[ h# 800 next-fcode ]f
+ [endif]
+device-definitions
+
+fcode-version2
+ \ Confirm that the FCode numbers continue across FCode Blocks
+ show-next-fcode
+ #message" one_twenty-eight" 128 constant one_hundred_and_twenty-eight
+
+\ Let's confirm that the reset clears out the lapping messages.
+ new-device
+ \ This is not a reset:
+ f[ h# 800 next-fcode ]f
+ 0 constant my_zero
+
+ \ This is:
+ fcode-reset
+ fload OneTwoFive.fth
+
+ finish-device
+
+\ Can we use what we pushed on the other side of the block?
+f[ constant wanna-pop
+ wanna-pop fcode-pop wanna-pop 0=
+ \ Did it succeed? If not, there's no point...
+ ]f [if]
+ #message" Could not use FCode pushed on other side of block"
+ #message" Try this... " f[ XFcBlkFcd fcode-pop ]f
+
+ [else] \ It sucked seed!
+ new-device
+ 0 constant my_zero
+ fload OneTwoFive.fth
+ show-next-fcode
+ finish-device
+ [endif]
+
+\ Final run: Exceed the FCode # limit and crash.
+\ Rather than load all the numbers from the start,
+\ let's get a jump on the FCode # assignments.
+f[ h# f80 next-fcode ]f
+
+\ Get all but the last few...
+
+0 constant my_zero
+fload OneTwoFive.fth
+
+ show-next-fcode
+#message" one_twenty-six" 126 constant one_hundred_and_twenty-six
+ show-next-fcode
+#message" one_twenty-seven" 127 constant one_hundred_and_twenty-seven
+ show-next-fcode
+
+\ This next one pushes the FCode # over the limit and causes a crash.
+\ Let's leave ourselves a way around that, so we can use this in other ways
+\ Allow a command-line symbol called nocrash to prevent this.
+[ifndef] NoCrash
+ #message" one_twenty-eight" 128 constant one_hundred_and_twenty-eight
+ show-next-fcode
+[endif]
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooTooLargeBuffer.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooTooLargeBuffer.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooTooLargeBuffer.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,58 @@
+\ Test case, not only of a branch going over too, too large a range
+\ but also of overflowing the output buffer
+\ Body generated by the same script used for the too-large branch test,
+\ but with much larger arguments.
+\ (Argument of 924 just does it.)
+
+fcode-version2 \ Sixteen-bit offsets.
+
+headers
+
+: too-large-case ( n -- )
+
+ ." Let's give it a large back-reference too."
+ begin ." We've just begun"
+ ." 1 0 do " cr 1 0 do
+ dup ." if " cr
+ if
+ dup ." case"
+ case
+ 0 of ." Just a short case" cr endof
+ ." default. The Big One!" cr
+
+ fload TooTooLargeBuffer_body.fth
+
+ endcase
+ ." then"
+ then
+ ." Loop back and forward" cr loop
+
+ ." And here we are!"
+ exit
+ ." Well, we needed some way out!"
+
+ again ." Back to the fuchsia."
+;
+
+\ Let's make a small jump, just to see what normal looks like
+: control-example
+ ." Small non-loop"
+ begin ." Here's the beguine"
+
+ dup ." if "
+ if
+ dup ." case"
+ case
+ 0 of ." Just a short case" cr endof
+ ." default. Normal one!" cr
+ endcase
+ ." then"
+ then
+
+ ." and the way out"
+ exit
+ ." and the jump back"
+ again ." Never do this" cr
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/TooTooLargeBuffer_body.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/TooTooLargeBuffer_body.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/TooTooLargeBuffer_body.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,3698 @@
+." Oh, 924 Bottles of Beer on the wall," cr
+." 924 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 923 Bottles of Beer on the wall." cr
+." Oh, 923 Bottles of Beer on the wall," cr
+." 923 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 922 Bottles of Beer on the wall." cr
+." Oh, 922 Bottles of Beer on the wall," cr
+." 922 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 921 Bottles of Beer on the wall." cr
+." Oh, 921 Bottles of Beer on the wall," cr
+." 921 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 920 Bottles of Beer on the wall." cr
+." Oh, 920 Bottles of Beer on the wall," cr
+." 920 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 919 Bottles of Beer on the wall." cr
+." Oh, 919 Bottles of Beer on the wall," cr
+." 919 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 918 Bottles of Beer on the wall." cr
+." Oh, 918 Bottles of Beer on the wall," cr
+." 918 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 917 Bottles of Beer on the wall." cr
+." Oh, 917 Bottles of Beer on the wall," cr
+." 917 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 916 Bottles of Beer on the wall." cr
+." Oh, 916 Bottles of Beer on the wall," cr
+." 916 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 915 Bottles of Beer on the wall." cr
+." Oh, 915 Bottles of Beer on the wall," cr
+." 915 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 914 Bottles of Beer on the wall." cr
+." Oh, 914 Bottles of Beer on the wall," cr
+." 914 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 913 Bottles of Beer on the wall." cr
+." Oh, 913 Bottles of Beer on the wall," cr
+." 913 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 912 Bottles of Beer on the wall." cr
+." Oh, 912 Bottles of Beer on the wall," cr
+." 912 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 911 Bottles of Beer on the wall." cr
+." Oh, 911 Bottles of Beer on the wall," cr
+." 911 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 910 Bottles of Beer on the wall." cr
+." Oh, 910 Bottles of Beer on the wall," cr
+." 910 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 909 Bottles of Beer on the wall." cr
+." Oh, 909 Bottles of Beer on the wall," cr
+." 909 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 908 Bottles of Beer on the wall." cr
+." Oh, 908 Bottles of Beer on the wall," cr
+." 908 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 907 Bottles of Beer on the wall." cr
+." Oh, 907 Bottles of Beer on the wall," cr
+." 907 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 906 Bottles of Beer on the wall." cr
+." Oh, 906 Bottles of Beer on the wall," cr
+." 906 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 905 Bottles of Beer on the wall." cr
+." Oh, 905 Bottles of Beer on the wall," cr
+." 905 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 904 Bottles of Beer on the wall." cr
+." Oh, 904 Bottles of Beer on the wall," cr
+." 904 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 903 Bottles of Beer on the wall." cr
+." Oh, 903 Bottles of Beer on the wall," cr
+." 903 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 902 Bottles of Beer on the wall." cr
+." Oh, 902 Bottles of Beer on the wall," cr
+." 902 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 901 Bottles of Beer on the wall." cr
+." Oh, 901 Bottles of Beer on the wall," cr
+." 901 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 900 Bottles of Beer on the wall." cr
+." Oh, 900 Bottles of Beer on the wall," cr
+." 900 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 899 Bottles of Beer on the wall." cr
+." Oh, 899 Bottles of Beer on the wall," cr
+." 899 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 898 Bottles of Beer on the wall." cr
+." Oh, 898 Bottles of Beer on the wall," cr
+." 898 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 897 Bottles of Beer on the wall." cr
+." Oh, 897 Bottles of Beer on the wall," cr
+." 897 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 896 Bottles of Beer on the wall." cr
+." Oh, 896 Bottles of Beer on the wall," cr
+." 896 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 895 Bottles of Beer on the wall." cr
+." Oh, 895 Bottles of Beer on the wall," cr
+." 895 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 894 Bottles of Beer on the wall." cr
+." Oh, 894 Bottles of Beer on the wall," cr
+." 894 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 893 Bottles of Beer on the wall." cr
+." Oh, 893 Bottles of Beer on the wall," cr
+." 893 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 892 Bottles of Beer on the wall." cr
+." Oh, 892 Bottles of Beer on the wall," cr
+." 892 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 891 Bottles of Beer on the wall." cr
+." Oh, 891 Bottles of Beer on the wall," cr
+." 891 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 890 Bottles of Beer on the wall." cr
+." Oh, 890 Bottles of Beer on the wall," cr
+." 890 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 889 Bottles of Beer on the wall." cr
+." Oh, 889 Bottles of Beer on the wall," cr
+." 889 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 888 Bottles of Beer on the wall." cr
+." Oh, 888 Bottles of Beer on the wall," cr
+." 888 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 887 Bottles of Beer on the wall." cr
+." Oh, 887 Bottles of Beer on the wall," cr
+." 887 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 886 Bottles of Beer on the wall." cr
+." Oh, 886 Bottles of Beer on the wall," cr
+." 886 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 885 Bottles of Beer on the wall." cr
+." Oh, 885 Bottles of Beer on the wall," cr
+." 885 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 884 Bottles of Beer on the wall." cr
+." Oh, 884 Bottles of Beer on the wall," cr
+." 884 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 883 Bottles of Beer on the wall." cr
+." Oh, 883 Bottles of Beer on the wall," cr
+." 883 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 882 Bottles of Beer on the wall." cr
+." Oh, 882 Bottles of Beer on the wall," cr
+." 882 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 881 Bottles of Beer on the wall." cr
+." Oh, 881 Bottles of Beer on the wall," cr
+." 881 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 880 Bottles of Beer on the wall." cr
+." Oh, 880 Bottles of Beer on the wall," cr
+." 880 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 879 Bottles of Beer on the wall." cr
+." Oh, 879 Bottles of Beer on the wall," cr
+." 879 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 878 Bottles of Beer on the wall." cr
+." Oh, 878 Bottles of Beer on the wall," cr
+." 878 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 877 Bottles of Beer on the wall." cr
+." Oh, 877 Bottles of Beer on the wall," cr
+." 877 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 876 Bottles of Beer on the wall." cr
+." Oh, 876 Bottles of Beer on the wall," cr
+." 876 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 875 Bottles of Beer on the wall." cr
+." Oh, 875 Bottles of Beer on the wall," cr
+." 875 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 874 Bottles of Beer on the wall." cr
+." Oh, 874 Bottles of Beer on the wall," cr
+." 874 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 873 Bottles of Beer on the wall." cr
+." Oh, 873 Bottles of Beer on the wall," cr
+." 873 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 872 Bottles of Beer on the wall." cr
+." Oh, 872 Bottles of Beer on the wall," cr
+." 872 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 871 Bottles of Beer on the wall." cr
+." Oh, 871 Bottles of Beer on the wall," cr
+." 871 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 870 Bottles of Beer on the wall." cr
+." Oh, 870 Bottles of Beer on the wall," cr
+." 870 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 869 Bottles of Beer on the wall." cr
+." Oh, 869 Bottles of Beer on the wall," cr
+." 869 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 868 Bottles of Beer on the wall." cr
+." Oh, 868 Bottles of Beer on the wall," cr
+." 868 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 867 Bottles of Beer on the wall." cr
+." Oh, 867 Bottles of Beer on the wall," cr
+." 867 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 866 Bottles of Beer on the wall." cr
+." Oh, 866 Bottles of Beer on the wall," cr
+." 866 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 865 Bottles of Beer on the wall." cr
+." Oh, 865 Bottles of Beer on the wall," cr
+." 865 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 864 Bottles of Beer on the wall." cr
+." Oh, 864 Bottles of Beer on the wall," cr
+." 864 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 863 Bottles of Beer on the wall." cr
+." Oh, 863 Bottles of Beer on the wall," cr
+." 863 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 862 Bottles of Beer on the wall." cr
+." Oh, 862 Bottles of Beer on the wall," cr
+." 862 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 861 Bottles of Beer on the wall." cr
+." Oh, 861 Bottles of Beer on the wall," cr
+." 861 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 860 Bottles of Beer on the wall." cr
+." Oh, 860 Bottles of Beer on the wall," cr
+." 860 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 859 Bottles of Beer on the wall." cr
+." Oh, 859 Bottles of Beer on the wall," cr
+." 859 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 858 Bottles of Beer on the wall." cr
+." Oh, 858 Bottles of Beer on the wall," cr
+." 858 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 857 Bottles of Beer on the wall." cr
+." Oh, 857 Bottles of Beer on the wall," cr
+." 857 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 856 Bottles of Beer on the wall." cr
+." Oh, 856 Bottles of Beer on the wall," cr
+." 856 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 855 Bottles of Beer on the wall." cr
+." Oh, 855 Bottles of Beer on the wall," cr
+." 855 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 854 Bottles of Beer on the wall." cr
+." Oh, 854 Bottles of Beer on the wall," cr
+." 854 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 853 Bottles of Beer on the wall." cr
+." Oh, 853 Bottles of Beer on the wall," cr
+." 853 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 852 Bottles of Beer on the wall." cr
+." Oh, 852 Bottles of Beer on the wall," cr
+." 852 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 851 Bottles of Beer on the wall." cr
+." Oh, 851 Bottles of Beer on the wall," cr
+." 851 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 850 Bottles of Beer on the wall." cr
+." Oh, 850 Bottles of Beer on the wall," cr
+." 850 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 849 Bottles of Beer on the wall." cr
+." Oh, 849 Bottles of Beer on the wall," cr
+." 849 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 848 Bottles of Beer on the wall." cr
+." Oh, 848 Bottles of Beer on the wall," cr
+." 848 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 847 Bottles of Beer on the wall." cr
+." Oh, 847 Bottles of Beer on the wall," cr
+." 847 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 846 Bottles of Beer on the wall." cr
+." Oh, 846 Bottles of Beer on the wall," cr
+." 846 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 845 Bottles of Beer on the wall." cr
+." Oh, 845 Bottles of Beer on the wall," cr
+." 845 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 844 Bottles of Beer on the wall." cr
+." Oh, 844 Bottles of Beer on the wall," cr
+." 844 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 843 Bottles of Beer on the wall." cr
+." Oh, 843 Bottles of Beer on the wall," cr
+." 843 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 842 Bottles of Beer on the wall." cr
+." Oh, 842 Bottles of Beer on the wall," cr
+." 842 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 841 Bottles of Beer on the wall." cr
+." Oh, 841 Bottles of Beer on the wall," cr
+." 841 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 840 Bottles of Beer on the wall." cr
+." Oh, 840 Bottles of Beer on the wall," cr
+." 840 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 839 Bottles of Beer on the wall." cr
+." Oh, 839 Bottles of Beer on the wall," cr
+." 839 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 838 Bottles of Beer on the wall." cr
+." Oh, 838 Bottles of Beer on the wall," cr
+." 838 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 837 Bottles of Beer on the wall." cr
+." Oh, 837 Bottles of Beer on the wall," cr
+." 837 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 836 Bottles of Beer on the wall." cr
+." Oh, 836 Bottles of Beer on the wall," cr
+." 836 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 835 Bottles of Beer on the wall." cr
+." Oh, 835 Bottles of Beer on the wall," cr
+." 835 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 834 Bottles of Beer on the wall." cr
+." Oh, 834 Bottles of Beer on the wall," cr
+." 834 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 833 Bottles of Beer on the wall." cr
+." Oh, 833 Bottles of Beer on the wall," cr
+." 833 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 832 Bottles of Beer on the wall." cr
+." Oh, 832 Bottles of Beer on the wall," cr
+." 832 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 831 Bottles of Beer on the wall." cr
+." Oh, 831 Bottles of Beer on the wall," cr
+." 831 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 830 Bottles of Beer on the wall." cr
+." Oh, 830 Bottles of Beer on the wall," cr
+." 830 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 829 Bottles of Beer on the wall." cr
+." Oh, 829 Bottles of Beer on the wall," cr
+." 829 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 828 Bottles of Beer on the wall." cr
+." Oh, 828 Bottles of Beer on the wall," cr
+." 828 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 827 Bottles of Beer on the wall." cr
+." Oh, 827 Bottles of Beer on the wall," cr
+." 827 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 826 Bottles of Beer on the wall." cr
+." Oh, 826 Bottles of Beer on the wall," cr
+." 826 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 825 Bottles of Beer on the wall." cr
+." Oh, 825 Bottles of Beer on the wall," cr
+." 825 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 824 Bottles of Beer on the wall." cr
+." Oh, 824 Bottles of Beer on the wall," cr
+." 824 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 823 Bottles of Beer on the wall." cr
+." Oh, 823 Bottles of Beer on the wall," cr
+." 823 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 822 Bottles of Beer on the wall." cr
+." Oh, 822 Bottles of Beer on the wall," cr
+." 822 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 821 Bottles of Beer on the wall." cr
+." Oh, 821 Bottles of Beer on the wall," cr
+." 821 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 820 Bottles of Beer on the wall." cr
+." Oh, 820 Bottles of Beer on the wall," cr
+." 820 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 819 Bottles of Beer on the wall." cr
+." Oh, 819 Bottles of Beer on the wall," cr
+." 819 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 818 Bottles of Beer on the wall." cr
+." Oh, 818 Bottles of Beer on the wall," cr
+." 818 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 817 Bottles of Beer on the wall." cr
+." Oh, 817 Bottles of Beer on the wall," cr
+." 817 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 816 Bottles of Beer on the wall." cr
+." Oh, 816 Bottles of Beer on the wall," cr
+." 816 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 815 Bottles of Beer on the wall." cr
+." Oh, 815 Bottles of Beer on the wall," cr
+." 815 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 814 Bottles of Beer on the wall." cr
+." Oh, 814 Bottles of Beer on the wall," cr
+." 814 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 813 Bottles of Beer on the wall." cr
+." Oh, 813 Bottles of Beer on the wall," cr
+." 813 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 812 Bottles of Beer on the wall." cr
+." Oh, 812 Bottles of Beer on the wall," cr
+." 812 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 811 Bottles of Beer on the wall." cr
+." Oh, 811 Bottles of Beer on the wall," cr
+." 811 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 810 Bottles of Beer on the wall." cr
+." Oh, 810 Bottles of Beer on the wall," cr
+." 810 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 809 Bottles of Beer on the wall." cr
+." Oh, 809 Bottles of Beer on the wall," cr
+." 809 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 808 Bottles of Beer on the wall." cr
+." Oh, 808 Bottles of Beer on the wall," cr
+." 808 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 807 Bottles of Beer on the wall." cr
+." Oh, 807 Bottles of Beer on the wall," cr
+." 807 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 806 Bottles of Beer on the wall." cr
+." Oh, 806 Bottles of Beer on the wall," cr
+." 806 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 805 Bottles of Beer on the wall." cr
+." Oh, 805 Bottles of Beer on the wall," cr
+." 805 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 804 Bottles of Beer on the wall." cr
+." Oh, 804 Bottles of Beer on the wall," cr
+." 804 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 803 Bottles of Beer on the wall." cr
+." Oh, 803 Bottles of Beer on the wall," cr
+." 803 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 802 Bottles of Beer on the wall." cr
+." Oh, 802 Bottles of Beer on the wall," cr
+." 802 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 801 Bottles of Beer on the wall." cr
+." Oh, 801 Bottles of Beer on the wall," cr
+." 801 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 800 Bottles of Beer on the wall." cr
+." Oh, 800 Bottles of Beer on the wall," cr
+." 800 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 799 Bottles of Beer on the wall." cr
+." Oh, 799 Bottles of Beer on the wall," cr
+." 799 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 798 Bottles of Beer on the wall." cr
+." Oh, 798 Bottles of Beer on the wall," cr
+." 798 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 797 Bottles of Beer on the wall." cr
+." Oh, 797 Bottles of Beer on the wall," cr
+." 797 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 796 Bottles of Beer on the wall." cr
+." Oh, 796 Bottles of Beer on the wall," cr
+." 796 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 795 Bottles of Beer on the wall." cr
+." Oh, 795 Bottles of Beer on the wall," cr
+." 795 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 794 Bottles of Beer on the wall." cr
+." Oh, 794 Bottles of Beer on the wall," cr
+." 794 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 793 Bottles of Beer on the wall." cr
+." Oh, 793 Bottles of Beer on the wall," cr
+." 793 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 792 Bottles of Beer on the wall." cr
+." Oh, 792 Bottles of Beer on the wall," cr
+." 792 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 791 Bottles of Beer on the wall." cr
+." Oh, 791 Bottles of Beer on the wall," cr
+." 791 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 790 Bottles of Beer on the wall." cr
+." Oh, 790 Bottles of Beer on the wall," cr
+." 790 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 789 Bottles of Beer on the wall." cr
+." Oh, 789 Bottles of Beer on the wall," cr
+." 789 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 788 Bottles of Beer on the wall." cr
+." Oh, 788 Bottles of Beer on the wall," cr
+." 788 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 787 Bottles of Beer on the wall." cr
+." Oh, 787 Bottles of Beer on the wall," cr
+." 787 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 786 Bottles of Beer on the wall." cr
+." Oh, 786 Bottles of Beer on the wall," cr
+." 786 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 785 Bottles of Beer on the wall." cr
+." Oh, 785 Bottles of Beer on the wall," cr
+." 785 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 784 Bottles of Beer on the wall." cr
+." Oh, 784 Bottles of Beer on the wall," cr
+." 784 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 783 Bottles of Beer on the wall." cr
+." Oh, 783 Bottles of Beer on the wall," cr
+." 783 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 782 Bottles of Beer on the wall." cr
+." Oh, 782 Bottles of Beer on the wall," cr
+." 782 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 781 Bottles of Beer on the wall." cr
+." Oh, 781 Bottles of Beer on the wall," cr
+." 781 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 780 Bottles of Beer on the wall." cr
+." Oh, 780 Bottles of Beer on the wall," cr
+." 780 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 779 Bottles of Beer on the wall." cr
+." Oh, 779 Bottles of Beer on the wall," cr
+." 779 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 778 Bottles of Beer on the wall." cr
+." Oh, 778 Bottles of Beer on the wall," cr
+." 778 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 777 Bottles of Beer on the wall." cr
+." Oh, 777 Bottles of Beer on the wall," cr
+." 777 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 776 Bottles of Beer on the wall." cr
+." Oh, 776 Bottles of Beer on the wall," cr
+." 776 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 775 Bottles of Beer on the wall." cr
+." Oh, 775 Bottles of Beer on the wall," cr
+." 775 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 774 Bottles of Beer on the wall." cr
+." Oh, 774 Bottles of Beer on the wall," cr
+." 774 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 773 Bottles of Beer on the wall." cr
+." Oh, 773 Bottles of Beer on the wall," cr
+." 773 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 772 Bottles of Beer on the wall." cr
+." Oh, 772 Bottles of Beer on the wall," cr
+." 772 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 771 Bottles of Beer on the wall." cr
+." Oh, 771 Bottles of Beer on the wall," cr
+." 771 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 770 Bottles of Beer on the wall." cr
+." Oh, 770 Bottles of Beer on the wall," cr
+." 770 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 769 Bottles of Beer on the wall." cr
+." Oh, 769 Bottles of Beer on the wall," cr
+." 769 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 768 Bottles of Beer on the wall." cr
+." Oh, 768 Bottles of Beer on the wall," cr
+." 768 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 767 Bottles of Beer on the wall." cr
+." Oh, 767 Bottles of Beer on the wall," cr
+." 767 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 766 Bottles of Beer on the wall." cr
+." Oh, 766 Bottles of Beer on the wall," cr
+." 766 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 765 Bottles of Beer on the wall." cr
+." Oh, 765 Bottles of Beer on the wall," cr
+." 765 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 764 Bottles of Beer on the wall." cr
+." Oh, 764 Bottles of Beer on the wall," cr
+." 764 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 763 Bottles of Beer on the wall." cr
+." Oh, 763 Bottles of Beer on the wall," cr
+." 763 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 762 Bottles of Beer on the wall." cr
+." Oh, 762 Bottles of Beer on the wall," cr
+." 762 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 761 Bottles of Beer on the wall." cr
+." Oh, 761 Bottles of Beer on the wall," cr
+." 761 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 760 Bottles of Beer on the wall." cr
+." Oh, 760 Bottles of Beer on the wall," cr
+." 760 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 759 Bottles of Beer on the wall." cr
+." Oh, 759 Bottles of Beer on the wall," cr
+." 759 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 758 Bottles of Beer on the wall." cr
+." Oh, 758 Bottles of Beer on the wall," cr
+." 758 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 757 Bottles of Beer on the wall." cr
+." Oh, 757 Bottles of Beer on the wall," cr
+." 757 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 756 Bottles of Beer on the wall." cr
+." Oh, 756 Bottles of Beer on the wall," cr
+." 756 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 755 Bottles of Beer on the wall." cr
+." Oh, 755 Bottles of Beer on the wall," cr
+." 755 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 754 Bottles of Beer on the wall." cr
+." Oh, 754 Bottles of Beer on the wall," cr
+." 754 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 753 Bottles of Beer on the wall." cr
+." Oh, 753 Bottles of Beer on the wall," cr
+." 753 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 752 Bottles of Beer on the wall." cr
+." Oh, 752 Bottles of Beer on the wall," cr
+." 752 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 751 Bottles of Beer on the wall." cr
+." Oh, 751 Bottles of Beer on the wall," cr
+." 751 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 750 Bottles of Beer on the wall." cr
+." Oh, 750 Bottles of Beer on the wall," cr
+." 750 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 749 Bottles of Beer on the wall." cr
+." Oh, 749 Bottles of Beer on the wall," cr
+." 749 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 748 Bottles of Beer on the wall." cr
+." Oh, 748 Bottles of Beer on the wall," cr
+." 748 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 747 Bottles of Beer on the wall." cr
+." Oh, 747 Bottles of Beer on the wall," cr
+." 747 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 746 Bottles of Beer on the wall." cr
+." Oh, 746 Bottles of Beer on the wall," cr
+." 746 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 745 Bottles of Beer on the wall." cr
+." Oh, 745 Bottles of Beer on the wall," cr
+." 745 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 744 Bottles of Beer on the wall." cr
+." Oh, 744 Bottles of Beer on the wall," cr
+." 744 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 743 Bottles of Beer on the wall." cr
+." Oh, 743 Bottles of Beer on the wall," cr
+." 743 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 742 Bottles of Beer on the wall." cr
+." Oh, 742 Bottles of Beer on the wall," cr
+." 742 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 741 Bottles of Beer on the wall." cr
+." Oh, 741 Bottles of Beer on the wall," cr
+." 741 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 740 Bottles of Beer on the wall." cr
+." Oh, 740 Bottles of Beer on the wall," cr
+." 740 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 739 Bottles of Beer on the wall." cr
+." Oh, 739 Bottles of Beer on the wall," cr
+." 739 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 738 Bottles of Beer on the wall." cr
+." Oh, 738 Bottles of Beer on the wall," cr
+." 738 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 737 Bottles of Beer on the wall." cr
+." Oh, 737 Bottles of Beer on the wall," cr
+." 737 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 736 Bottles of Beer on the wall." cr
+." Oh, 736 Bottles of Beer on the wall," cr
+." 736 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 735 Bottles of Beer on the wall." cr
+." Oh, 735 Bottles of Beer on the wall," cr
+." 735 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 734 Bottles of Beer on the wall." cr
+." Oh, 734 Bottles of Beer on the wall," cr
+." 734 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 733 Bottles of Beer on the wall." cr
+." Oh, 733 Bottles of Beer on the wall," cr
+." 733 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 732 Bottles of Beer on the wall." cr
+." Oh, 732 Bottles of Beer on the wall," cr
+." 732 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 731 Bottles of Beer on the wall." cr
+." Oh, 731 Bottles of Beer on the wall," cr
+." 731 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 730 Bottles of Beer on the wall." cr
+." Oh, 730 Bottles of Beer on the wall," cr
+." 730 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 729 Bottles of Beer on the wall." cr
+." Oh, 729 Bottles of Beer on the wall," cr
+." 729 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 728 Bottles of Beer on the wall." cr
+." Oh, 728 Bottles of Beer on the wall," cr
+." 728 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 727 Bottles of Beer on the wall." cr
+." Oh, 727 Bottles of Beer on the wall," cr
+." 727 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 726 Bottles of Beer on the wall." cr
+." Oh, 726 Bottles of Beer on the wall," cr
+." 726 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 725 Bottles of Beer on the wall." cr
+." Oh, 725 Bottles of Beer on the wall," cr
+." 725 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 724 Bottles of Beer on the wall." cr
+." Oh, 724 Bottles of Beer on the wall," cr
+." 724 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 723 Bottles of Beer on the wall." cr
+." Oh, 723 Bottles of Beer on the wall," cr
+." 723 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 722 Bottles of Beer on the wall." cr
+." Oh, 722 Bottles of Beer on the wall," cr
+." 722 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 721 Bottles of Beer on the wall." cr
+." Oh, 721 Bottles of Beer on the wall," cr
+." 721 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 720 Bottles of Beer on the wall." cr
+." Oh, 720 Bottles of Beer on the wall," cr
+." 720 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 719 Bottles of Beer on the wall." cr
+." Oh, 719 Bottles of Beer on the wall," cr
+." 719 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 718 Bottles of Beer on the wall." cr
+." Oh, 718 Bottles of Beer on the wall," cr
+." 718 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 717 Bottles of Beer on the wall." cr
+." Oh, 717 Bottles of Beer on the wall," cr
+." 717 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 716 Bottles of Beer on the wall." cr
+." Oh, 716 Bottles of Beer on the wall," cr
+." 716 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 715 Bottles of Beer on the wall." cr
+." Oh, 715 Bottles of Beer on the wall," cr
+." 715 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 714 Bottles of Beer on the wall." cr
+." Oh, 714 Bottles of Beer on the wall," cr
+." 714 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 713 Bottles of Beer on the wall." cr
+." Oh, 713 Bottles of Beer on the wall," cr
+." 713 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 712 Bottles of Beer on the wall." cr
+." Oh, 712 Bottles of Beer on the wall," cr
+." 712 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 711 Bottles of Beer on the wall." cr
+." Oh, 711 Bottles of Beer on the wall," cr
+." 711 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 710 Bottles of Beer on the wall." cr
+." Oh, 710 Bottles of Beer on the wall," cr
+." 710 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 709 Bottles of Beer on the wall." cr
+." Oh, 709 Bottles of Beer on the wall," cr
+." 709 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 708 Bottles of Beer on the wall." cr
+." Oh, 708 Bottles of Beer on the wall," cr
+." 708 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 707 Bottles of Beer on the wall." cr
+." Oh, 707 Bottles of Beer on the wall," cr
+." 707 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 706 Bottles of Beer on the wall." cr
+." Oh, 706 Bottles of Beer on the wall," cr
+." 706 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 705 Bottles of Beer on the wall." cr
+." Oh, 705 Bottles of Beer on the wall," cr
+." 705 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 704 Bottles of Beer on the wall." cr
+." Oh, 704 Bottles of Beer on the wall," cr
+." 704 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 703 Bottles of Beer on the wall." cr
+." Oh, 703 Bottles of Beer on the wall," cr
+." 703 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 702 Bottles of Beer on the wall." cr
+." Oh, 702 Bottles of Beer on the wall," cr
+." 702 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 701 Bottles of Beer on the wall." cr
+." Oh, 701 Bottles of Beer on the wall," cr
+." 701 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 700 Bottles of Beer on the wall." cr
+." Oh, 700 Bottles of Beer on the wall," cr
+." 700 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 699 Bottles of Beer on the wall." cr
+." Oh, 699 Bottles of Beer on the wall," cr
+." 699 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 698 Bottles of Beer on the wall." cr
+." Oh, 698 Bottles of Beer on the wall," cr
+." 698 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 697 Bottles of Beer on the wall." cr
+." Oh, 697 Bottles of Beer on the wall," cr
+." 697 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 696 Bottles of Beer on the wall." cr
+." Oh, 696 Bottles of Beer on the wall," cr
+." 696 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 695 Bottles of Beer on the wall." cr
+." Oh, 695 Bottles of Beer on the wall," cr
+." 695 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 694 Bottles of Beer on the wall." cr
+." Oh, 694 Bottles of Beer on the wall," cr
+." 694 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 693 Bottles of Beer on the wall." cr
+." Oh, 693 Bottles of Beer on the wall," cr
+." 693 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 692 Bottles of Beer on the wall." cr
+." Oh, 692 Bottles of Beer on the wall," cr
+." 692 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 691 Bottles of Beer on the wall." cr
+." Oh, 691 Bottles of Beer on the wall," cr
+." 691 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 690 Bottles of Beer on the wall." cr
+." Oh, 690 Bottles of Beer on the wall," cr
+." 690 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 689 Bottles of Beer on the wall." cr
+." Oh, 689 Bottles of Beer on the wall," cr
+." 689 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 688 Bottles of Beer on the wall." cr
+." Oh, 688 Bottles of Beer on the wall," cr
+." 688 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 687 Bottles of Beer on the wall." cr
+." Oh, 687 Bottles of Beer on the wall," cr
+." 687 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 686 Bottles of Beer on the wall." cr
+." Oh, 686 Bottles of Beer on the wall," cr
+." 686 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 685 Bottles of Beer on the wall." cr
+." Oh, 685 Bottles of Beer on the wall," cr
+." 685 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 684 Bottles of Beer on the wall." cr
+." Oh, 684 Bottles of Beer on the wall," cr
+." 684 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 683 Bottles of Beer on the wall." cr
+." Oh, 683 Bottles of Beer on the wall," cr
+." 683 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 682 Bottles of Beer on the wall." cr
+." Oh, 682 Bottles of Beer on the wall," cr
+." 682 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 681 Bottles of Beer on the wall." cr
+." Oh, 681 Bottles of Beer on the wall," cr
+." 681 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 680 Bottles of Beer on the wall." cr
+." Oh, 680 Bottles of Beer on the wall," cr
+." 680 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 679 Bottles of Beer on the wall." cr
+." Oh, 679 Bottles of Beer on the wall," cr
+." 679 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 678 Bottles of Beer on the wall." cr
+." Oh, 678 Bottles of Beer on the wall," cr
+." 678 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 677 Bottles of Beer on the wall." cr
+." Oh, 677 Bottles of Beer on the wall," cr
+." 677 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 676 Bottles of Beer on the wall." cr
+." Oh, 676 Bottles of Beer on the wall," cr
+." 676 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 675 Bottles of Beer on the wall." cr
+." Oh, 675 Bottles of Beer on the wall," cr
+." 675 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 674 Bottles of Beer on the wall." cr
+." Oh, 674 Bottles of Beer on the wall," cr
+." 674 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 673 Bottles of Beer on the wall." cr
+." Oh, 673 Bottles of Beer on the wall," cr
+." 673 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 672 Bottles of Beer on the wall." cr
+." Oh, 672 Bottles of Beer on the wall," cr
+." 672 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 671 Bottles of Beer on the wall." cr
+." Oh, 671 Bottles of Beer on the wall," cr
+." 671 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 670 Bottles of Beer on the wall." cr
+." Oh, 670 Bottles of Beer on the wall," cr
+." 670 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 669 Bottles of Beer on the wall." cr
+." Oh, 669 Bottles of Beer on the wall," cr
+." 669 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 668 Bottles of Beer on the wall." cr
+." Oh, 668 Bottles of Beer on the wall," cr
+." 668 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 667 Bottles of Beer on the wall." cr
+." Oh, 667 Bottles of Beer on the wall," cr
+." 667 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 666 Bottles of Beer on the wall." cr
+." Oh, 666 Bottles of Beer on the wall," cr
+." 666 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 665 Bottles of Beer on the wall." cr
+." Oh, 665 Bottles of Beer on the wall," cr
+." 665 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 664 Bottles of Beer on the wall." cr
+." Oh, 664 Bottles of Beer on the wall," cr
+." 664 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 663 Bottles of Beer on the wall." cr
+." Oh, 663 Bottles of Beer on the wall," cr
+." 663 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 662 Bottles of Beer on the wall." cr
+." Oh, 662 Bottles of Beer on the wall," cr
+." 662 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 661 Bottles of Beer on the wall." cr
+." Oh, 661 Bottles of Beer on the wall," cr
+." 661 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 660 Bottles of Beer on the wall." cr
+." Oh, 660 Bottles of Beer on the wall," cr
+." 660 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 659 Bottles of Beer on the wall." cr
+." Oh, 659 Bottles of Beer on the wall," cr
+." 659 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 658 Bottles of Beer on the wall." cr
+." Oh, 658 Bottles of Beer on the wall," cr
+." 658 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 657 Bottles of Beer on the wall." cr
+." Oh, 657 Bottles of Beer on the wall," cr
+." 657 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 656 Bottles of Beer on the wall." cr
+." Oh, 656 Bottles of Beer on the wall," cr
+." 656 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 655 Bottles of Beer on the wall." cr
+." Oh, 655 Bottles of Beer on the wall," cr
+." 655 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 654 Bottles of Beer on the wall." cr
+." Oh, 654 Bottles of Beer on the wall," cr
+." 654 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 653 Bottles of Beer on the wall." cr
+." Oh, 653 Bottles of Beer on the wall," cr
+." 653 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 652 Bottles of Beer on the wall." cr
+." Oh, 652 Bottles of Beer on the wall," cr
+." 652 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 651 Bottles of Beer on the wall." cr
+." Oh, 651 Bottles of Beer on the wall," cr
+." 651 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 650 Bottles of Beer on the wall." cr
+." Oh, 650 Bottles of Beer on the wall," cr
+." 650 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 649 Bottles of Beer on the wall." cr
+." Oh, 649 Bottles of Beer on the wall," cr
+." 649 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 648 Bottles of Beer on the wall." cr
+." Oh, 648 Bottles of Beer on the wall," cr
+." 648 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 647 Bottles of Beer on the wall." cr
+." Oh, 647 Bottles of Beer on the wall," cr
+." 647 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 646 Bottles of Beer on the wall." cr
+." Oh, 646 Bottles of Beer on the wall," cr
+." 646 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 645 Bottles of Beer on the wall." cr
+." Oh, 645 Bottles of Beer on the wall," cr
+." 645 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 644 Bottles of Beer on the wall." cr
+." Oh, 644 Bottles of Beer on the wall," cr
+." 644 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 643 Bottles of Beer on the wall." cr
+." Oh, 643 Bottles of Beer on the wall," cr
+." 643 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 642 Bottles of Beer on the wall." cr
+." Oh, 642 Bottles of Beer on the wall," cr
+." 642 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 641 Bottles of Beer on the wall." cr
+." Oh, 641 Bottles of Beer on the wall," cr
+." 641 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 640 Bottles of Beer on the wall." cr
+." Oh, 640 Bottles of Beer on the wall," cr
+." 640 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 639 Bottles of Beer on the wall." cr
+." Oh, 639 Bottles of Beer on the wall," cr
+." 639 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 638 Bottles of Beer on the wall." cr
+." Oh, 638 Bottles of Beer on the wall," cr
+." 638 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 637 Bottles of Beer on the wall." cr
+." Oh, 637 Bottles of Beer on the wall," cr
+." 637 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 636 Bottles of Beer on the wall." cr
+." Oh, 636 Bottles of Beer on the wall," cr
+." 636 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 635 Bottles of Beer on the wall." cr
+." Oh, 635 Bottles of Beer on the wall," cr
+." 635 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 634 Bottles of Beer on the wall." cr
+." Oh, 634 Bottles of Beer on the wall," cr
+." 634 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 633 Bottles of Beer on the wall." cr
+." Oh, 633 Bottles of Beer on the wall," cr
+." 633 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 632 Bottles of Beer on the wall." cr
+." Oh, 632 Bottles of Beer on the wall," cr
+." 632 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 631 Bottles of Beer on the wall." cr
+." Oh, 631 Bottles of Beer on the wall," cr
+." 631 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 630 Bottles of Beer on the wall." cr
+." Oh, 630 Bottles of Beer on the wall," cr
+." 630 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 629 Bottles of Beer on the wall." cr
+." Oh, 629 Bottles of Beer on the wall," cr
+." 629 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 628 Bottles of Beer on the wall." cr
+." Oh, 628 Bottles of Beer on the wall," cr
+." 628 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 627 Bottles of Beer on the wall." cr
+." Oh, 627 Bottles of Beer on the wall," cr
+." 627 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 626 Bottles of Beer on the wall." cr
+." Oh, 626 Bottles of Beer on the wall," cr
+." 626 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 625 Bottles of Beer on the wall." cr
+." Oh, 625 Bottles of Beer on the wall," cr
+." 625 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 624 Bottles of Beer on the wall." cr
+." Oh, 624 Bottles of Beer on the wall," cr
+." 624 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 623 Bottles of Beer on the wall." cr
+." Oh, 623 Bottles of Beer on the wall," cr
+." 623 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 622 Bottles of Beer on the wall." cr
+." Oh, 622 Bottles of Beer on the wall," cr
+." 622 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 621 Bottles of Beer on the wall." cr
+." Oh, 621 Bottles of Beer on the wall," cr
+." 621 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 620 Bottles of Beer on the wall." cr
+." Oh, 620 Bottles of Beer on the wall," cr
+." 620 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 619 Bottles of Beer on the wall." cr
+." Oh, 619 Bottles of Beer on the wall," cr
+." 619 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 618 Bottles of Beer on the wall." cr
+." Oh, 618 Bottles of Beer on the wall," cr
+." 618 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 617 Bottles of Beer on the wall." cr
+." Oh, 617 Bottles of Beer on the wall," cr
+." 617 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 616 Bottles of Beer on the wall." cr
+." Oh, 616 Bottles of Beer on the wall," cr
+." 616 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 615 Bottles of Beer on the wall." cr
+." Oh, 615 Bottles of Beer on the wall," cr
+." 615 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 614 Bottles of Beer on the wall." cr
+." Oh, 614 Bottles of Beer on the wall," cr
+." 614 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 613 Bottles of Beer on the wall." cr
+." Oh, 613 Bottles of Beer on the wall," cr
+." 613 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 612 Bottles of Beer on the wall." cr
+." Oh, 612 Bottles of Beer on the wall," cr
+." 612 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 611 Bottles of Beer on the wall." cr
+." Oh, 611 Bottles of Beer on the wall," cr
+." 611 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 610 Bottles of Beer on the wall." cr
+." Oh, 610 Bottles of Beer on the wall," cr
+." 610 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 609 Bottles of Beer on the wall." cr
+." Oh, 609 Bottles of Beer on the wall," cr
+." 609 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 608 Bottles of Beer on the wall." cr
+." Oh, 608 Bottles of Beer on the wall," cr
+." 608 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 607 Bottles of Beer on the wall." cr
+." Oh, 607 Bottles of Beer on the wall," cr
+." 607 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 606 Bottles of Beer on the wall." cr
+." Oh, 606 Bottles of Beer on the wall," cr
+." 606 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 605 Bottles of Beer on the wall." cr
+." Oh, 605 Bottles of Beer on the wall," cr
+." 605 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 604 Bottles of Beer on the wall." cr
+." Oh, 604 Bottles of Beer on the wall," cr
+." 604 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 603 Bottles of Beer on the wall." cr
+." Oh, 603 Bottles of Beer on the wall," cr
+." 603 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 602 Bottles of Beer on the wall." cr
+." Oh, 602 Bottles of Beer on the wall," cr
+." 602 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 601 Bottles of Beer on the wall." cr
+." Oh, 601 Bottles of Beer on the wall," cr
+." 601 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 600 Bottles of Beer on the wall." cr
+." Oh, 600 Bottles of Beer on the wall," cr
+." 600 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 599 Bottles of Beer on the wall." cr
+." Oh, 599 Bottles of Beer on the wall," cr
+." 599 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 598 Bottles of Beer on the wall." cr
+." Oh, 598 Bottles of Beer on the wall," cr
+." 598 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 597 Bottles of Beer on the wall." cr
+." Oh, 597 Bottles of Beer on the wall," cr
+." 597 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 596 Bottles of Beer on the wall." cr
+." Oh, 596 Bottles of Beer on the wall," cr
+." 596 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 595 Bottles of Beer on the wall." cr
+." Oh, 595 Bottles of Beer on the wall," cr
+." 595 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 594 Bottles of Beer on the wall." cr
+." Oh, 594 Bottles of Beer on the wall," cr
+." 594 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 593 Bottles of Beer on the wall." cr
+." Oh, 593 Bottles of Beer on the wall," cr
+." 593 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 592 Bottles of Beer on the wall." cr
+." Oh, 592 Bottles of Beer on the wall," cr
+." 592 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 591 Bottles of Beer on the wall." cr
+." Oh, 591 Bottles of Beer on the wall," cr
+." 591 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 590 Bottles of Beer on the wall." cr
+." Oh, 590 Bottles of Beer on the wall," cr
+." 590 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 589 Bottles of Beer on the wall." cr
+." Oh, 589 Bottles of Beer on the wall," cr
+." 589 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 588 Bottles of Beer on the wall." cr
+." Oh, 588 Bottles of Beer on the wall," cr
+." 588 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 587 Bottles of Beer on the wall." cr
+." Oh, 587 Bottles of Beer on the wall," cr
+." 587 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 586 Bottles of Beer on the wall." cr
+." Oh, 586 Bottles of Beer on the wall," cr
+." 586 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 585 Bottles of Beer on the wall." cr
+." Oh, 585 Bottles of Beer on the wall," cr
+." 585 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 584 Bottles of Beer on the wall." cr
+." Oh, 584 Bottles of Beer on the wall," cr
+." 584 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 583 Bottles of Beer on the wall." cr
+." Oh, 583 Bottles of Beer on the wall," cr
+." 583 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 582 Bottles of Beer on the wall." cr
+." Oh, 582 Bottles of Beer on the wall," cr
+." 582 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 581 Bottles of Beer on the wall." cr
+." Oh, 581 Bottles of Beer on the wall," cr
+." 581 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 580 Bottles of Beer on the wall." cr
+." Oh, 580 Bottles of Beer on the wall," cr
+." 580 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 579 Bottles of Beer on the wall." cr
+." Oh, 579 Bottles of Beer on the wall," cr
+." 579 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 578 Bottles of Beer on the wall." cr
+." Oh, 578 Bottles of Beer on the wall," cr
+." 578 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 577 Bottles of Beer on the wall." cr
+." Oh, 577 Bottles of Beer on the wall," cr
+." 577 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 576 Bottles of Beer on the wall." cr
+." Oh, 576 Bottles of Beer on the wall," cr
+." 576 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 575 Bottles of Beer on the wall." cr
+." Oh, 575 Bottles of Beer on the wall," cr
+." 575 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 574 Bottles of Beer on the wall." cr
+." Oh, 574 Bottles of Beer on the wall," cr
+." 574 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 573 Bottles of Beer on the wall." cr
+." Oh, 573 Bottles of Beer on the wall," cr
+." 573 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 572 Bottles of Beer on the wall." cr
+." Oh, 572 Bottles of Beer on the wall," cr
+." 572 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 571 Bottles of Beer on the wall." cr
+." Oh, 571 Bottles of Beer on the wall," cr
+." 571 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 570 Bottles of Beer on the wall." cr
+." Oh, 570 Bottles of Beer on the wall," cr
+." 570 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 569 Bottles of Beer on the wall." cr
+." Oh, 569 Bottles of Beer on the wall," cr
+." 569 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 568 Bottles of Beer on the wall." cr
+." Oh, 568 Bottles of Beer on the wall," cr
+." 568 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 567 Bottles of Beer on the wall." cr
+." Oh, 567 Bottles of Beer on the wall," cr
+." 567 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 566 Bottles of Beer on the wall." cr
+." Oh, 566 Bottles of Beer on the wall," cr
+." 566 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 565 Bottles of Beer on the wall." cr
+." Oh, 565 Bottles of Beer on the wall," cr
+." 565 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 564 Bottles of Beer on the wall." cr
+." Oh, 564 Bottles of Beer on the wall," cr
+." 564 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 563 Bottles of Beer on the wall." cr
+." Oh, 563 Bottles of Beer on the wall," cr
+." 563 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 562 Bottles of Beer on the wall." cr
+." Oh, 562 Bottles of Beer on the wall," cr
+." 562 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 561 Bottles of Beer on the wall." cr
+." Oh, 561 Bottles of Beer on the wall," cr
+." 561 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 560 Bottles of Beer on the wall." cr
+." Oh, 560 Bottles of Beer on the wall," cr
+." 560 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 559 Bottles of Beer on the wall." cr
+." Oh, 559 Bottles of Beer on the wall," cr
+." 559 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 558 Bottles of Beer on the wall." cr
+." Oh, 558 Bottles of Beer on the wall," cr
+." 558 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 557 Bottles of Beer on the wall." cr
+." Oh, 557 Bottles of Beer on the wall," cr
+." 557 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 556 Bottles of Beer on the wall." cr
+." Oh, 556 Bottles of Beer on the wall," cr
+." 556 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 555 Bottles of Beer on the wall." cr
+." Oh, 555 Bottles of Beer on the wall," cr
+." 555 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 554 Bottles of Beer on the wall." cr
+." Oh, 554 Bottles of Beer on the wall," cr
+." 554 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 553 Bottles of Beer on the wall." cr
+." Oh, 553 Bottles of Beer on the wall," cr
+." 553 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 552 Bottles of Beer on the wall." cr
+." Oh, 552 Bottles of Beer on the wall," cr
+." 552 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 551 Bottles of Beer on the wall." cr
+." Oh, 551 Bottles of Beer on the wall," cr
+." 551 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 550 Bottles of Beer on the wall." cr
+." Oh, 550 Bottles of Beer on the wall," cr
+." 550 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 549 Bottles of Beer on the wall." cr
+." Oh, 549 Bottles of Beer on the wall," cr
+." 549 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 548 Bottles of Beer on the wall." cr
+." Oh, 548 Bottles of Beer on the wall," cr
+." 548 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 547 Bottles of Beer on the wall." cr
+." Oh, 547 Bottles of Beer on the wall," cr
+." 547 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 546 Bottles of Beer on the wall." cr
+." Oh, 546 Bottles of Beer on the wall," cr
+." 546 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 545 Bottles of Beer on the wall." cr
+." Oh, 545 Bottles of Beer on the wall," cr
+." 545 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 544 Bottles of Beer on the wall." cr
+." Oh, 544 Bottles of Beer on the wall," cr
+." 544 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 543 Bottles of Beer on the wall." cr
+." Oh, 543 Bottles of Beer on the wall," cr
+." 543 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 542 Bottles of Beer on the wall." cr
+." Oh, 542 Bottles of Beer on the wall," cr
+." 542 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 541 Bottles of Beer on the wall." cr
+." Oh, 541 Bottles of Beer on the wall," cr
+." 541 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 540 Bottles of Beer on the wall." cr
+." Oh, 540 Bottles of Beer on the wall," cr
+." 540 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 539 Bottles of Beer on the wall." cr
+." Oh, 539 Bottles of Beer on the wall," cr
+." 539 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 538 Bottles of Beer on the wall." cr
+." Oh, 538 Bottles of Beer on the wall," cr
+." 538 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 537 Bottles of Beer on the wall." cr
+." Oh, 537 Bottles of Beer on the wall," cr
+." 537 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 536 Bottles of Beer on the wall." cr
+." Oh, 536 Bottles of Beer on the wall," cr
+." 536 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 535 Bottles of Beer on the wall." cr
+." Oh, 535 Bottles of Beer on the wall," cr
+." 535 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 534 Bottles of Beer on the wall." cr
+." Oh, 534 Bottles of Beer on the wall," cr
+." 534 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 533 Bottles of Beer on the wall." cr
+." Oh, 533 Bottles of Beer on the wall," cr
+." 533 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 532 Bottles of Beer on the wall." cr
+." Oh, 532 Bottles of Beer on the wall," cr
+." 532 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 531 Bottles of Beer on the wall." cr
+." Oh, 531 Bottles of Beer on the wall," cr
+." 531 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 530 Bottles of Beer on the wall." cr
+." Oh, 530 Bottles of Beer on the wall," cr
+." 530 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 529 Bottles of Beer on the wall." cr
+." Oh, 529 Bottles of Beer on the wall," cr
+." 529 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 528 Bottles of Beer on the wall." cr
+." Oh, 528 Bottles of Beer on the wall," cr
+." 528 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 527 Bottles of Beer on the wall." cr
+." Oh, 527 Bottles of Beer on the wall," cr
+." 527 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 526 Bottles of Beer on the wall." cr
+." Oh, 526 Bottles of Beer on the wall," cr
+." 526 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 525 Bottles of Beer on the wall." cr
+." Oh, 525 Bottles of Beer on the wall," cr
+." 525 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 524 Bottles of Beer on the wall." cr
+." Oh, 524 Bottles of Beer on the wall," cr
+." 524 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 523 Bottles of Beer on the wall." cr
+." Oh, 523 Bottles of Beer on the wall," cr
+." 523 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 522 Bottles of Beer on the wall." cr
+." Oh, 522 Bottles of Beer on the wall," cr
+." 522 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 521 Bottles of Beer on the wall." cr
+." Oh, 521 Bottles of Beer on the wall," cr
+." 521 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 520 Bottles of Beer on the wall." cr
+." Oh, 520 Bottles of Beer on the wall," cr
+." 520 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 519 Bottles of Beer on the wall." cr
+." Oh, 519 Bottles of Beer on the wall," cr
+." 519 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 518 Bottles of Beer on the wall." cr
+." Oh, 518 Bottles of Beer on the wall," cr
+." 518 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 517 Bottles of Beer on the wall." cr
+." Oh, 517 Bottles of Beer on the wall," cr
+." 517 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 516 Bottles of Beer on the wall." cr
+." Oh, 516 Bottles of Beer on the wall," cr
+." 516 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 515 Bottles of Beer on the wall." cr
+." Oh, 515 Bottles of Beer on the wall," cr
+." 515 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 514 Bottles of Beer on the wall." cr
+." Oh, 514 Bottles of Beer on the wall," cr
+." 514 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 513 Bottles of Beer on the wall." cr
+." Oh, 513 Bottles of Beer on the wall," cr
+." 513 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 512 Bottles of Beer on the wall." cr
+." Oh, 512 Bottles of Beer on the wall," cr
+." 512 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 511 Bottles of Beer on the wall." cr
+." Oh, 511 Bottles of Beer on the wall," cr
+." 511 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 510 Bottles of Beer on the wall." cr
+." Oh, 510 Bottles of Beer on the wall," cr
+." 510 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 509 Bottles of Beer on the wall." cr
+." Oh, 509 Bottles of Beer on the wall," cr
+." 509 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 508 Bottles of Beer on the wall." cr
+." Oh, 508 Bottles of Beer on the wall," cr
+." 508 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 507 Bottles of Beer on the wall." cr
+." Oh, 507 Bottles of Beer on the wall," cr
+." 507 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 506 Bottles of Beer on the wall." cr
+." Oh, 506 Bottles of Beer on the wall," cr
+." 506 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 505 Bottles of Beer on the wall." cr
+." Oh, 505 Bottles of Beer on the wall," cr
+." 505 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 504 Bottles of Beer on the wall." cr
+." Oh, 504 Bottles of Beer on the wall," cr
+." 504 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 503 Bottles of Beer on the wall." cr
+." Oh, 503 Bottles of Beer on the wall," cr
+." 503 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 502 Bottles of Beer on the wall." cr
+." Oh, 502 Bottles of Beer on the wall," cr
+." 502 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 501 Bottles of Beer on the wall." cr
+." Oh, 501 Bottles of Beer on the wall," cr
+." 501 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 500 Bottles of Beer on the wall." cr
+." Oh, 500 Bottles of Beer on the wall," cr
+." 500 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 499 Bottles of Beer on the wall." cr
+." Oh, 499 Bottles of Beer on the wall," cr
+." 499 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 498 Bottles of Beer on the wall." cr
+." Oh, 498 Bottles of Beer on the wall," cr
+." 498 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 497 Bottles of Beer on the wall." cr
+." Oh, 497 Bottles of Beer on the wall," cr
+." 497 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 496 Bottles of Beer on the wall." cr
+." Oh, 496 Bottles of Beer on the wall," cr
+." 496 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 495 Bottles of Beer on the wall." cr
+." Oh, 495 Bottles of Beer on the wall," cr
+." 495 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 494 Bottles of Beer on the wall." cr
+." Oh, 494 Bottles of Beer on the wall," cr
+." 494 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 493 Bottles of Beer on the wall." cr
+." Oh, 493 Bottles of Beer on the wall," cr
+." 493 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 492 Bottles of Beer on the wall." cr
+." Oh, 492 Bottles of Beer on the wall," cr
+." 492 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 491 Bottles of Beer on the wall." cr
+." Oh, 491 Bottles of Beer on the wall," cr
+." 491 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 490 Bottles of Beer on the wall." cr
+." Oh, 490 Bottles of Beer on the wall," cr
+." 490 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 489 Bottles of Beer on the wall." cr
+." Oh, 489 Bottles of Beer on the wall," cr
+." 489 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 488 Bottles of Beer on the wall." cr
+." Oh, 488 Bottles of Beer on the wall," cr
+." 488 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 487 Bottles of Beer on the wall." cr
+." Oh, 487 Bottles of Beer on the wall," cr
+." 487 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 486 Bottles of Beer on the wall." cr
+." Oh, 486 Bottles of Beer on the wall," cr
+." 486 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 485 Bottles of Beer on the wall." cr
+." Oh, 485 Bottles of Beer on the wall," cr
+." 485 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 484 Bottles of Beer on the wall." cr
+." Oh, 484 Bottles of Beer on the wall," cr
+." 484 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 483 Bottles of Beer on the wall." cr
+." Oh, 483 Bottles of Beer on the wall," cr
+." 483 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 482 Bottles of Beer on the wall." cr
+." Oh, 482 Bottles of Beer on the wall," cr
+." 482 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 481 Bottles of Beer on the wall." cr
+." Oh, 481 Bottles of Beer on the wall," cr
+." 481 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 480 Bottles of Beer on the wall." cr
+." Oh, 480 Bottles of Beer on the wall," cr
+." 480 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 479 Bottles of Beer on the wall." cr
+." Oh, 479 Bottles of Beer on the wall," cr
+." 479 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 478 Bottles of Beer on the wall." cr
+." Oh, 478 Bottles of Beer on the wall," cr
+." 478 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 477 Bottles of Beer on the wall." cr
+." Oh, 477 Bottles of Beer on the wall," cr
+." 477 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 476 Bottles of Beer on the wall." cr
+." Oh, 476 Bottles of Beer on the wall," cr
+." 476 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 475 Bottles of Beer on the wall." cr
+." Oh, 475 Bottles of Beer on the wall," cr
+." 475 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 474 Bottles of Beer on the wall." cr
+." Oh, 474 Bottles of Beer on the wall," cr
+." 474 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 473 Bottles of Beer on the wall." cr
+." Oh, 473 Bottles of Beer on the wall," cr
+." 473 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 472 Bottles of Beer on the wall." cr
+." Oh, 472 Bottles of Beer on the wall," cr
+." 472 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 471 Bottles of Beer on the wall." cr
+." Oh, 471 Bottles of Beer on the wall," cr
+." 471 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 470 Bottles of Beer on the wall." cr
+." Oh, 470 Bottles of Beer on the wall," cr
+." 470 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 469 Bottles of Beer on the wall." cr
+." Oh, 469 Bottles of Beer on the wall," cr
+." 469 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 468 Bottles of Beer on the wall." cr
+." Oh, 468 Bottles of Beer on the wall," cr
+." 468 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 467 Bottles of Beer on the wall." cr
+." Oh, 467 Bottles of Beer on the wall," cr
+." 467 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 466 Bottles of Beer on the wall." cr
+." Oh, 466 Bottles of Beer on the wall," cr
+." 466 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 465 Bottles of Beer on the wall." cr
+." Oh, 465 Bottles of Beer on the wall," cr
+." 465 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 464 Bottles of Beer on the wall." cr
+." Oh, 464 Bottles of Beer on the wall," cr
+." 464 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 463 Bottles of Beer on the wall." cr
+." Oh, 463 Bottles of Beer on the wall," cr
+." 463 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 462 Bottles of Beer on the wall." cr
+." Oh, 462 Bottles of Beer on the wall," cr
+." 462 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 461 Bottles of Beer on the wall." cr
+." Oh, 461 Bottles of Beer on the wall," cr
+." 461 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 460 Bottles of Beer on the wall." cr
+." Oh, 460 Bottles of Beer on the wall," cr
+." 460 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 459 Bottles of Beer on the wall." cr
+." Oh, 459 Bottles of Beer on the wall," cr
+." 459 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 458 Bottles of Beer on the wall." cr
+." Oh, 458 Bottles of Beer on the wall," cr
+." 458 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 457 Bottles of Beer on the wall." cr
+." Oh, 457 Bottles of Beer on the wall," cr
+." 457 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 456 Bottles of Beer on the wall." cr
+." Oh, 456 Bottles of Beer on the wall," cr
+." 456 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 455 Bottles of Beer on the wall." cr
+." Oh, 455 Bottles of Beer on the wall," cr
+." 455 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 454 Bottles of Beer on the wall." cr
+." Oh, 454 Bottles of Beer on the wall," cr
+." 454 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 453 Bottles of Beer on the wall." cr
+." Oh, 453 Bottles of Beer on the wall," cr
+." 453 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 452 Bottles of Beer on the wall." cr
+." Oh, 452 Bottles of Beer on the wall," cr
+." 452 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 451 Bottles of Beer on the wall." cr
+." Oh, 451 Bottles of Beer on the wall," cr
+." 451 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 450 Bottles of Beer on the wall." cr
+." Oh, 450 Bottles of Beer on the wall," cr
+." 450 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 449 Bottles of Beer on the wall." cr
+." Oh, 449 Bottles of Beer on the wall," cr
+." 449 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 448 Bottles of Beer on the wall." cr
+." Oh, 448 Bottles of Beer on the wall," cr
+." 448 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 447 Bottles of Beer on the wall." cr
+." Oh, 447 Bottles of Beer on the wall," cr
+." 447 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 446 Bottles of Beer on the wall." cr
+." Oh, 446 Bottles of Beer on the wall," cr
+." 446 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 445 Bottles of Beer on the wall." cr
+." Oh, 445 Bottles of Beer on the wall," cr
+." 445 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 444 Bottles of Beer on the wall." cr
+." Oh, 444 Bottles of Beer on the wall," cr
+." 444 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 443 Bottles of Beer on the wall." cr
+." Oh, 443 Bottles of Beer on the wall," cr
+." 443 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 442 Bottles of Beer on the wall." cr
+." Oh, 442 Bottles of Beer on the wall," cr
+." 442 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 441 Bottles of Beer on the wall." cr
+." Oh, 441 Bottles of Beer on the wall," cr
+." 441 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 440 Bottles of Beer on the wall." cr
+." Oh, 440 Bottles of Beer on the wall," cr
+." 440 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 439 Bottles of Beer on the wall." cr
+." Oh, 439 Bottles of Beer on the wall," cr
+." 439 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 438 Bottles of Beer on the wall." cr
+." Oh, 438 Bottles of Beer on the wall," cr
+." 438 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 437 Bottles of Beer on the wall." cr
+." Oh, 437 Bottles of Beer on the wall," cr
+." 437 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 436 Bottles of Beer on the wall." cr
+." Oh, 436 Bottles of Beer on the wall," cr
+." 436 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 435 Bottles of Beer on the wall." cr
+." Oh, 435 Bottles of Beer on the wall," cr
+." 435 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 434 Bottles of Beer on the wall." cr
+." Oh, 434 Bottles of Beer on the wall," cr
+." 434 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 433 Bottles of Beer on the wall." cr
+." Oh, 433 Bottles of Beer on the wall," cr
+." 433 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 432 Bottles of Beer on the wall." cr
+." Oh, 432 Bottles of Beer on the wall," cr
+." 432 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 431 Bottles of Beer on the wall." cr
+." Oh, 431 Bottles of Beer on the wall," cr
+." 431 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 430 Bottles of Beer on the wall." cr
+." Oh, 430 Bottles of Beer on the wall," cr
+." 430 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 429 Bottles of Beer on the wall." cr
+." Oh, 429 Bottles of Beer on the wall," cr
+." 429 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 428 Bottles of Beer on the wall." cr
+." Oh, 428 Bottles of Beer on the wall," cr
+." 428 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 427 Bottles of Beer on the wall." cr
+." Oh, 427 Bottles of Beer on the wall," cr
+." 427 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 426 Bottles of Beer on the wall." cr
+." Oh, 426 Bottles of Beer on the wall," cr
+." 426 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 425 Bottles of Beer on the wall." cr
+." Oh, 425 Bottles of Beer on the wall," cr
+." 425 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 424 Bottles of Beer on the wall." cr
+." Oh, 424 Bottles of Beer on the wall," cr
+." 424 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 423 Bottles of Beer on the wall." cr
+." Oh, 423 Bottles of Beer on the wall," cr
+." 423 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 422 Bottles of Beer on the wall." cr
+." Oh, 422 Bottles of Beer on the wall," cr
+." 422 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 421 Bottles of Beer on the wall." cr
+." Oh, 421 Bottles of Beer on the wall," cr
+." 421 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 420 Bottles of Beer on the wall." cr
+." Oh, 420 Bottles of Beer on the wall," cr
+." 420 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 419 Bottles of Beer on the wall." cr
+." Oh, 419 Bottles of Beer on the wall," cr
+." 419 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 418 Bottles of Beer on the wall." cr
+." Oh, 418 Bottles of Beer on the wall," cr
+." 418 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 417 Bottles of Beer on the wall." cr
+." Oh, 417 Bottles of Beer on the wall," cr
+." 417 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 416 Bottles of Beer on the wall." cr
+." Oh, 416 Bottles of Beer on the wall," cr
+." 416 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 415 Bottles of Beer on the wall." cr
+." Oh, 415 Bottles of Beer on the wall," cr
+." 415 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 414 Bottles of Beer on the wall." cr
+." Oh, 414 Bottles of Beer on the wall," cr
+." 414 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 413 Bottles of Beer on the wall." cr
+." Oh, 413 Bottles of Beer on the wall," cr
+." 413 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 412 Bottles of Beer on the wall." cr
+." Oh, 412 Bottles of Beer on the wall," cr
+." 412 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 411 Bottles of Beer on the wall." cr
+." Oh, 411 Bottles of Beer on the wall," cr
+." 411 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 410 Bottles of Beer on the wall." cr
+." Oh, 410 Bottles of Beer on the wall," cr
+." 410 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 409 Bottles of Beer on the wall." cr
+." Oh, 409 Bottles of Beer on the wall," cr
+." 409 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 408 Bottles of Beer on the wall." cr
+." Oh, 408 Bottles of Beer on the wall," cr
+." 408 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 407 Bottles of Beer on the wall." cr
+." Oh, 407 Bottles of Beer on the wall," cr
+." 407 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 406 Bottles of Beer on the wall." cr
+." Oh, 406 Bottles of Beer on the wall," cr
+." 406 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 405 Bottles of Beer on the wall." cr
+." Oh, 405 Bottles of Beer on the wall," cr
+." 405 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 404 Bottles of Beer on the wall." cr
+." Oh, 404 Bottles of Beer on the wall," cr
+." 404 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 403 Bottles of Beer on the wall." cr
+." Oh, 403 Bottles of Beer on the wall," cr
+." 403 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 402 Bottles of Beer on the wall." cr
+." Oh, 402 Bottles of Beer on the wall," cr
+." 402 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 401 Bottles of Beer on the wall." cr
+." Oh, 401 Bottles of Beer on the wall," cr
+." 401 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 400 Bottles of Beer on the wall." cr
+." Oh, 400 Bottles of Beer on the wall," cr
+." 400 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 399 Bottles of Beer on the wall." cr
+." Oh, 399 Bottles of Beer on the wall," cr
+." 399 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 398 Bottles of Beer on the wall." cr
+." Oh, 398 Bottles of Beer on the wall," cr
+." 398 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 397 Bottles of Beer on the wall." cr
+." Oh, 397 Bottles of Beer on the wall," cr
+." 397 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 396 Bottles of Beer on the wall." cr
+." Oh, 396 Bottles of Beer on the wall," cr
+." 396 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 395 Bottles of Beer on the wall." cr
+." Oh, 395 Bottles of Beer on the wall," cr
+." 395 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 394 Bottles of Beer on the wall." cr
+." Oh, 394 Bottles of Beer on the wall," cr
+." 394 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 393 Bottles of Beer on the wall." cr
+." Oh, 393 Bottles of Beer on the wall," cr
+." 393 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 392 Bottles of Beer on the wall." cr
+." Oh, 392 Bottles of Beer on the wall," cr
+." 392 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 391 Bottles of Beer on the wall." cr
+." Oh, 391 Bottles of Beer on the wall," cr
+." 391 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 390 Bottles of Beer on the wall." cr
+." Oh, 390 Bottles of Beer on the wall," cr
+." 390 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 389 Bottles of Beer on the wall." cr
+." Oh, 389 Bottles of Beer on the wall," cr
+." 389 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 388 Bottles of Beer on the wall." cr
+." Oh, 388 Bottles of Beer on the wall," cr
+." 388 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 387 Bottles of Beer on the wall." cr
+." Oh, 387 Bottles of Beer on the wall," cr
+." 387 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 386 Bottles of Beer on the wall." cr
+." Oh, 386 Bottles of Beer on the wall," cr
+." 386 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 385 Bottles of Beer on the wall." cr
+." Oh, 385 Bottles of Beer on the wall," cr
+." 385 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 384 Bottles of Beer on the wall." cr
+." Oh, 384 Bottles of Beer on the wall," cr
+." 384 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 383 Bottles of Beer on the wall." cr
+." Oh, 383 Bottles of Beer on the wall," cr
+." 383 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 382 Bottles of Beer on the wall." cr
+." Oh, 382 Bottles of Beer on the wall," cr
+." 382 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 381 Bottles of Beer on the wall." cr
+." Oh, 381 Bottles of Beer on the wall," cr
+." 381 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 380 Bottles of Beer on the wall." cr
+." Oh, 380 Bottles of Beer on the wall," cr
+." 380 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 379 Bottles of Beer on the wall." cr
+." Oh, 379 Bottles of Beer on the wall," cr
+." 379 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 378 Bottles of Beer on the wall." cr
+." Oh, 378 Bottles of Beer on the wall," cr
+." 378 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 377 Bottles of Beer on the wall." cr
+." Oh, 377 Bottles of Beer on the wall," cr
+." 377 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 376 Bottles of Beer on the wall." cr
+." Oh, 376 Bottles of Beer on the wall," cr
+." 376 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 375 Bottles of Beer on the wall." cr
+." Oh, 375 Bottles of Beer on the wall," cr
+." 375 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 374 Bottles of Beer on the wall." cr
+." Oh, 374 Bottles of Beer on the wall," cr
+." 374 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 373 Bottles of Beer on the wall." cr
+." Oh, 373 Bottles of Beer on the wall," cr
+." 373 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 372 Bottles of Beer on the wall." cr
+." Oh, 372 Bottles of Beer on the wall," cr
+." 372 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 371 Bottles of Beer on the wall." cr
+." Oh, 371 Bottles of Beer on the wall," cr
+." 371 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 370 Bottles of Beer on the wall." cr
+." Oh, 370 Bottles of Beer on the wall," cr
+." 370 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 369 Bottles of Beer on the wall." cr
+." Oh, 369 Bottles of Beer on the wall," cr
+." 369 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 368 Bottles of Beer on the wall." cr
+." Oh, 368 Bottles of Beer on the wall," cr
+." 368 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 367 Bottles of Beer on the wall." cr
+." Oh, 367 Bottles of Beer on the wall," cr
+." 367 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 366 Bottles of Beer on the wall." cr
+." Oh, 366 Bottles of Beer on the wall," cr
+." 366 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 365 Bottles of Beer on the wall." cr
+." Oh, 365 Bottles of Beer on the wall," cr
+." 365 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 364 Bottles of Beer on the wall." cr
+." Oh, 364 Bottles of Beer on the wall," cr
+." 364 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 363 Bottles of Beer on the wall." cr
+." Oh, 363 Bottles of Beer on the wall," cr
+." 363 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 362 Bottles of Beer on the wall." cr
+." Oh, 362 Bottles of Beer on the wall," cr
+." 362 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 361 Bottles of Beer on the wall." cr
+." Oh, 361 Bottles of Beer on the wall," cr
+." 361 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 360 Bottles of Beer on the wall." cr
+." Oh, 360 Bottles of Beer on the wall," cr
+." 360 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 359 Bottles of Beer on the wall." cr
+." Oh, 359 Bottles of Beer on the wall," cr
+." 359 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 358 Bottles of Beer on the wall." cr
+." Oh, 358 Bottles of Beer on the wall," cr
+." 358 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 357 Bottles of Beer on the wall." cr
+." Oh, 357 Bottles of Beer on the wall," cr
+." 357 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 356 Bottles of Beer on the wall." cr
+." Oh, 356 Bottles of Beer on the wall," cr
+." 356 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 355 Bottles of Beer on the wall." cr
+." Oh, 355 Bottles of Beer on the wall," cr
+." 355 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 354 Bottles of Beer on the wall." cr
+." Oh, 354 Bottles of Beer on the wall," cr
+." 354 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 353 Bottles of Beer on the wall." cr
+." Oh, 353 Bottles of Beer on the wall," cr
+." 353 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 352 Bottles of Beer on the wall." cr
+." Oh, 352 Bottles of Beer on the wall," cr
+." 352 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 351 Bottles of Beer on the wall." cr
+." Oh, 351 Bottles of Beer on the wall," cr
+." 351 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 350 Bottles of Beer on the wall." cr
+." Oh, 350 Bottles of Beer on the wall," cr
+." 350 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 349 Bottles of Beer on the wall." cr
+." Oh, 349 Bottles of Beer on the wall," cr
+." 349 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 348 Bottles of Beer on the wall." cr
+." Oh, 348 Bottles of Beer on the wall," cr
+." 348 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 347 Bottles of Beer on the wall." cr
+." Oh, 347 Bottles of Beer on the wall," cr
+." 347 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 346 Bottles of Beer on the wall." cr
+." Oh, 346 Bottles of Beer on the wall," cr
+." 346 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 345 Bottles of Beer on the wall." cr
+." Oh, 345 Bottles of Beer on the wall," cr
+." 345 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 344 Bottles of Beer on the wall." cr
+." Oh, 344 Bottles of Beer on the wall," cr
+." 344 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 343 Bottles of Beer on the wall." cr
+." Oh, 343 Bottles of Beer on the wall," cr
+." 343 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 342 Bottles of Beer on the wall." cr
+." Oh, 342 Bottles of Beer on the wall," cr
+." 342 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 341 Bottles of Beer on the wall." cr
+." Oh, 341 Bottles of Beer on the wall," cr
+." 341 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 340 Bottles of Beer on the wall." cr
+." Oh, 340 Bottles of Beer on the wall," cr
+." 340 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 339 Bottles of Beer on the wall." cr
+." Oh, 339 Bottles of Beer on the wall," cr
+." 339 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 338 Bottles of Beer on the wall." cr
+." Oh, 338 Bottles of Beer on the wall," cr
+." 338 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 337 Bottles of Beer on the wall." cr
+." Oh, 337 Bottles of Beer on the wall," cr
+." 337 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 336 Bottles of Beer on the wall." cr
+." Oh, 336 Bottles of Beer on the wall," cr
+." 336 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 335 Bottles of Beer on the wall." cr
+." Oh, 335 Bottles of Beer on the wall," cr
+." 335 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 334 Bottles of Beer on the wall." cr
+." Oh, 334 Bottles of Beer on the wall," cr
+." 334 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 333 Bottles of Beer on the wall." cr
+." Oh, 333 Bottles of Beer on the wall," cr
+." 333 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 332 Bottles of Beer on the wall." cr
+." Oh, 332 Bottles of Beer on the wall," cr
+." 332 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 331 Bottles of Beer on the wall." cr
+." Oh, 331 Bottles of Beer on the wall," cr
+." 331 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 330 Bottles of Beer on the wall." cr
+." Oh, 330 Bottles of Beer on the wall," cr
+." 330 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 329 Bottles of Beer on the wall." cr
+." Oh, 329 Bottles of Beer on the wall," cr
+." 329 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 328 Bottles of Beer on the wall." cr
+." Oh, 328 Bottles of Beer on the wall," cr
+." 328 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 327 Bottles of Beer on the wall." cr
+." Oh, 327 Bottles of Beer on the wall," cr
+." 327 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 326 Bottles of Beer on the wall." cr
+." Oh, 326 Bottles of Beer on the wall," cr
+." 326 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 325 Bottles of Beer on the wall." cr
+." Oh, 325 Bottles of Beer on the wall," cr
+." 325 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 324 Bottles of Beer on the wall." cr
+." Oh, 324 Bottles of Beer on the wall," cr
+." 324 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 323 Bottles of Beer on the wall." cr
+." Oh, 323 Bottles of Beer on the wall," cr
+." 323 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 322 Bottles of Beer on the wall." cr
+." Oh, 322 Bottles of Beer on the wall," cr
+." 322 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 321 Bottles of Beer on the wall." cr
+." Oh, 321 Bottles of Beer on the wall," cr
+." 321 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 320 Bottles of Beer on the wall." cr
+." Oh, 320 Bottles of Beer on the wall," cr
+." 320 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 319 Bottles of Beer on the wall." cr
+." Oh, 319 Bottles of Beer on the wall," cr
+." 319 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 318 Bottles of Beer on the wall." cr
+." Oh, 318 Bottles of Beer on the wall," cr
+." 318 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 317 Bottles of Beer on the wall." cr
+." Oh, 317 Bottles of Beer on the wall," cr
+." 317 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 316 Bottles of Beer on the wall." cr
+." Oh, 316 Bottles of Beer on the wall," cr
+." 316 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 315 Bottles of Beer on the wall." cr
+." Oh, 315 Bottles of Beer on the wall," cr
+." 315 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 314 Bottles of Beer on the wall." cr
+." Oh, 314 Bottles of Beer on the wall," cr
+." 314 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 313 Bottles of Beer on the wall." cr
+." Oh, 313 Bottles of Beer on the wall," cr
+." 313 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 312 Bottles of Beer on the wall." cr
+." Oh, 312 Bottles of Beer on the wall," cr
+." 312 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 311 Bottles of Beer on the wall." cr
+." Oh, 311 Bottles of Beer on the wall," cr
+." 311 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 310 Bottles of Beer on the wall." cr
+." Oh, 310 Bottles of Beer on the wall," cr
+." 310 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 309 Bottles of Beer on the wall." cr
+." Oh, 309 Bottles of Beer on the wall," cr
+." 309 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 308 Bottles of Beer on the wall." cr
+." Oh, 308 Bottles of Beer on the wall," cr
+." 308 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 307 Bottles of Beer on the wall." cr
+." Oh, 307 Bottles of Beer on the wall," cr
+." 307 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 306 Bottles of Beer on the wall." cr
+." Oh, 306 Bottles of Beer on the wall," cr
+." 306 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 305 Bottles of Beer on the wall." cr
+." Oh, 305 Bottles of Beer on the wall," cr
+." 305 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 304 Bottles of Beer on the wall." cr
+." Oh, 304 Bottles of Beer on the wall," cr
+." 304 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 303 Bottles of Beer on the wall." cr
+." Oh, 303 Bottles of Beer on the wall," cr
+." 303 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 302 Bottles of Beer on the wall." cr
+." Oh, 302 Bottles of Beer on the wall," cr
+." 302 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 301 Bottles of Beer on the wall." cr
+." Oh, 301 Bottles of Beer on the wall," cr
+." 301 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 300 Bottles of Beer on the wall." cr
+." Oh, 300 Bottles of Beer on the wall," cr
+." 300 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 299 Bottles of Beer on the wall." cr
+." Oh, 299 Bottles of Beer on the wall," cr
+." 299 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 298 Bottles of Beer on the wall." cr
+." Oh, 298 Bottles of Beer on the wall," cr
+." 298 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 297 Bottles of Beer on the wall." cr
+." Oh, 297 Bottles of Beer on the wall," cr
+." 297 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 296 Bottles of Beer on the wall." cr
+." Oh, 296 Bottles of Beer on the wall," cr
+." 296 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 295 Bottles of Beer on the wall." cr
+." Oh, 295 Bottles of Beer on the wall," cr
+." 295 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 294 Bottles of Beer on the wall." cr
+." Oh, 294 Bottles of Beer on the wall," cr
+." 294 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 293 Bottles of Beer on the wall." cr
+." Oh, 293 Bottles of Beer on the wall," cr
+." 293 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 292 Bottles of Beer on the wall." cr
+." Oh, 292 Bottles of Beer on the wall," cr
+." 292 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 291 Bottles of Beer on the wall." cr
+." Oh, 291 Bottles of Beer on the wall," cr
+." 291 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 290 Bottles of Beer on the wall." cr
+." Oh, 290 Bottles of Beer on the wall," cr
+." 290 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 289 Bottles of Beer on the wall." cr
+." Oh, 289 Bottles of Beer on the wall," cr
+." 289 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 288 Bottles of Beer on the wall." cr
+." Oh, 288 Bottles of Beer on the wall," cr
+." 288 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 287 Bottles of Beer on the wall." cr
+." Oh, 287 Bottles of Beer on the wall," cr
+." 287 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 286 Bottles of Beer on the wall." cr
+." Oh, 286 Bottles of Beer on the wall," cr
+." 286 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 285 Bottles of Beer on the wall." cr
+." Oh, 285 Bottles of Beer on the wall," cr
+." 285 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 284 Bottles of Beer on the wall." cr
+." Oh, 284 Bottles of Beer on the wall," cr
+." 284 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 283 Bottles of Beer on the wall." cr
+." Oh, 283 Bottles of Beer on the wall," cr
+." 283 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 282 Bottles of Beer on the wall." cr
+." Oh, 282 Bottles of Beer on the wall," cr
+." 282 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 281 Bottles of Beer on the wall." cr
+." Oh, 281 Bottles of Beer on the wall," cr
+." 281 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 280 Bottles of Beer on the wall." cr
+." Oh, 280 Bottles of Beer on the wall," cr
+." 280 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 279 Bottles of Beer on the wall." cr
+." Oh, 279 Bottles of Beer on the wall," cr
+." 279 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 278 Bottles of Beer on the wall." cr
+." Oh, 278 Bottles of Beer on the wall," cr
+." 278 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 277 Bottles of Beer on the wall." cr
+." Oh, 277 Bottles of Beer on the wall," cr
+." 277 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 276 Bottles of Beer on the wall." cr
+." Oh, 276 Bottles of Beer on the wall," cr
+." 276 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 275 Bottles of Beer on the wall." cr
+." Oh, 275 Bottles of Beer on the wall," cr
+." 275 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 274 Bottles of Beer on the wall." cr
+." Oh, 274 Bottles of Beer on the wall," cr
+." 274 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 273 Bottles of Beer on the wall." cr
+." Oh, 273 Bottles of Beer on the wall," cr
+." 273 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 272 Bottles of Beer on the wall." cr
+." Oh, 272 Bottles of Beer on the wall," cr
+." 272 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 271 Bottles of Beer on the wall." cr
+." Oh, 271 Bottles of Beer on the wall," cr
+." 271 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 270 Bottles of Beer on the wall." cr
+." Oh, 270 Bottles of Beer on the wall," cr
+." 270 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 269 Bottles of Beer on the wall." cr
+." Oh, 269 Bottles of Beer on the wall," cr
+." 269 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 268 Bottles of Beer on the wall." cr
+." Oh, 268 Bottles of Beer on the wall," cr
+." 268 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 267 Bottles of Beer on the wall." cr
+." Oh, 267 Bottles of Beer on the wall," cr
+." 267 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 266 Bottles of Beer on the wall." cr
+." Oh, 266 Bottles of Beer on the wall," cr
+." 266 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 265 Bottles of Beer on the wall." cr
+." Oh, 265 Bottles of Beer on the wall," cr
+." 265 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 264 Bottles of Beer on the wall." cr
+." Oh, 264 Bottles of Beer on the wall," cr
+." 264 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 263 Bottles of Beer on the wall." cr
+." Oh, 263 Bottles of Beer on the wall," cr
+." 263 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 262 Bottles of Beer on the wall." cr
+." Oh, 262 Bottles of Beer on the wall," cr
+." 262 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 261 Bottles of Beer on the wall." cr
+." Oh, 261 Bottles of Beer on the wall," cr
+." 261 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 260 Bottles of Beer on the wall." cr
+." Oh, 260 Bottles of Beer on the wall," cr
+." 260 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 259 Bottles of Beer on the wall." cr
+." Oh, 259 Bottles of Beer on the wall," cr
+." 259 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 258 Bottles of Beer on the wall." cr
+." Oh, 258 Bottles of Beer on the wall," cr
+." 258 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 257 Bottles of Beer on the wall." cr
+." Oh, 257 Bottles of Beer on the wall," cr
+." 257 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 256 Bottles of Beer on the wall." cr
+." Oh, 256 Bottles of Beer on the wall," cr
+." 256 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 255 Bottles of Beer on the wall." cr
+." Oh, 255 Bottles of Beer on the wall," cr
+." 255 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 254 Bottles of Beer on the wall." cr
+." Oh, 254 Bottles of Beer on the wall," cr
+." 254 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 253 Bottles of Beer on the wall." cr
+." Oh, 253 Bottles of Beer on the wall," cr
+." 253 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 252 Bottles of Beer on the wall." cr
+." Oh, 252 Bottles of Beer on the wall," cr
+." 252 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 251 Bottles of Beer on the wall." cr
+." Oh, 251 Bottles of Beer on the wall," cr
+." 251 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 250 Bottles of Beer on the wall." cr
+." Oh, 250 Bottles of Beer on the wall," cr
+." 250 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 249 Bottles of Beer on the wall." cr
+." Oh, 249 Bottles of Beer on the wall," cr
+." 249 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 248 Bottles of Beer on the wall." cr
+." Oh, 248 Bottles of Beer on the wall," cr
+." 248 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 247 Bottles of Beer on the wall." cr
+." Oh, 247 Bottles of Beer on the wall," cr
+." 247 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 246 Bottles of Beer on the wall." cr
+." Oh, 246 Bottles of Beer on the wall," cr
+." 246 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 245 Bottles of Beer on the wall." cr
+." Oh, 245 Bottles of Beer on the wall," cr
+." 245 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 244 Bottles of Beer on the wall." cr
+." Oh, 244 Bottles of Beer on the wall," cr
+." 244 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 243 Bottles of Beer on the wall." cr
+." Oh, 243 Bottles of Beer on the wall," cr
+." 243 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 242 Bottles of Beer on the wall." cr
+." Oh, 242 Bottles of Beer on the wall," cr
+." 242 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 241 Bottles of Beer on the wall." cr
+." Oh, 241 Bottles of Beer on the wall," cr
+." 241 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 240 Bottles of Beer on the wall." cr
+." Oh, 240 Bottles of Beer on the wall," cr
+." 240 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 239 Bottles of Beer on the wall." cr
+." Oh, 239 Bottles of Beer on the wall," cr
+." 239 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 238 Bottles of Beer on the wall." cr
+." Oh, 238 Bottles of Beer on the wall," cr
+." 238 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 237 Bottles of Beer on the wall." cr
+." Oh, 237 Bottles of Beer on the wall," cr
+." 237 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 236 Bottles of Beer on the wall." cr
+." Oh, 236 Bottles of Beer on the wall," cr
+." 236 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 235 Bottles of Beer on the wall." cr
+." Oh, 235 Bottles of Beer on the wall," cr
+." 235 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 234 Bottles of Beer on the wall." cr
+." Oh, 234 Bottles of Beer on the wall," cr
+." 234 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 233 Bottles of Beer on the wall." cr
+." Oh, 233 Bottles of Beer on the wall," cr
+." 233 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 232 Bottles of Beer on the wall." cr
+." Oh, 232 Bottles of Beer on the wall," cr
+." 232 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 231 Bottles of Beer on the wall." cr
+." Oh, 231 Bottles of Beer on the wall," cr
+." 231 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 230 Bottles of Beer on the wall." cr
+." Oh, 230 Bottles of Beer on the wall," cr
+." 230 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 229 Bottles of Beer on the wall." cr
+." Oh, 229 Bottles of Beer on the wall," cr
+." 229 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 228 Bottles of Beer on the wall." cr
+." Oh, 228 Bottles of Beer on the wall," cr
+." 228 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 227 Bottles of Beer on the wall." cr
+." Oh, 227 Bottles of Beer on the wall," cr
+." 227 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 226 Bottles of Beer on the wall." cr
+." Oh, 226 Bottles of Beer on the wall," cr
+." 226 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 225 Bottles of Beer on the wall." cr
+." Oh, 225 Bottles of Beer on the wall," cr
+." 225 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 224 Bottles of Beer on the wall." cr
+." Oh, 224 Bottles of Beer on the wall," cr
+." 224 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 223 Bottles of Beer on the wall." cr
+." Oh, 223 Bottles of Beer on the wall," cr
+." 223 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 222 Bottles of Beer on the wall." cr
+." Oh, 222 Bottles of Beer on the wall," cr
+." 222 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 221 Bottles of Beer on the wall." cr
+." Oh, 221 Bottles of Beer on the wall," cr
+." 221 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 220 Bottles of Beer on the wall." cr
+." Oh, 220 Bottles of Beer on the wall," cr
+." 220 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 219 Bottles of Beer on the wall." cr
+." Oh, 219 Bottles of Beer on the wall," cr
+." 219 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 218 Bottles of Beer on the wall." cr
+." Oh, 218 Bottles of Beer on the wall," cr
+." 218 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 217 Bottles of Beer on the wall." cr
+." Oh, 217 Bottles of Beer on the wall," cr
+." 217 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 216 Bottles of Beer on the wall." cr
+." Oh, 216 Bottles of Beer on the wall," cr
+." 216 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 215 Bottles of Beer on the wall." cr
+." Oh, 215 Bottles of Beer on the wall," cr
+." 215 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 214 Bottles of Beer on the wall." cr
+." Oh, 214 Bottles of Beer on the wall," cr
+." 214 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 213 Bottles of Beer on the wall." cr
+." Oh, 213 Bottles of Beer on the wall," cr
+." 213 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 212 Bottles of Beer on the wall." cr
+." Oh, 212 Bottles of Beer on the wall," cr
+." 212 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 211 Bottles of Beer on the wall." cr
+." Oh, 211 Bottles of Beer on the wall," cr
+." 211 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 210 Bottles of Beer on the wall." cr
+." Oh, 210 Bottles of Beer on the wall," cr
+." 210 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 209 Bottles of Beer on the wall." cr
+." Oh, 209 Bottles of Beer on the wall," cr
+." 209 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 208 Bottles of Beer on the wall." cr
+." Oh, 208 Bottles of Beer on the wall," cr
+." 208 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 207 Bottles of Beer on the wall." cr
+." Oh, 207 Bottles of Beer on the wall," cr
+." 207 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 206 Bottles of Beer on the wall." cr
+." Oh, 206 Bottles of Beer on the wall," cr
+." 206 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 205 Bottles of Beer on the wall." cr
+." Oh, 205 Bottles of Beer on the wall," cr
+." 205 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 204 Bottles of Beer on the wall." cr
+." Oh, 204 Bottles of Beer on the wall," cr
+." 204 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 203 Bottles of Beer on the wall." cr
+." Oh, 203 Bottles of Beer on the wall," cr
+." 203 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 202 Bottles of Beer on the wall." cr
+." Oh, 202 Bottles of Beer on the wall," cr
+." 202 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 201 Bottles of Beer on the wall." cr
+." Oh, 201 Bottles of Beer on the wall," cr
+." 201 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 200 Bottles of Beer on the wall." cr
+." Oh, 200 Bottles of Beer on the wall," cr
+." 200 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 199 Bottles of Beer on the wall." cr
+." Oh, 199 Bottles of Beer on the wall," cr
+." 199 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 198 Bottles of Beer on the wall." cr
+." Oh, 198 Bottles of Beer on the wall," cr
+." 198 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 197 Bottles of Beer on the wall." cr
+." Oh, 197 Bottles of Beer on the wall," cr
+." 197 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 196 Bottles of Beer on the wall." cr
+." Oh, 196 Bottles of Beer on the wall," cr
+." 196 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 195 Bottles of Beer on the wall." cr
+." Oh, 195 Bottles of Beer on the wall," cr
+." 195 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 194 Bottles of Beer on the wall." cr
+." Oh, 194 Bottles of Beer on the wall," cr
+." 194 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 193 Bottles of Beer on the wall." cr
+." Oh, 193 Bottles of Beer on the wall," cr
+." 193 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 192 Bottles of Beer on the wall." cr
+." Oh, 192 Bottles of Beer on the wall," cr
+." 192 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 191 Bottles of Beer on the wall." cr
+." Oh, 191 Bottles of Beer on the wall," cr
+." 191 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 190 Bottles of Beer on the wall." cr
+." Oh, 190 Bottles of Beer on the wall," cr
+." 190 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 189 Bottles of Beer on the wall." cr
+." Oh, 189 Bottles of Beer on the wall," cr
+." 189 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 188 Bottles of Beer on the wall." cr
+." Oh, 188 Bottles of Beer on the wall," cr
+." 188 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 187 Bottles of Beer on the wall." cr
+." Oh, 187 Bottles of Beer on the wall," cr
+." 187 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 186 Bottles of Beer on the wall." cr
+." Oh, 186 Bottles of Beer on the wall," cr
+." 186 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 185 Bottles of Beer on the wall." cr
+." Oh, 185 Bottles of Beer on the wall," cr
+." 185 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 184 Bottles of Beer on the wall." cr
+." Oh, 184 Bottles of Beer on the wall," cr
+." 184 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 183 Bottles of Beer on the wall." cr
+." Oh, 183 Bottles of Beer on the wall," cr
+." 183 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 182 Bottles of Beer on the wall." cr
+." Oh, 182 Bottles of Beer on the wall," cr
+." 182 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 181 Bottles of Beer on the wall." cr
+." Oh, 181 Bottles of Beer on the wall," cr
+." 181 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 180 Bottles of Beer on the wall." cr
+." Oh, 180 Bottles of Beer on the wall," cr
+." 180 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 179 Bottles of Beer on the wall." cr
+." Oh, 179 Bottles of Beer on the wall," cr
+." 179 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 178 Bottles of Beer on the wall." cr
+." Oh, 178 Bottles of Beer on the wall," cr
+." 178 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 177 Bottles of Beer on the wall." cr
+." Oh, 177 Bottles of Beer on the wall," cr
+." 177 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 176 Bottles of Beer on the wall." cr
+." Oh, 176 Bottles of Beer on the wall," cr
+." 176 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 175 Bottles of Beer on the wall." cr
+." Oh, 175 Bottles of Beer on the wall," cr
+." 175 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 174 Bottles of Beer on the wall." cr
+." Oh, 174 Bottles of Beer on the wall," cr
+." 174 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 173 Bottles of Beer on the wall." cr
+." Oh, 173 Bottles of Beer on the wall," cr
+." 173 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 172 Bottles of Beer on the wall." cr
+." Oh, 172 Bottles of Beer on the wall," cr
+." 172 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 171 Bottles of Beer on the wall." cr
+." Oh, 171 Bottles of Beer on the wall," cr
+." 171 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 170 Bottles of Beer on the wall." cr
+." Oh, 170 Bottles of Beer on the wall," cr
+." 170 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 169 Bottles of Beer on the wall." cr
+." Oh, 169 Bottles of Beer on the wall," cr
+." 169 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 168 Bottles of Beer on the wall." cr
+." Oh, 168 Bottles of Beer on the wall," cr
+." 168 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 167 Bottles of Beer on the wall." cr
+." Oh, 167 Bottles of Beer on the wall," cr
+." 167 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 166 Bottles of Beer on the wall." cr
+." Oh, 166 Bottles of Beer on the wall," cr
+." 166 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 165 Bottles of Beer on the wall." cr
+." Oh, 165 Bottles of Beer on the wall," cr
+." 165 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 164 Bottles of Beer on the wall." cr
+." Oh, 164 Bottles of Beer on the wall," cr
+." 164 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 163 Bottles of Beer on the wall." cr
+." Oh, 163 Bottles of Beer on the wall," cr
+." 163 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 162 Bottles of Beer on the wall." cr
+." Oh, 162 Bottles of Beer on the wall," cr
+." 162 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 161 Bottles of Beer on the wall." cr
+." Oh, 161 Bottles of Beer on the wall," cr
+." 161 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 160 Bottles of Beer on the wall." cr
+." Oh, 160 Bottles of Beer on the wall," cr
+." 160 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 159 Bottles of Beer on the wall." cr
+." Oh, 159 Bottles of Beer on the wall," cr
+." 159 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 158 Bottles of Beer on the wall." cr
+." Oh, 158 Bottles of Beer on the wall," cr
+." 158 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 157 Bottles of Beer on the wall." cr
+." Oh, 157 Bottles of Beer on the wall," cr
+." 157 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 156 Bottles of Beer on the wall." cr
+." Oh, 156 Bottles of Beer on the wall," cr
+." 156 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 155 Bottles of Beer on the wall." cr
+." Oh, 155 Bottles of Beer on the wall," cr
+." 155 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 154 Bottles of Beer on the wall." cr
+." Oh, 154 Bottles of Beer on the wall," cr
+." 154 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 153 Bottles of Beer on the wall." cr
+." Oh, 153 Bottles of Beer on the wall," cr
+." 153 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 152 Bottles of Beer on the wall." cr
+." Oh, 152 Bottles of Beer on the wall," cr
+." 152 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 151 Bottles of Beer on the wall." cr
+." Oh, 151 Bottles of Beer on the wall," cr
+." 151 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 150 Bottles of Beer on the wall." cr
+." Oh, 150 Bottles of Beer on the wall," cr
+." 150 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 149 Bottles of Beer on the wall." cr
+." Oh, 149 Bottles of Beer on the wall," cr
+." 149 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 148 Bottles of Beer on the wall." cr
+." Oh, 148 Bottles of Beer on the wall," cr
+." 148 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 147 Bottles of Beer on the wall." cr
+." Oh, 147 Bottles of Beer on the wall," cr
+." 147 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 146 Bottles of Beer on the wall." cr
+." Oh, 146 Bottles of Beer on the wall," cr
+." 146 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 145 Bottles of Beer on the wall." cr
+." Oh, 145 Bottles of Beer on the wall," cr
+." 145 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 144 Bottles of Beer on the wall." cr
+." Oh, 144 Bottles of Beer on the wall," cr
+." 144 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 143 Bottles of Beer on the wall." cr
+." Oh, 143 Bottles of Beer on the wall," cr
+." 143 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 142 Bottles of Beer on the wall." cr
+." Oh, 142 Bottles of Beer on the wall," cr
+." 142 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 141 Bottles of Beer on the wall." cr
+." Oh, 141 Bottles of Beer on the wall," cr
+." 141 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 140 Bottles of Beer on the wall." cr
+." Oh, 140 Bottles of Beer on the wall," cr
+." 140 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 139 Bottles of Beer on the wall." cr
+." Oh, 139 Bottles of Beer on the wall," cr
+." 139 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 138 Bottles of Beer on the wall." cr
+." Oh, 138 Bottles of Beer on the wall," cr
+." 138 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 137 Bottles of Beer on the wall." cr
+." Oh, 137 Bottles of Beer on the wall," cr
+." 137 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 136 Bottles of Beer on the wall." cr
+." Oh, 136 Bottles of Beer on the wall," cr
+." 136 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 135 Bottles of Beer on the wall." cr
+." Oh, 135 Bottles of Beer on the wall," cr
+." 135 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 134 Bottles of Beer on the wall." cr
+." Oh, 134 Bottles of Beer on the wall," cr
+." 134 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 133 Bottles of Beer on the wall." cr
+." Oh, 133 Bottles of Beer on the wall," cr
+." 133 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 132 Bottles of Beer on the wall." cr
+." Oh, 132 Bottles of Beer on the wall," cr
+." 132 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 131 Bottles of Beer on the wall." cr
+." Oh, 131 Bottles of Beer on the wall," cr
+." 131 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 130 Bottles of Beer on the wall." cr
+." Oh, 130 Bottles of Beer on the wall," cr
+." 130 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 129 Bottles of Beer on the wall." cr
+." Oh, 129 Bottles of Beer on the wall," cr
+." 129 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 128 Bottles of Beer on the wall." cr
+." Oh, 128 Bottles of Beer on the wall," cr
+." 128 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 127 Bottles of Beer on the wall." cr
+." Oh, 127 Bottles of Beer on the wall," cr
+." 127 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 126 Bottles of Beer on the wall." cr
+." Oh, 126 Bottles of Beer on the wall," cr
+." 126 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 125 Bottles of Beer on the wall." cr
+." Oh, 125 Bottles of Beer on the wall," cr
+." 125 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 124 Bottles of Beer on the wall." cr
+." Oh, 124 Bottles of Beer on the wall," cr
+." 124 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 123 Bottles of Beer on the wall." cr
+." Oh, 123 Bottles of Beer on the wall," cr
+." 123 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 122 Bottles of Beer on the wall." cr
+." Oh, 122 Bottles of Beer on the wall," cr
+." 122 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 121 Bottles of Beer on the wall." cr
+." Oh, 121 Bottles of Beer on the wall," cr
+." 121 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 120 Bottles of Beer on the wall." cr
+." Oh, 120 Bottles of Beer on the wall," cr
+." 120 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 119 Bottles of Beer on the wall." cr
+." Oh, 119 Bottles of Beer on the wall," cr
+." 119 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 118 Bottles of Beer on the wall." cr
+." Oh, 118 Bottles of Beer on the wall," cr
+." 118 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 117 Bottles of Beer on the wall." cr
+." Oh, 117 Bottles of Beer on the wall," cr
+." 117 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 116 Bottles of Beer on the wall." cr
+." Oh, 116 Bottles of Beer on the wall," cr
+." 116 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 115 Bottles of Beer on the wall." cr
+." Oh, 115 Bottles of Beer on the wall," cr
+." 115 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 114 Bottles of Beer on the wall." cr
+." Oh, 114 Bottles of Beer on the wall," cr
+." 114 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 113 Bottles of Beer on the wall." cr
+." Oh, 113 Bottles of Beer on the wall," cr
+." 113 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 112 Bottles of Beer on the wall." cr
+." Oh, 112 Bottles of Beer on the wall," cr
+." 112 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 111 Bottles of Beer on the wall." cr
+." Oh, 111 Bottles of Beer on the wall," cr
+." 111 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 110 Bottles of Beer on the wall." cr
+." Oh, 110 Bottles of Beer on the wall," cr
+." 110 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 109 Bottles of Beer on the wall." cr
+." Oh, 109 Bottles of Beer on the wall," cr
+." 109 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 108 Bottles of Beer on the wall." cr
+." Oh, 108 Bottles of Beer on the wall," cr
+." 108 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 107 Bottles of Beer on the wall." cr
+." Oh, 107 Bottles of Beer on the wall," cr
+." 107 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 106 Bottles of Beer on the wall." cr
+." Oh, 106 Bottles of Beer on the wall," cr
+." 106 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 105 Bottles of Beer on the wall." cr
+." Oh, 105 Bottles of Beer on the wall," cr
+." 105 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 104 Bottles of Beer on the wall." cr
+." Oh, 104 Bottles of Beer on the wall," cr
+." 104 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 103 Bottles of Beer on the wall." cr
+." Oh, 103 Bottles of Beer on the wall," cr
+." 103 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 102 Bottles of Beer on the wall." cr
+." Oh, 102 Bottles of Beer on the wall," cr
+." 102 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 101 Bottles of Beer on the wall." cr
+." Oh, 101 Bottles of Beer on the wall," cr
+." 101 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 100 Bottles of Beer on the wall." cr
+." Oh, 100 Bottles of Beer on the wall," cr
+." 100 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 99 Bottles of Beer on the wall." cr
+." Oh, 99 Bottles of Beer on the wall," cr
+." 99 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 98 Bottles of Beer on the wall." cr
+." Oh, 98 Bottles of Beer on the wall," cr
+." 98 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 97 Bottles of Beer on the wall." cr
+." Oh, 97 Bottles of Beer on the wall," cr
+." 97 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 96 Bottles of Beer on the wall." cr
+." Oh, 96 Bottles of Beer on the wall," cr
+." 96 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 95 Bottles of Beer on the wall." cr
+." Oh, 95 Bottles of Beer on the wall," cr
+." 95 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 94 Bottles of Beer on the wall." cr
+." Oh, 94 Bottles of Beer on the wall," cr
+." 94 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 93 Bottles of Beer on the wall." cr
+." Oh, 93 Bottles of Beer on the wall," cr
+." 93 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 92 Bottles of Beer on the wall." cr
+." Oh, 92 Bottles of Beer on the wall," cr
+." 92 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 91 Bottles of Beer on the wall." cr
+." Oh, 91 Bottles of Beer on the wall," cr
+." 91 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 90 Bottles of Beer on the wall." cr
+." Oh, 90 Bottles of Beer on the wall," cr
+." 90 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 89 Bottles of Beer on the wall." cr
+." Oh, 89 Bottles of Beer on the wall," cr
+." 89 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 88 Bottles of Beer on the wall." cr
+." Oh, 88 Bottles of Beer on the wall," cr
+." 88 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 87 Bottles of Beer on the wall." cr
+." Oh, 87 Bottles of Beer on the wall," cr
+." 87 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 86 Bottles of Beer on the wall." cr
+." Oh, 86 Bottles of Beer on the wall," cr
+." 86 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 85 Bottles of Beer on the wall." cr
+." Oh, 85 Bottles of Beer on the wall," cr
+." 85 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 84 Bottles of Beer on the wall." cr
+." Oh, 84 Bottles of Beer on the wall," cr
+." 84 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 83 Bottles of Beer on the wall." cr
+." Oh, 83 Bottles of Beer on the wall," cr
+." 83 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 82 Bottles of Beer on the wall." cr
+." Oh, 82 Bottles of Beer on the wall," cr
+." 82 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 81 Bottles of Beer on the wall." cr
+." Oh, 81 Bottles of Beer on the wall," cr
+." 81 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 80 Bottles of Beer on the wall." cr
+." Oh, 80 Bottles of Beer on the wall," cr
+." 80 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 79 Bottles of Beer on the wall." cr
+." Oh, 79 Bottles of Beer on the wall," cr
+." 79 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 78 Bottles of Beer on the wall." cr
+." Oh, 78 Bottles of Beer on the wall," cr
+." 78 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 77 Bottles of Beer on the wall." cr
+." Oh, 77 Bottles of Beer on the wall," cr
+." 77 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 76 Bottles of Beer on the wall." cr
+." Oh, 76 Bottles of Beer on the wall," cr
+." 76 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 75 Bottles of Beer on the wall." cr
+." Oh, 75 Bottles of Beer on the wall," cr
+." 75 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 74 Bottles of Beer on the wall." cr
+." Oh, 74 Bottles of Beer on the wall," cr
+." 74 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 73 Bottles of Beer on the wall." cr
+." Oh, 73 Bottles of Beer on the wall," cr
+." 73 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 72 Bottles of Beer on the wall." cr
+." Oh, 72 Bottles of Beer on the wall," cr
+." 72 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 71 Bottles of Beer on the wall." cr
+." Oh, 71 Bottles of Beer on the wall," cr
+." 71 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 70 Bottles of Beer on the wall." cr
+." Oh, 70 Bottles of Beer on the wall," cr
+." 70 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 69 Bottles of Beer on the wall." cr
+." Oh, 69 Bottles of Beer on the wall," cr
+." 69 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 68 Bottles of Beer on the wall." cr
+." Oh, 68 Bottles of Beer on the wall," cr
+." 68 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 67 Bottles of Beer on the wall." cr
+." Oh, 67 Bottles of Beer on the wall," cr
+." 67 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 66 Bottles of Beer on the wall." cr
+." Oh, 66 Bottles of Beer on the wall," cr
+." 66 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 65 Bottles of Beer on the wall." cr
+." Oh, 65 Bottles of Beer on the wall," cr
+." 65 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 64 Bottles of Beer on the wall." cr
+." Oh, 64 Bottles of Beer on the wall," cr
+." 64 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 63 Bottles of Beer on the wall." cr
+." Oh, 63 Bottles of Beer on the wall," cr
+." 63 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 62 Bottles of Beer on the wall." cr
+." Oh, 62 Bottles of Beer on the wall," cr
+." 62 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 61 Bottles of Beer on the wall." cr
+." Oh, 61 Bottles of Beer on the wall," cr
+." 61 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 60 Bottles of Beer on the wall." cr
+." Oh, 60 Bottles of Beer on the wall," cr
+." 60 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 59 Bottles of Beer on the wall." cr
+." Oh, 59 Bottles of Beer on the wall," cr
+." 59 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 58 Bottles of Beer on the wall." cr
+." Oh, 58 Bottles of Beer on the wall," cr
+." 58 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 57 Bottles of Beer on the wall." cr
+." Oh, 57 Bottles of Beer on the wall," cr
+." 57 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 56 Bottles of Beer on the wall." cr
+." Oh, 56 Bottles of Beer on the wall," cr
+." 56 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 55 Bottles of Beer on the wall." cr
+." Oh, 55 Bottles of Beer on the wall," cr
+." 55 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 54 Bottles of Beer on the wall." cr
+." Oh, 54 Bottles of Beer on the wall," cr
+." 54 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 53 Bottles of Beer on the wall." cr
+." Oh, 53 Bottles of Beer on the wall," cr
+." 53 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 52 Bottles of Beer on the wall." cr
+." Oh, 52 Bottles of Beer on the wall," cr
+." 52 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 51 Bottles of Beer on the wall." cr
+." Oh, 51 Bottles of Beer on the wall," cr
+." 51 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 50 Bottles of Beer on the wall." cr
+." Oh, 50 Bottles of Beer on the wall," cr
+." 50 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 49 Bottles of Beer on the wall." cr
+." Oh, 49 Bottles of Beer on the wall," cr
+." 49 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 48 Bottles of Beer on the wall." cr
+." Oh, 48 Bottles of Beer on the wall," cr
+." 48 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 47 Bottles of Beer on the wall." cr
+." Oh, 47 Bottles of Beer on the wall," cr
+." 47 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 46 Bottles of Beer on the wall." cr
+." Oh, 46 Bottles of Beer on the wall," cr
+." 46 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 45 Bottles of Beer on the wall." cr
+." Oh, 45 Bottles of Beer on the wall," cr
+." 45 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 44 Bottles of Beer on the wall." cr
+." Oh, 44 Bottles of Beer on the wall," cr
+." 44 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 43 Bottles of Beer on the wall." cr
+." Oh, 43 Bottles of Beer on the wall," cr
+." 43 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 42 Bottles of Beer on the wall." cr
+." Oh, 42 Bottles of Beer on the wall," cr
+." 42 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 41 Bottles of Beer on the wall." cr
+." Oh, 41 Bottles of Beer on the wall," cr
+." 41 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 40 Bottles of Beer on the wall." cr
+." Oh, 40 Bottles of Beer on the wall," cr
+." 40 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 39 Bottles of Beer on the wall." cr
+." Oh, 39 Bottles of Beer on the wall," cr
+." 39 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 38 Bottles of Beer on the wall." cr
+." Oh, 38 Bottles of Beer on the wall," cr
+." 38 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 37 Bottles of Beer on the wall." cr
+." Oh, 37 Bottles of Beer on the wall," cr
+." 37 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 36 Bottles of Beer on the wall." cr
+." Oh, 36 Bottles of Beer on the wall," cr
+." 36 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 35 Bottles of Beer on the wall." cr
+." Oh, 35 Bottles of Beer on the wall," cr
+." 35 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 34 Bottles of Beer on the wall." cr
+." Oh, 34 Bottles of Beer on the wall," cr
+." 34 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 33 Bottles of Beer on the wall." cr
+." Oh, 33 Bottles of Beer on the wall," cr
+." 33 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 32 Bottles of Beer on the wall." cr
+." Oh, 32 Bottles of Beer on the wall," cr
+." 32 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 31 Bottles of Beer on the wall." cr
+." Oh, 31 Bottles of Beer on the wall," cr
+." 31 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 30 Bottles of Beer on the wall." cr
+." Oh, 30 Bottles of Beer on the wall," cr
+." 30 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 29 Bottles of Beer on the wall." cr
+." Oh, 29 Bottles of Beer on the wall," cr
+." 29 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 28 Bottles of Beer on the wall." cr
+." Oh, 28 Bottles of Beer on the wall," cr
+." 28 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 27 Bottles of Beer on the wall." cr
+." Oh, 27 Bottles of Beer on the wall," cr
+." 27 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 26 Bottles of Beer on the wall." cr
+." Oh, 26 Bottles of Beer on the wall," cr
+." 26 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 25 Bottles of Beer on the wall." cr
+." Oh, 25 Bottles of Beer on the wall," cr
+." 25 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 24 Bottles of Beer on the wall." cr
+." Oh, 24 Bottles of Beer on the wall," cr
+." 24 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 23 Bottles of Beer on the wall." cr
+." Oh, 23 Bottles of Beer on the wall," cr
+." 23 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 22 Bottles of Beer on the wall." cr
+." Oh, 22 Bottles of Beer on the wall," cr
+." 22 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 21 Bottles of Beer on the wall." cr
+." Oh, 21 Bottles of Beer on the wall," cr
+." 21 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 20 Bottles of Beer on the wall." cr
+." Oh, 20 Bottles of Beer on the wall," cr
+." 20 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 19 Bottles of Beer on the wall." cr
+." Oh, 19 Bottles of Beer on the wall," cr
+." 19 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 18 Bottles of Beer on the wall." cr
+." Oh, 18 Bottles of Beer on the wall," cr
+." 18 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 17 Bottles of Beer on the wall." cr
+." Oh, 17 Bottles of Beer on the wall," cr
+." 17 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 16 Bottles of Beer on the wall." cr
+." Oh, 16 Bottles of Beer on the wall," cr
+." 16 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 15 Bottles of Beer on the wall." cr
+." Oh, 15 Bottles of Beer on the wall," cr
+." 15 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 14 Bottles of Beer on the wall." cr
+." Oh, 14 Bottles of Beer on the wall," cr
+." 14 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 13 Bottles of Beer on the wall." cr
+." Oh, 13 Bottles of Beer on the wall," cr
+." 13 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 12 Bottles of Beer on the wall." cr
+." Oh, 12 Bottles of Beer on the wall," cr
+." 12 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 11 Bottles of Beer on the wall." cr
+." Oh, 11 Bottles of Beer on the wall," cr
+." 11 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 10 Bottles of Beer on the wall." cr
+." Oh, 10 Bottles of Beer on the wall," cr
+." 10 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 9 Bottles of Beer on the wall." cr
+." Oh, 9 Bottles of Beer on the wall," cr
+." 9 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 8 Bottles of Beer on the wall." cr
+." Oh, 8 Bottles of Beer on the wall," cr
+." 8 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 7 Bottles of Beer on the wall." cr
+." Oh, 7 Bottles of Beer on the wall," cr
+." 7 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 6 Bottles of Beer on the wall." cr
+." Oh, 6 Bottles of Beer on the wall," cr
+." 6 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 5 Bottles of Beer on the wall." cr
+." Oh, 5 Bottles of Beer on the wall," cr
+." 5 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 4 Bottles of Beer on the wall." cr
+." Oh, 4 Bottles of Beer on the wall," cr
+." 4 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 3 Bottles of Beer on the wall." cr
+." Oh, 3 Bottles of Beer on the wall," cr
+." 3 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 2 Bottles of Beer on the wall." cr
+." Oh, 2 Bottles of Beer on the wall," cr
+." 2 Bottles of Beer!," cr
+." Take one down and pass it around," cr
+." 1 Bottle of Beer on the wall." cr
+." Oh, 1 Bottle of Beer on the wall," cr
+." 1 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/TokeErrs/UserMacroErrors.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/UserMacroErrors.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/UserMacroErrors.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,47 @@
+\ Test Error-catching for user-defined macros and other new features.
+\ Including: erroneous attempt at recursive macro invocation...
+\ Updated Tue, 17 Jan 2006 at 11:25 PST by David L. Paktor
+
+global-definitions
+
+[macro] lookma
+[macro]
+[macro] lookpa .( Hey, Pa! Hands! HaHa! )
+[macro] heylookmeover .( What's clover?) \ It's money, honey!
+[macro] lookout .( Look out, look out look out!
+[macro] f[looknoquote f[ ." I forgot
+#message Are you ready?
+alias foop dup
+overload [macro] dup #message" Faking a DUP here" foop
+
+device-definitions
+
+fcode-version2
+headers
+
+lookpa
+heylookmeover
+lookpa
+
+lookout
+f[looknoquote ]f
+
+: whatzit
+ heylookmeover
+ dup
+ to heylookmeover
+ dup
+ to 2+
+;
+
+ a#
+
+#message Here comes a little bit of macro recursion.
+[macro] foop #message" It's a call to dup, but which one?" dup
+
+: now-what?
+ #message Don't try this at home, kids...
+ dup
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/errtest1.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/errtest1.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/errtest1.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,15 @@
+\ fload errtestcase1.fth
+
+fcode-version2
+
+: girasffe ( a bd ce -- )
+ begin
+ { fee fie ; fo fum }
+ fee fie + -> fo
+ fee fie - -> fum
+ fum fee <>
+ fum fee = or
+ until
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/errtest2.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/errtest2.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/errtest2.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,15 @@
+\ fload errtestcase2.fth
+
+
+fcode-version2
+
+: gorilla ( a b c -- ?? )
+ dup if
+ { fee fie ; fo fum }
+ fee fie + -> fo
+ fee fie - -> fum
+ then
+;
+
+
+fcode-end
Added: fcode-utils/testsuite/TokeErrs/testLocDevSupG.fth
===================================================================
--- fcode-utils/testsuite/TokeErrs/testLocDevSupG.fth (rev 0)
+++ fcode-utils/testsuite/TokeErrs/testLocDevSupG.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,27 @@
+\ Test whether the Local-Values Support file will tokeniz ok
+\ with a Global setting -- and an error.
+
+\ Updated Mon, 23 Jan 2006 at 18:50 PST by David L. Paktor
+
+fcode-version2
+
+external
+h# 30 constant _local-storage-size_
+\ Ooopsie!
+\ That's not the same scope as where LocalValuesSupport.fth will look for it!
+headers
+instance variable gumbage
+instance variable guggley
+instance variable burglar
+instance variable hot-dog
+: update " Updated Mon, 23 Jan 2006 at 18:50 PST by David L. Paktor" ;
+
+global-definitions
+fload LocalValuesSupport.fth
+fload LocalValuesDevelSupport.fth
+device-definitions
+
+: downdate ['] update catch ;
+
+fcode-end
+
Added: fcode-utils/testsuite/TokoLoco/GlobalLocalValues.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/GlobalLocalValues.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/GlobalLocalValues.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,22 @@
+\ Load Locals Support under Global-Definitions. Bypass Instance warning
+
+\ Updated Fri, 10 Mar 2006 at 14:47 PST by David L. Paktor
+
+\ Make sure this option is turned on.
+[flag] Local-Values
+
+global-definitions
+
+\ Bypass warning about Instance without altering LocalValuesSupport file
+alias generic-instance instance
+[macro] bypass-instance f[ noop .( Bypassed instance!) f]
+
+overload alias instance bypass-instance
+
+fload LocalValuesSupport.fth
+
+\ Replace normal meaning of Instance, still in Global scope.
+overload alias instance generic-instance
+
+\ Restore Device-Definitions scope.
+device-definitions
Added: fcode-utils/testsuite/TokoLoco/SupportedLocalTest.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/SupportedLocalTest.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/SupportedLocalTest.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,60 @@
+\ SupportedLocalTest.fth
+\ Updated Thu, 29 Sep 2005 at 11:34 PDT by David L. Paktor
+
+
+fcode-version2
+
+headers
+hex 20 drop
+decimal 32 drop
+octal 40 drop
+decimal
+o# 40 40 2drop
+d# 32 32 2drop
+h# 20 20 2drop
+
+d# 32 constant _local-storage-size_
+
+fload LocalValuesSupport.fth
+
+
+: faber ( n3 n2 n1 -- alloc-addr size $addr,len )
+ { _otter _weasel _skunk ; _muskrat _mole }
+ \ _otter is initialized with the value of n3
+ \ _weasel is initialized with the value of n2
+ \ _skunk is initialized with the value of n1
+ \ _muskrat and _mole are uninitialized
+
+ \ Use n1 to determine an amount of memory to allocate, and
+ \ stuff the address into _mole
+ _skunk 40 * -> _muskrat
+ _muskrat alloc-mem -> _mole
+ _weasel .h type
+ _otter .d type
+ _mole _muskrat _mole count
+;
+
+: miracle ( n3 n2 n1 -- m3 m2 m1 )
+ { _curly _larry _moe | _shemp _besser _joe }
+ ." Nyuk! " _curly .h cr
+ ." Why, you... " _moe .d cr
+ ." Ouch! " _larry .
+ _curly _moe + -> _shemp
+ _larry _moe + -> _besser
+ _besser _curly + -> _joe
+ _joe _besser 8 faber type free-mem
+ _moe _larry 8 faber type free-mem
+ _curly _besser 8 faber type free-mem
+ _larry _shemp
+;
+
+: ordinary ( -- )
+ 123 456 789 miracle
+;
+
+fload SupportedLocalTest2.fth
+
+h# ordinary
+
+fcode-end
+
Added: fcode-utils/testsuite/TokoLoco/SupportedLocalTest2.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/SupportedLocalTest2.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/SupportedLocalTest2.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,37 @@
+\ SupportedLocalTest2.fth
+\ Updated Fri, 18 Mar 2005 at 14:47 by David L. Paktor
+
+: ducksoup ( n1 n2 n3 n4 -- m1 m2 )
+ { _harpo _chico \
+ _groucho _zeppo }
+ _groucho _harpo *
+ _chico _zeppo +
+ _groucho _zeppo = if swap exit then
+ _groucho + swap _zeppo +
+;
+
+: coconuts ( m1 m2 -- m3 m4 m5 )
+ { ( No initted locals ) ; q \ Try a one-character name
+ _gummo \ The little-known Marx brother
+ _karl \ Was he part of the comedy act, too?
+ }
+ 2dup < if swap then
+ 2dup / -> _gummo
+ 2dup - -> _karl
+ * -> q
+ _karl _gummo q
+;
+
+: spaulding ( x y -- u v w ){ _lfn _pjs | _ill _never _know }
+ _pjs _lfn - -> _never
+ _never _pjs * -> _ill
+ _ill _lfn / -> _know
+ _ill _never _know
+ ;
+
+: dumont ( a b -- c )
+ { _dont _ask
+ | _why }
+ _ask _dont / -> _why
+ _why _ask - _dont *
+;
Added: fcode-utils/testsuite/TokoLoco/SupportedLocalTest3.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/SupportedLocalTest3.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/SupportedLocalTest3.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,21 @@
+\ SupportedLocalTest3.fth
+\ Updated Thu, 29 Sep 2005 at 11:34 PDT by David L. Paktor
+
+
+fcode-version2
+
+headers
+
+d# 32 constant _local-storage-size_
+
+fload LocalValuesSupport.fth
+
+: ducksoup ( n1 n2 n3 n4 -- m1 m2 )
+ { _harpo _chico _groucho | _zeppo _karl }
+ _groucho _harpo *
+ _chico +
+ _groucho _zeppo = if swap exit then
+ _groucho + swap _zeppo +
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokoLoco/SupportedLocalTest4.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/SupportedLocalTest4.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/SupportedLocalTest4.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,63 @@
+\ SupportedLocalTest4.fth
+\ Updated Thu, 29 Sep 2005 at 11:34 PDT by David L. Paktor
+
+
+fcode-version2
+
+headers
+hex 20 drop
+decimal 32 drop
+octal 40 drop
+decimal
+o# 40 40 2drop
+d# 32 32 2drop
+h# 20 20 2drop
+
+d# 32 constant _local-storage-size_
+
+fload LocalValuesSupport.fth
+
+
+: faber ( m4 m3 n2 n1 n0 -- alloc-addr size $addr,len )
+ { _otter \ _otter is initialized with the value of n2
+ _weasel \ _weasel is initialized with the value of n1
+ _skunk \ _skunk is initialized with the value of n0
+ \ It will be used to determine
+ \ an amount of memory to allocate
+ ( Vertical Bar ends the group of Initialized Locals ) | ( m3 and m4 stay on the stack )
+ \ These are uninitialized:
+ _muskrat \ final size of the allocation
+ _mole \ address of the allocated memory
+ }
+
+ _skunk 40 * -> _muskrat
+ _muskrat alloc-mem -> _mole
+ _weasel .h type
+ _otter .d type
+ _mole _muskrat _mole count
+;
+
+
+
+: miracle ( n3 n2 n1 -- m3 m2 m1 )
+ { _curly _larry _moe | _shemp _besser _joe }
+ ." Nyuk! " _curly .h cr
+ ." Why, you... " _moe .d cr
+ ." Ouch! " _larry .
+ _curly _moe + -> _shemp
+ _larry _moe + -> _besser
+ _besser _curly + -> _joe
+ _joe _besser 8 faber type free-mem
+ _moe _larry 8 faber type free-mem
+ _curly _besser 8 faber type free-mem
+ _larry _shemp
+;
+
+: ordinary ( -- )
+ 123 456 789 miracle
+;
+
+h# ordinary
+
+fcode-end
+
Added: fcode-utils/testsuite/TokoLoco/TestArgs
===================================================================
--- fcode-utils/testsuite/TokoLoco/TestArgs (rev 0)
+++ fcode-utils/testsuite/TokoLoco/TestArgs 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,29 @@
+# Automated Test Arguments file for TokoLoco category
+# (That's short for "Tokenizer Locals")
+
+# 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.
+
+# All files in this category need the -f Local-Values switch
+# Some will have additional variants.
+
+# Updated Mon, 20 Mar 2006 at 11:18 PST by David L. Paktor
+
+
+testNest , , -f Local-Values -l -I. -I..
+SupportedLocalTest , , -f LOCAL-Values -l -I. -I..
+SupportedLocalTest3 , , -f Local-VALUES -l -I. -I..
+SupportedLocalTest4 , , -f Local-Values -l -I. -I..
+testDevelSupport , , -f local-values -I. -I..
+
+# Additional variants:
+SupportedLocalTest , nodupwrn , -f Local-VALUES -f NOWarn-if-DUPLicate -l -I. -I..
+SupportedLocalTest , nolegacy , -f LoCAL-VALUes -f NoLV-Legacy-Separator -l -I. -I..
+SupportedLocalTest , nolgcmsg , -f Local-ValUES -f NOLV-LEGAcy-Message -l -I. -I..
+SupportedLocalTest , nolocals , -i -f noLocal-Values -l -I. -I..
+SupportedLocalTest3 , DefLocStgSiz , -f Local-VALUes -d '_loCAL-STORagE-SIZe_=h# 42' -l -I. -I..
Added: fcode-utils/testsuite/TokoLoco/testCatch.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/testCatch.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/testCatch.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,81 @@
+\ testcase3.fth
+\ Updated Wed 2 Mar 2005 at 09:54 by David L. Paktor
+
+marker fuggedaboudit
+
+: foobar ( n3 n2 n1 -- m1 )
+ { _eenie _meany _miney ; _moe }
+ ." Eenie = " _eenie . cr
+ ." Meany = " _meany . cr
+ ." Miney = " _miney . cr
+ _meany _miney + _eenie * -> _moe
+ " throw" confirmed? cr throw
+ ." Moe = " _moe . cr
+ _moe
+;
+
+: goobar ( n3 n2 n1 -- m1 )
+ { _eenie _meany _miney ; _moe }
+ ." GEenie = " _eenie . cr
+ ." GMeany = " _meany . cr
+ ." GMiney = " _miney . cr
+ _meany 2* _eenie 2* _miney 2* foobar 10 + -> _moe
+ ." GEenie = " _eenie . cr
+ ." GMeany = " _meany . cr
+ ." GMiney = " _miney . cr
+ ." GMoe = " _moe . cr
+ _moe
+;
+
+: loobar ( n3 n2 n1 -- m1 )
+ { _eenie _meany _miney ; _moe }
+ ." LEenie = " _eenie . cr
+ ." LMeany = " _meany . cr
+ ." LMiney = " _miney . cr
+ _miney 2* _meany 2* _eenie 2* goobar 10 + -> _moe
+ ." LEenie = " _eenie . cr
+ ." LMeany = " _meany . cr
+ ." LMiney = " _miney . cr
+ ." LMoe = " _moe . cr
+ _moe
+;
+
+: hoobar ( n3 n2 n1 -- m1 )
+ { _eenie _meany _miney ; _moe }
+ ." HEenie = " _eenie . cr
+ ." HMeany = " _meany . cr
+ ." HMiney = " _miney . cr
+ _eenie 2* _miney 2* _meany 2* loobar 10 + -> _moe
+ ." HEenie = " _eenie . cr
+ ." HMeany = " _meany . cr
+ ." HMiney = " _miney . cr
+ ." HMoe = " _moe . cr
+ _moe
+;
+
+: poobar ( n3 n2 n1 -- m1 )
+ { _eenie _meany _miney ; _moe }
+ ." PEenie = " _eenie . cr
+ ." PMeany = " _meany . cr
+ ." PMiney = " _miney . cr
+ _miney 2* _meany 2* _eenie 2*
+ ['] hoobar catch if
+ ." Caught" 3drop false
+ else 10 + -> _moe true
+ then cr
+ ." PEenie = " _eenie . cr
+ ." PMeany = " _meany . cr
+ ." PMiney = " _miney . cr
+ if
+ ." PMoe = " _moe . cr _moe
+ else 0
+ then cr
+
+;
+
+
+: ordinary ( -- )
+ 123 456 789 poobar
+ .s cr
+;
+
Added: fcode-utils/testsuite/TokoLoco/testDevelSupport.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/testDevelSupport.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/testDevelSupport.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,22 @@
+\ Test whether the Local-Values Support file will tokenize ok.
+
+\ Updated Sat, 12 Mar 2005 at 23:18 by David L. Paktor
+
+fcode-version2
+
+external
+h# 30 constant _local-storage-size_
+headers
+instance variable gumbage
+instance variable guggley
+instance variable burglar
+instance variable hot-dog
+: update " Updated Thu, 29 Sep 2005 at 11:34 PDT by David L. Paktor" ;
+
+fload LocalValuesSupport.fth
+fload LocalValuesDevelSupport.fth
+
+: downdate ['] update catch ;
+
+fcode-end
+
Added: fcode-utils/testsuite/TokoLoco/testNest.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/testNest.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/testNest.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,27 @@
+\ It seems that fload nesting diddent werk rite.
+\ Let's see just how bad it was...
+
+\ I fixed assigning FCode numbers, but not nesting
+\ Seemed it diddent nest more than one deep...
+
+\ Did I fix it?
+\ Yeah. It was an artifact of an error in the test sequence...
+
+fcode-version2
+
+headers
+instance variable happy
+instance variable grumpy
+instance variable sleepy
+
+fload testNest1.fth
+
+: whatsit0ya ( -- )
+ whatsit1ya
+ ." Happy is " happy @ .
+ ." Grumpy is " grumpy @ .
+ ." Sleepy is " sleepy @ .
+ ['] downdate catch
+;
+
+fcode-end
Added: fcode-utils/testsuite/TokoLoco/testNest1.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/testNest1.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/testNest1.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,14 @@
+
+instance variable sneezy
+instance variable bashful
+instance variable dopey
+
+fload testNest2.fth
+
+: whatsit1ya ( -- )
+ whatsit2ya
+ ." Sneezy is " sneezy @ .
+ ." Bashful is " bashful @ .
+ ." Dopey is " dopey @ .
+ ['] downdate catch
+;
Added: fcode-utils/testsuite/TokoLoco/testNest2.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/testNest2.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/testNest2.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,15 @@
+
+instance variable and_doc
+instance variable crappy
+instance variable dumpy
+
+fload testNest3.fth
+
+
+: whatsit2ya ( -- )
+ whatsit3ya
+ ." And_doc is " and_doc @ .
+ ." Crappy is " crappy @ .
+ ." Dumpy is " dumpy @ .
+ ['] downdate catch
+;
Added: fcode-utils/testsuite/TokoLoco/testNest3.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/testNest3.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/testNest3.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,22 @@
+
+
+external
+h# 30 constant _local-storage-size_
+headers
+
+instance variable sleazy
+instance variable cheapy
+instance variable scruffy
+
+: update " Updated Thu, 29 Sep 2005 at 11:34 PDT by David L. Paktor" ;
+
+fload LocalValuesSupport.fth
+
+: downdate ['] update catch ;
+
+: whatsit3ya ( -- )
+ ." Sleazy is " sleazy @ .
+ ." Cheapy is " cheapy @ .
+ ." Scruffy is " scruffy @ .
+;
+
Added: fcode-utils/testsuite/TokoLoco/testSupport.fth
===================================================================
--- fcode-utils/testsuite/TokoLoco/testSupport.fth (rev 0)
+++ fcode-utils/testsuite/TokoLoco/testSupport.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1,19 @@
+\ Test whether the Local-Values Support file will tokenize ok.
+
+fcode-version2
+
+external
+h# 30 constant _local-storage-size_
+headers
+instance variable gumbage
+instance variable guggley
+instance variable burglar
+instance variable hot-dog
+: update " Updated Thu, 29 Sep 2005 at 11:34 PDT by David L. Paktor" ;
+
+fload LocalValuesSupport.fth
+
+: downdate ['] update catch ;
+
+fcode-end
+
Added: fcode-utils/testsuite/TotalLocalValuesSupport.fth
===================================================================
--- fcode-utils/testsuite/TotalLocalValuesSupport.fth (rev 0)
+++ fcode-utils/testsuite/TotalLocalValuesSupport.fth 2006-10-14 20:31:53 UTC (rev 91)
@@ -0,0 +1 @@
+link ../../LocalValues/TotalLocalValuesSupport.fth
\ No newline at end of file
Property changes on: fcode-utils/testsuite/TotalLocalValuesSupport.fth
___________________________________________________________________
Name: svn:special
+ *
1
0
Author: stepan
Date: 2006-10-14 22:19:21 +0200 (Sat, 14 Oct 2006)
New Revision: 90
Modified:
fcode-utils/detok/decode.c
fcode-utils/detok/detok.c
fcode-utils/toke/dictionary.c
fcode-utils/toke/scanner.c
fcode-utils/toke/strsubvocab.c
fcode-utils/toke/strsubvocab.h
fcode-utils/toke/toke.c
fcode-utils/toke/tokzesc.c
fcode-utils/toke/tokzesc.h
fcode-utils/toke/usersymbols.c
fcode-utils/toke/usersymbols.h
fcode-utils/toke/vocabfuncts.h
Log:
merge David Paktor's changes for toke 1.0.1
Modified: fcode-utils/detok/decode.c
===================================================================
--- fcode-utils/detok/decode.c 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/detok/decode.c 2006-10-14 20:19:21 UTC (rev 90)
@@ -206,7 +206,7 @@
* or
* b) detok is in verbose mode.
*/
- if ( tname == unnamed )
+ if ( strcmp( tname, unnamed) == 0 )
{
printf("[0x%03x] ", fcode);
} else {
@@ -355,7 +355,7 @@
output_token();
token = next_token();
printf("0x%03x\n",token);
- add_token(token, (char *)unnamed);
+ add_token(token, strdup(unnamed));
}
static void named_token(void)
Modified: fcode-utils/detok/detok.c
===================================================================
--- fcode-utils/detok/detok.c 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/detok/detok.c 2006-10-14 20:19:21 UTC (rev 90)
@@ -184,6 +184,7 @@
close_stream();
optind++;
+ reset_dictionary();
}
printf("\n");
Modified: fcode-utils/toke/dictionary.c
===================================================================
--- fcode-utils/toke/dictionary.c 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/toke/dictionary.c 2006-10-14 20:19:21 UTC (rev 90)
@@ -212,61 +212,6 @@
/* **************************************************************************
*
- * Function name: exists_in_core
- * Synopsis: Confirm whether the given name exists in the
- * Global (aka "core") Vocabulary. Search the
- * Global Vocabulary exclusively.
- *
- * Inputs:
- * Parameters:
- * name The name for which to look
- * Local Static Variables:
- * global_voc_dict_ptr "Tail" of Global Vocabulary
- *
- * Outputs:
- * Returned Value: TRUE if name is found.
- *
- **************************************************************************** */
-
-bool exists_in_core( char *name)
-{
- return exists_in_tic_vocab( name, global_voc_dict_ptr );
-}
-
-/* **************************************************************************
- *
- * Function name: handle_core_word
- * Synopsis: Perform a function in the "Global" Vocabulary and
- * indicate whether the name is valid.
- *
- * Inputs:
- * Parameters:
- * tname The name to handle
- * Local Static Variables:
- * global_voc_dict_ptr "Tail" of Global Vocabulary
- *
- * Outputs:
- * Returned Value: TRUE if the given name is valid in Global Vocab
- *
- * Error Detection:
- * If the name is not in the "Global" Vocabulary, let the calling
- * routine determine whether to print an error message or to
- * try it out as a number.
- *
- **************************************************************************** */
-
-bool handle_core_word( char *tname )
-{
- bool retval;
-
- retval = handle_tic_vocab( tname, global_voc_dict_ptr );
-
- return ( retval ) ;
-}
-
-
-/* **************************************************************************
- *
* Function name: create_core_alias
* Synopsis: Create, in the "Global" ("core") Vocabulary, an entry
* for NEW_NAME that behaves the same as the latest
@@ -618,43 +563,8 @@
return( retval);
}
-
/* **************************************************************************
*
- * Function name: handle_current
- * Synopsis: Perform a function in the current device-node vocab,
- * if one is in effect, or in the "Global" Vocabulary.
- * Indicate whether the name is valid.
- *
- * Inputs:
- * Parameters:
- * tname The name to handle
- * Global Variables:
- * current_definitions Device-Node (or Global) Vocabulary
- * currently in effect.
- * scope_is_global TRUE if "global" scope is in effect
- * Local Static Variables:
- *
- * Outputs:
- * Returned Value: TRUE if the given name is valid
- *
- **************************************************************************** */
-
-bool handle_current( char *tname )
-{
- bool retval = handle_tic_vocab( tname, *current_definitions );
-
- if ( INVERSE(retval) && INVERSE(scope_is_global) )
- {
- retval = handle_core_word( tname );
- }
- return ( retval );
-
-}
-
-
-/* **************************************************************************
- *
* Function name: lookup_in_dev_node
* Synopsis: Return a pointer to the data-structure of the
* named word in the Current device node, if
@@ -1778,41 +1688,6 @@
/* **************************************************************************
*
- * Function name: handle_shared_word
- * Synopsis: Perform the function associated with the given name
- * only if it is a "Shared Word". Indicate if it was.
- *
- * Inputs:
- * Parameters:
- * tname The "target" name for which to look
- *
- * Outputs:
- * Returned Value: TRUE if the name is a valid "Shared Word"
- *
- * Extraneous Remarks:
- * This is very similar to a call to handle_tic_vocab() except
- * for the additional filtering for a "Shared Word" definer.
- *
- **************************************************************************** */
-
-bool handle_shared_word( char *tname )
-{
- tic_hdr_t *found ;
- bool retval = FALSE;
-
- found = lookup_shared_word( tname );
- if ( found != NULL )
- {
- found->funct(found->pfield);
- retval = TRUE;
- }
-
- return ( retval ) ;
-}
-
-
-/* **************************************************************************
- *
* Function name: lookup_shared_f_exec_word
* Synopsis: Return a pointer to the data-structure of the named
* word, only if it is a "Shared F-Exec Word"
Modified: fcode-utils/toke/scanner.c
===================================================================
--- fcode-utils/toke/scanner.c 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/toke/scanner.c 2006-10-14 20:19:21 UTC (rev 90)
@@ -3243,7 +3243,7 @@
bool retval = FALSE;
char *defn_type_name;
- /* If already inside a colon, ERROR and discontinueprocessing */
+ /* If already inside a colon, ERROR and discontinue processing */
/* If an alias to a definer is used, show the name of the alias */
if ( test_in_colon(statbuf, FALSE, TKERROR, NULL) )
{
@@ -5011,9 +5011,9 @@
case VERSION1:
case FCODE_V1:
+ fcode_starter( "version1", 1, FALSE) ;
tokenization_error( INFO, "Using version1 header "
"(8-bit offsets).\n");
- fcode_starter( "version1", 1, FALSE) ;
break;
case START1:
Modified: fcode-utils/toke/strsubvocab.c
===================================================================
--- fcode-utils/toke/strsubvocab.c 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/toke/strsubvocab.c 2006-10-14 20:19:21 UTC (rev 90)
@@ -45,14 +45,11 @@
/* **************************************************************************
*
* Functions Exported:
- * init_str_sub_vocab Initialize a String-Substitution vocab
* add_str_sub_entry Add an entry to a Str-Subst vocab
- * lookup_str_sub Look for a name in a String-Substitution
- * vocab, return the substitution string.
+ * lookup_str_sub Look for a name in a String-Subst'n vocab;
+ * return a pointer to the structure.
* exists_in_str_sub Confirm whether a given name exists in a
* String-Substitution vocabulary
- * create_str_sub_alias Duplicate the behavior of one name with
- * another name. Return a "success" flag.
* reset_str_sub_vocab Reset a given Str-Subst vocab to its initial
* "Built-In" position.
*
@@ -72,34 +69,6 @@
/* **************************************************************************
*
- * Function name: init_str_sub_vocab
- * Synopsis: Dynamically initialize the link-pointers
- * of the.given String-Substitution vocabulary
- *
- * Inputs:
- * Parameters:
- * str_sub_vocab_tbl Pointer to the initial Str-Subst vocab array
- * max_indx Maximum Index of the initial array.
- *
- * Outputs:
- * Returned Value: None
- * Global Variables:
- * The link-fields of the initial Str-Subs vocab array entries
- * will be filled in.
- *
- **************************************************************************** */
-
-void init_str_sub_vocab( str_sub_vocab_t *str_sub_vocab_tbl, int max_indx)
-{
- int indx;
- for ( indx = 1 ; indx < max_indx ; indx++ )
- {
- str_sub_vocab_tbl[indx].next = &str_sub_vocab_tbl[indx-1];
- }
-}
-
-/* **************************************************************************
- *
* Function name: add_str_sub_entry
* Synopsis: Add an entry to the given Str-Subst vocab
*
@@ -155,7 +124,8 @@
/* **************************************************************************
*
* Function name: lookup_str_sub
- * Synopsis: Look for a name in the given Str-Subst vocabulary
+ * Synopsis: Look for a name in the given Str-Subst vocabulary.
+ * Return a pointer to the structure if name was valid
*
* Inputs:
* Parameters:
@@ -163,22 +133,21 @@
* str_sub_vocab The Str-Subst vocab-list
*
* Outputs:
- * Returned Value: Pointer to the substitution string, or
- * NULL pointer if name not found.
- * May be NULL if subst'n string is NULL.
+ * Returned Value: Pointer to the substitution-string entry
+ * data-structure. NULL if not found.
*
**************************************************************************** */
-char *lookup_str_sub( char *tname, str_sub_vocab_t *str_sub_vocab )
+str_sub_vocab_t *lookup_str_sub( char *tname, str_sub_vocab_t *str_sub_vocab )
{
str_sub_vocab_t *curr;
- char *retval = NULL;
+ str_sub_vocab_t *retval = NULL;
for (curr = str_sub_vocab ; curr != NULL ; curr=curr->next)
{
if ( strcasecmp(tname, curr->name) == 0 )
{
- retval = curr->alias;
+ retval = curr;
break;
}
}
@@ -197,141 +166,21 @@
* str_sub_vocab Pointer to the Str-Subst vocab-list
*
* Outputs:
- * Returned Value: TRUE if the name is found
+ * Returned Value: TRUE if the name is found
*
- * Extraneous Remarks:
- * Because the Returned Value of lookup_str_sub() may be NULL for
- * other reasons than that the name was not found, we cannot
- * rely on that routine, and must replicate the outer-shell
- * of its structure.
- *
**************************************************************************** */
bool exists_in_str_sub( char *tname, str_sub_vocab_t *str_sub_vocab )
{
- str_sub_vocab_t *curr;
bool retval = FALSE;
+ str_sub_vocab_t *found = NULL;
- for (curr = str_sub_vocab ; curr != NULL ; curr=curr->next)
+ found = lookup_str_sub( tname, str_sub_vocab );
+ if ( found != NULL )
{
- if ( strcasecmp(tname, curr->name) == 0 )
- {
- retval = TRUE;
- break;
- }
+ retval = TRUE;
}
return ( retval );
}
-/* **************************************************************************
- *
- * Function name: create_str_sub_alias
- * Synopsis: Create an Alias in a String-Substitution vocabulary
- * Return a "success" flag.
- *
- * Associated FORTH word: ALIAS
- *
- * Inputs:
- * Parameters:
- * old_name Name of existing entry
- * new_name New name for which to create an entry
- * *str_sub_vocab Pointer to "tail" of Str-Subst vocab-list
- *
- * Outputs:
- * Returned Value: TRUE if old_name found in str_sub_vocab
- * Supplied Pointers:
- * *str_sub_vocab Will be updated to point to the new entry
- * Memory Allocated:
- * A copy of the "old" name's substitution string.
- * When Freed?
- * When reset_str_sub_vocab() is applied to the same vocab-list.
- * In some instances, the new entry will be freed when the
- * device-node in which it was created is "finish"ed; in
- * others, only on termination of the program.
- *
- * Process Explanation:
- * The "new" name is presumed to point to a stable memory-space.
- * If the given "old" name exists in the given Str-Subst vocab-list,
- * duplicate the substitution string into newly-allocated memory
- * and pass the duplicated string and the "new" name along to
- * the add_str_sub_entry() routine and return TRUE.
- * If the given "old" name does not exist in the given vocab-list,
- * return FALSE.
- *
- * Extraneous Remarks:
- * This neatly bypasses the question of re-aliasing... ;-)
- *
- * We can rely on testing for a returned NULL from lookup_str_sub()
- * because we won't be applying this routine to any vocabulary
- * that permits a NULL in its substitution string.
- *
- **************************************************************************** */
-
-bool create_str_sub_alias(char *new_name,
- char *old_name,
- str_sub_vocab_t **str_sub_vocab )
-{
- bool retval = FALSE;
- char *old_subst_str = lookup_str_sub( old_name, *str_sub_vocab );
- if ( old_subst_str != NULL )
- {
- char *new_subst_str = strdup(old_subst_str );
- add_str_sub_entry(new_name, new_subst_str, str_sub_vocab );
- retval = TRUE ;
- }
-
- return ( retval );
-}
-
-
-/* **************************************************************************
- *
- * Function name: reset_str_sub_vocab
- * Synopsis: Reset a given Str-Subst vocab to its initial
- * "Built-In" position.
- *
- * Inputs:
- * Parameters:
- * *str_sub_vocab Pointer to the Str-Subst vocab-list
- * reset_position Position to which to reset the list
- *
- * Outputs:
- * Returned Value: NONE
- * Supplied Pointers:
- * *str_sub_vocab Reset to given "Built-In" position.
- * Memory Freed
- * All memory allocated by user-definitions will be freed
- *
- * Process Explanation:
- * The "stable memory-spaces" to which the name and substitution
- * string pointers point are presumed to have been acquired
- * by allocation of memory, which is reasonable for entries
- * created by the user as opposed to the built-in entries,
- * which we are, in any case, not releasing.
- * The substitution-string pointer may be null; watch out when
- * we free() it; not all C implementations forgive that.
- *
- **************************************************************************** */
-
-void reset_str_sub_vocab(
- str_sub_vocab_t **str_sub_vocab ,
- str_sub_vocab_t *reset_position )
-{
- str_sub_vocab_t *next_t;
-
- next_t = *str_sub_vocab;
- while ( next_t != reset_position )
- {
- next_t = (*str_sub_vocab)->next ;
-
- free( (*str_sub_vocab)->name );
- if ( !(*str_sub_vocab)->alias )
- {
- free( (*str_sub_vocab)->alias );
- }
- free( *str_sub_vocab );
- *str_sub_vocab = next_t ;
- }
-}
-
Modified: fcode-utils/toke/strsubvocab.h
===================================================================
--- fcode-utils/toke/strsubvocab.h 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/toke/strsubvocab.h 2006-10-14 20:19:21 UTC (rev 90)
@@ -55,31 +55,12 @@
struct str_sub_vocab *next;
} str_sub_vocab_t;
-#if 0 /* On the way out */
-/*
- * BUILTIN_STR_SUB Add an entry to the initial Str-Sub vocab.
- *
- * Arguments: (Both are strings)
- * princ Principal name by which the string is known
- * subst Substitution-string that replaces the Principal.
- */
-#define BUILTIN_STR_SUB(princ, subst) \
- { princ , subst , (str_sub_vocab_t *)NULL }
-#endif /* On the way out */
-
-void init_str_sub_vocab( str_sub_vocab_t *str_sub_vocab_tbl,
- int max_indx);
void add_str_sub_entry( char *ename,
char *subst_str,
str_sub_vocab_t **str_sub_vocab );
-char *lookup_str_sub( char *tname, str_sub_vocab_t *str_sub_vocab );
-bool create_str_sub_alias(char *new_name,
- char *old_name,
- str_sub_vocab_t **str_sub_vocab );
+str_sub_vocab_t *lookup_str_sub( char *tname, str_sub_vocab_t *str_sub_vocab );
bool exists_in_str_sub( char *tname, str_sub_vocab_t *str_sub_vocab );
-void reset_str_sub_vocab( str_sub_vocab_t **str_sub_vocab ,
- str_sub_vocab_t *reset_position );
#endif /* _TOKE_STRSUBVOCAB_H */
Modified: fcode-utils/toke/toke.c
===================================================================
--- fcode-utils/toke/toke.c 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/toke/toke.c 2006-10-14 20:19:21 UTC (rev 90)
@@ -46,7 +46,7 @@
#include "stack.h"
#include "emit.h"
-#define TOKE_VERSION "1.0.0"
+#define TOKE_VERSION "1.0.1"
#include "vocabfuncts.h"
#include "scanner.h"
Modified: fcode-utils/toke/tokzesc.c
===================================================================
--- fcode-utils/toke/tokzesc.c 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/toke/tokzesc.c 2006-10-14 20:19:21 UTC (rev 90)
@@ -36,10 +36,6 @@
* Functions Exported:
* init_tokz_esc_vocab Initialize the relevant vocabulary.
* enter_tokz_esc Enter "Tokenizer Escape" mode
- * handle_tokz_esc Perform a function in the
- * "Tokenizer Escape" Vocabulary
- * exists_in_tokz_esc Confirm whether a given name exists in
- * the "Tokz_Esc_Vocabulary"
* create_tokz_esc_alias Add an alias to "Tokenizer Escape" space
* reset_tokz_esc Reset the "Tokenizer Escape" Vocabulary
* to its "Built-In" position.
@@ -605,37 +601,6 @@
/* **************************************************************************
*
- * Function name: handle_tokz_esc
- * Synopsis: Perform a function in the "Tokenizer Escape" Vocabulary
- * Indicate whether the name is valid in this vocabulary.
- * Handle "Tokenizer Escape" aliases implicitly.
- *
- * Inputs:
- * Parameters:
- * tname The name to handle
- * Global Variables:
- * tokz_esc_vocab Pointer to "Tokenizer Escape" Vocabulary
- *
- * Outputs:
- * Returned Value: TRUE if the given name is valid in tokz_esc
- *
- * Process Explanation:
- * Find the name and execute its associated function.
- * If the name is not in the "Tokenizer Escape" Vocabulary,
- * let the calling routine determine whether to try it
- * out as a number or to print an error message.
- *
- **************************************************************************** */
-
-bool handle_tokz_esc( char *tname )
-{
- bool retval = handle_tic_vocab( tname, tokz_esc_vocab );
- return ( retval ) ;
-}
-
-
-/* **************************************************************************
- *
* Function name: lookup_tokz_esc
* Synopsis: Return a pointer to the data-structure of the named
* word in the"Tokenizer Escape" Vocabulary
@@ -660,30 +625,6 @@
/* **************************************************************************
*
- * Function name: exists_in_tokz_esc
- * Synopsis: Confirm whether a given name exists in the
- * "Tokenizer Escape" Vocabulary
- *
- * Inputs:
- * Parameters:
- * name The given name to confirm
- * Global Variables:
- * tokz_esc_vocab Pointer to "Tokenizer Escape" Vocabulary
- *
- * Outputs:
- * Returned Value: TRUE if name is found,
- *
- **************************************************************************** */
-
-bool exists_in_tokz_esc(char *name)
-{
- bool retval = exists_in_tic_vocab( name, tokz_esc_vocab );
- return ( retval );
-}
-
-
-/* **************************************************************************
- *
* Function name: create_tokz_esc_alias
* Synopsis: Create an alias in the "Tokenizer Escape" Vocabulary
*
Modified: fcode-utils/toke/tokzesc.h
===================================================================
--- fcode-utils/toke/tokzesc.h 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/toke/tokzesc.h 2006-10-14 20:19:21 UTC (rev 90)
@@ -41,9 +41,7 @@
void init_tokz_esc_vocab( void );
bool create_tokz_esc_alias(char *new_name, char *old_name);
void enter_tokz_esc( void );
-bool handle_tokz_esc( char *tname );
tic_hdr_t *lookup_tokz_esc(char *name);
-bool exists_in_tokz_esc(char *name);
void reset_tokz_esc( void );
void pop_next_fcode( void);
Modified: fcode-utils/toke/usersymbols.c
===================================================================
--- fcode-utils/toke/usersymbols.c 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/toke/usersymbols.c 2006-10-14 20:19:21 UTC (rev 90)
@@ -37,7 +37,7 @@
* The syntax for user-defined command-line compilation-control symbols
* is <NAME>[=<VALUE>]
*
- * The name is always required; the equal-sign and value is optional.
+ * The name is always required; the equal-sign and value are optional.
* If you wish the "value" to contain spaces or quotes, you can
* accomplish that using the shell escape conventions.
*
@@ -65,11 +65,9 @@
*
* Functions Exported:
* add_user_symbol Add a user-defined symbol to the list
- * lookup_user_symbol Look for a user-defined symbol, return
- * the assigned value.
* exists_as_user_symbol Confirm whether a given name exists
* as a user-defined symbol.
- * eval_user_symbol Tokenize the value assigned to a user
+ * eval_user_symbol Evaluate the value assigned to a user
* symbol.
* list_user_symbols Print the list of user-defined symbols
* for the Logfile.
@@ -90,7 +88,7 @@
* were created on the command-line; if we ever allow symbols
* to be defined in the Source file, they should be as volatile
* as anything else that comes from a source file...
- * Putting source-file-derived user-defined symbols into the Global
+ * Appending source-file-derived user-defined symbols to the Global
* Vocabulary could be a quasi-simple way to accomplish this.)
*
* Enable the definition of user-symbols from the Source file, using
@@ -150,7 +148,7 @@
* Memory Allocated:
* for the string(s) and the new entry
* When Freed?
- * Never. Well, only on termination of the program. User-defined
+ * Never. Well, upon termination of the program. User-defined
* symbols endure for the entire batch of tokenizations.
*
* Process Explanation:
@@ -183,33 +181,6 @@
/* **************************************************************************
*
- * Function name: lookup_user_symbol
- * Synopsis: Look for the given name as user-defined symbol, return
- * the assigned value.
- *
- * Inputs:
- * Parameters:
- * symb_nam The name for which to look.
- * Local Static Variables:
- * user_symbol_list Pointer to the list of user-defined symbols.
- *
- * Outputs:
- * Returned Value: Pointer to the "value" string, or NULL
- * pointer if the name was not found.
- * May also be NULL if "value" is NULL.
- *
- **************************************************************************** */
-
-char *lookup_user_symbol(char *symb_nam)
-{
- char *symb_valu;
-
- symb_valu = lookup_str_sub(symb_nam, user_symbol_list );
- return (symb_valu);
-}
-
-/* **************************************************************************
- *
* Function name: exists_as_user_symbol
* Synopsis: Confirm whether a given name exists
* as a user-defined symbol.
@@ -236,7 +207,7 @@
/* **************************************************************************
*
* Function name: eval_user_symbol
- * Synopsis: Tokenize the value assigned to a user-symbol.
+ * Synopsis: Evaluate the value assigned to a user-symbol.
*
* Associated Tokenizer directive (synonyms): [DEFINED]
* #DEFINED
@@ -251,7 +222,7 @@
*
* Inputs:
* Parameters:
- * symbol The User-Defined-Symbol to evaluate
+ * symb_nam Name of the User-Defined-Symbol to evaluate
* Local Static Variables:
* user_symbol_list Pointer to the list of user-defined symbols.
*
@@ -262,13 +233,15 @@
* Error Detection:
* Calling routine is responsible for verifying that the user-symbol
* is on the same line as the directive.
- * WARNING if the symbol is not found or has no assigned value.
+ * ERROR if the symbol is not found
+ * WARNING if the symbol has no assigned value.
*
* Process Explanation:
- * Look up the parameter in the User Symbol List, and retrieve
- * its associated value.
- * If it is not found, or if it has no associated value, issue
- * a WARNING and do nothing further. Otherwise...
+ * Look up the parameter in the User Symbol List,
+ * If it is not found, issue an ERROR and do nothing further.
+ * If it is found, attempt to retrieve its associated value
+ * If it has no associated value, issue a WARNING and
+ * do nothing further. Otherwise...
* Interpret the associated value as though it were source.
*
* Still to be done:
@@ -277,16 +250,26 @@
*
**************************************************************************** */
-void eval_user_symbol(char *symbol )
+void eval_user_symbol( char *symb_nam)
{
- char *symb_valu;
- symb_valu = lookup_user_symbol(symbol );
- if ( symb_valu == NULL )
+ str_sub_vocab_t *found = NULL;
+
+
+ found = lookup_str_sub( symb_nam, user_symbol_list );
+ if ( found == NULL )
{
- tokenization_error ( WARNING,
- "No value assigned to command-line symbol %s\n", symbol );
+ tokenization_error ( TKERROR,
+ "Command-line symbol %s is not defined.\n", symb_nam);
}else{
- eval_string( symb_valu );
+ char *symb_valu = found->alias;
+
+ if ( symb_valu == NULL )
+ {
+ tokenization_error ( WARNING,
+ "No value assigned to command-line symbol %s\n", symb_nam );
+ }else{
+ eval_string( symb_valu );
+ }
}
}
@@ -311,13 +294,30 @@
* We will:
* Allocate a temporary array of pointers.
* Step backwards through the linked-list of symbols, and
- * enter their pointers into the array.
+ * enter their pointers into the array. The array order
+ * reflects the backward-linked order of the linked-list
+ * of symbols is kept and searched,
* Collect the maximum length of the symbol names.
- * Step through the array in the reverse order, printing
- * as we go.
- * Use the max name length to space the equal-signs evenly
+ * Step through the array in the reverse order, to follow the
+ * order in which the symbols were defined.
+ * Check for a duplicate of the current symbol name:
+ * Look backwards through the array, at the names we
+ * have not yet printed, which were defined later.
+ * Since the later-defined value will prevail, the
+ * notation should be on the earlier one.
+ * Print the current name
+ * Use the maximum name-length to space the equal-signs or
+ * duplicate-name notation, as required, evenly.
* Free the temporary array.
*
+ * Revision History:
+ * Updated Thu, 07 Sep 2006 by David L. Paktor
+ * Report duplicated symbol names.
+ *
+ * Still to be done:
+ * Space the duplicate-name notation evenly; line it up past
+ * the longest name-with-value.
+ *
**************************************************************************** */
void list_user_symbols(void )
@@ -346,16 +346,46 @@
printf("\nUser-Defined Symbols:\n");
while ( indx > 0 )
{
+ bool is_dup;
+ int dup_srch_indx;
indx--;
curr = symb_ptr[indx];
+
+ /* Detect duplicate names. */
+ dup_srch_indx = indx;
+ is_dup = FALSE;
+ while ( dup_srch_indx > 0 )
+ {
+ str_sub_vocab_t *dup_cand;
+ dup_srch_indx--;
+ dup_cand = symb_ptr[dup_srch_indx];
+ if ( strcmp( curr->name, dup_cand->name) == 0 )
+ {
+ is_dup = TRUE;
+ break;
+ }
+ }
+
printf("\t%s",curr->name);
- if ( curr->alias != NULL )
+
+ if ( ( curr->alias != NULL ) || is_dup )
{
int strindx;
for ( strindx = strlen(curr->name) ;
- strindx < maxlen ; strindx++ ) printf(" ");
+ strindx < maxlen ;
+ strindx++ )
+ {
+ printf(" ");
+ }
+ }
+ if ( curr->alias != NULL )
+ {
printf(" = %s",curr->alias);
}
+ if ( is_dup )
+ {
+ printf(" *** Over-ridden" );
+ }
printf("\n");
}
free(symb_ptr);
Modified: fcode-utils/toke/usersymbols.h
===================================================================
--- fcode-utils/toke/usersymbols.h 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/toke/usersymbols.h 2006-10-14 20:19:21 UTC (rev 90)
@@ -38,7 +38,6 @@
**************************************************************************** */
void add_user_symbol(char *raw_symb);
-char *lookup_user_symbol(char *symb_nam);
bool exists_as_user_symbol(char *symb_nam);
void eval_user_symbol(char *symbol );
void list_user_symbols(void );
Modified: fcode-utils/toke/vocabfuncts.h
===================================================================
--- fcode-utils/toke/vocabfuncts.h 2006-10-14 20:18:07 UTC (rev 89)
+++ fcode-utils/toke/vocabfuncts.h 2006-10-14 20:19:21 UTC (rev 90)
@@ -56,8 +56,6 @@
tic_hdr_t *lookup_core_word( char *tname);
-bool exists_in_core( char *name);
-bool handle_core_word( char *tname );
bool create_core_alias( char *new_name, char *old_name);
void enter_global_scope( void );
@@ -65,7 +63,6 @@
tic_hdr_t *lookup_current( char *name);
bool exists_in_current( char *tname);
-bool handle_current( char *tname );
tic_hdr_t *lookup_in_dev_node( char *tname);
void add_to_current( char *name,
TIC_P_DEFLT_TYPE fc_token,
@@ -81,7 +78,6 @@
void token_entry_warning( tic_hdr_t *t_entry);
tic_hdr_t *lookup_shared_word( char *tname);
-bool handle_shared_word( char *tname );
tic_hdr_t *lookup_shared_f_exec_word( char *tname);
void init_dictionary( void );
1
0