* A big thanks to Edward Betts for contacting authors.
* Fixed echo -n bashism in SAMPLES construction.
* rasterman: Added flim!
LEX = flex
-ALL = jethro kraut cockney jive nyc ken
+ALL = jethro kraut cockney jive nyc ken ky00te
OTHER = eleet b1ff chef jibberish upside-down rasterman
all: $(OTHER) $(ALL)
clean:
$(RM) -f core *.o *~ $(ALL) *.c SAMPLES
+ cd ky00te.dir && make clean
.SUFFIXES: .l
.dir:
cd $<; make
+ky00te:
+ cd ky00te.dir && make
+
kraut:
cd kraut.dir && lex kraut.l
cd kraut.dir && cc kraut.c lex.yy.c -o ../kraut
+filters (2.18) unstable; urgency=low
+
+ * ky00te is free! That leaves only newspeak in filters-nonfree.
+ * A big thanks to Edward Betts for contacting authors.
+ * Fixed echo -n bashism in SAMPLES construction.
+ * rasterman: Added flim!
+
+ -- Joey Hess <joeyh@debian.org> Sat, 30 Jun 2001 18:51:39 -0400
+
filters (2.17) unstable; urgency=low
* ken: WAP fixes.
Source: filters
Section: games
Priority: optional
-Build-Depends: debhelper (>= 2.1.0), flex
+Build-Depends: debhelper (>= 2.1.0), flex, bison | byacc | btyacc
Maintainer: Joey Hess <joeyh@debian.org>
Standards-Version: 3.5.5.0
Package: filters
Architecture: any
-Conflicts: filters-nonfree (<< 2.6)
-Replaces: filters-nonfree (<< 2.6)
+Conflicts: filters-nonfree (<< 2.7)
+Replaces: filters-nonfree (<< 2.7)
Depends: ${shlibs:Depends}
Description: a collection of filters, including B1FF and the swedish chef
A collection of filters to do all sorts of strange things to text.
http://www.xach.com/xachbot/xachbot-2000-07-15.tar.gz, which is as a whole
copyright (C) 1997 Zachary Beane and is GPL'd.
-The ken filter is now in the public domain. It's author, Stephen K Mulrine,
+The ken filter is now in the public domain. Its author, Stephen K Mulrine,
confirmed the new copyright in this email:
From: Stephen Mulrine <stephen@moroder.scotnet.co.uk>
Certainly, it would be an honour to have it included in the Debian
distribution so I hereby release ken into the public domain.
+The ky00te filter is now relicensed under the GPL. Its author, Brent
+Edwards, confirmed the new copyright in this email:
+
+ From: Brent Edwards <chipuni@hypersurf.com>
+ Date: Sat, 30 Jun 2001 09:37:53 -0700
+ To: Edward Betts <edward@debian.org>
+ Subject: Re: Is this the author of the ky00te filter?
+
+ Dear Edward,
+ You have my permission to put the ky00te filter into the GNU GPL
+ license. (Though the license will be far longer than the program itself!)
+
+ -- Brent Edwards
+
Everything else is copyright 1999-2001 by Joey Hess, under the terms of GPL.
+The full text of the GNU GPL can be found in /usr/share/common-licenses/GPL
+on Debian systems.
dh_clean -k
dh_installdirs
$(MAKE) PREFIX=debian/filters install
- dh_installdocs README SAMPLES
+ dh_installdocs README SAMPLES ky00te.dir/README.ky00te
dh_installexamples
dh_installmenu
-# dh_installinit
dh_installcron
dh_installmanpages
-# dh_undocumented
dh_installchangelogs
dh_strip
dh_compress
dh_installdeb
dh_shlibdeps
dh_gencontrol
-# dh_makeshlibs
dh_md5sums
dh_builddeb
.TH FILTERS 6
.SH NAME
-ken, b1ff, chef, cockney, eleet, jethro, jibberish, jive, kraut, nyc, rasterman, upside-down \- assorted text filters
+ken, b1ff, chef, cockney, eleet, jethro, jibberish, jive, kraut, ky00te, nyc, rasterman, upside-down \- assorted text filters
.SH SYNOPSIS
$SHELL | chef
.SH "DESCRIPTION"
slang for a lot of computer terminology.
.IP kraut
Generates text with a German accent.
+.IP ky00te
+This program places a very cute (and familiar to FurryMuck
+fans) accent on any text file.
.IP nyc
Brooklyn English
.IP rasterman
cockney
jive
nyc
+ken
+ky00te
rasterman
);
@nonfree= qw(
-kyoote
newspeak
);
--- /dev/null
+This program is (c) 1994, Brent E. Edwards. Feel free to distribute the
+complete program world-wide. (Please do NOT break apart this text file
+from the program.)
+
+This program is under absolutely no warrantee of any kind.
+
+If you have any questions about this program, please send them to
+edwardsb@cs.rpi.edu.
+
+This program is dedicated to Conrad Wong.
+
+This program is catware. If you find it useful in any way, pay for this
+program by spending one hour petting one or several cats.
+
+[ Revised to plain GPL by author, see copyright file. -- Joey Hess ]
+
+===================================================
+
+
+Purpose:
+ This program places a very cute (and familiar to FurryMuck fans)
+ accent to any text file. It is designed for UNIX systems.
+ It requires cc, lex, and yacc to be in your path.
+
+Compiling:
+ To compile on a UNIX system, type 'make'
+
+Running:
+ To do a line-by-line translation of your text, type 'ky00te'.
+ Control-D will halt the program.
+
+ To convert a text file and display it on the screen, type
+ 'ky00te < filename | more', where filename is the file to convert.
+
+ To convert a text file and save it to a file, type
+ 'ky00te < filename.in > filename.out', where filename.in is the
+ file to convert and filename.out is the place to put it.
+
+ You can also add an accent to the output of any program by
+ typing '<normal program execution> | ky00te'.
+
+Petting the cat:
+ Stroke with the furs, not against them.
+
+====================================================
+
+Program version information:
+
+Program version 1.00: 13 December 1994
+
+Program version 1.10: 15 December 1994
+ Version 1.00 was a memory hog. Also, adds 'fur' and 'meow' to
+list of cat-ch phrases.
+
+Program version 1.11: 16 December 1994
+ With Tobias Kuhler's (ukjp@rz.uni-karlsruhe.de) repeated suggestion,
+ the program now only doubles (not triples) 'r' and no longer capitalizes
+ fur. He also suggested the following improvements:
+ at a, at the -> atta
+ in a, in the -> ynna
+ is a, is the -> yssa
+ on a, on the -> onna
+ with a, with the -> wyffa
+ the -> da
+ you -> ya
+ and -> 'n
+ with -> wyf
+ to -> ta
+
+ This version also no longer uses the same 'meow'; it switches between
+ 'meow', 'mew', and 'mu' (weighted to the first).
+
+ I've also added:
+ lot of -> lotta
+ is so -> yssa
+ when -> w'en
+ with -> wyf (when used to start a word)
+ your -> yer
+ not, n't -> na'
+
+
+ The README file has been reorganized, and the dedication made explicit.
+
--- /dev/null
+%{
+
+#include "y.tab.h"
+extern int yylval;
+
+%}
+
+%%
+i { yylval = 'y'; return(LETTER); }
+I { yylval = 'Y'; return(LETTER); }
+cks { yylval = 'x'; return(LETTER); }
+ks { yylval = 'x'; return(LETTER); }
+cute { return(CUTE); }
+fluff { return(FLUFF); }
+smile { return(SMILE); }
+grin { return(SMILE); }
+laugh { return(SMILE); }
+chuckle { return(SMILE); }
+pr { return(PURR); }
+p[aeiou]*r { return(PURR); }
+f[aeiou]+r { return(FUR); }
+m[aeiou]+/[^.,s?! ] { return(MEOW); } /*UN*/
+"at a" { return(ATTA); }
+"at the" { return(ATTA); }
+"in a" { return(YNNA); }
+"in the" { return(YNNA); }
+"is a" { return(YSSA); }
+"is the" { return(YSSA); }
+"is so" { return(YSSA); }
+"on a" { return(ONNA); }
+"on the" { return(ONNA); }
+"with a" { return(WYFFA); }
+"with the" { return(WYFFA); }
+"lot of" { return(LOTTA); }
+" with " { return(WYF); }
+" with" { return(WYFF); }
+^"with " { return(WYF); }
+^"with" { return(WYFF); }
+" with"$ { return(WYF); }
+" the " { return(DA); }
+^"the " { return(DA); }
+" the"$ { return(DA); }
+" your" { return(YER); }
+^your { return(YER); }
+" you" { return(YA); }
+^you { return(YA); }
+" and " { return(AN); }
+^"and " { return(AN); }
+" and"$ { return(AN); }
+" to " { return(TA); }
+^"to " { return(TA); }
+" to"$ { return(TA); }
+" when " { return(WEN); }
+^"when " { return(WEN); }
+" when"$ { return(WEN); }
+"n't" { return(NA); } /*UN*/
+" not" { return(NA); } /*UN*/
+[ \t] { return(' '); }
+. { yylval = yytext[0]; return(LETTER); }
+%%
+
+
+
+
--- /dev/null
+%{
+
+#include <stdio.h>
+typedef int INT;
+
+#define YYSTYPE INT
+
+%}
+
+%token CUTE
+%token FLUFF
+%token SMILE
+%token PURR
+%token FUR
+%token MEOW
+%token ATTA
+%token YNNA
+%token YSSA
+%token ONNA
+%token WYFFA
+%token LOTTA
+%token WYF
+%token WYFF
+%token DA
+%token YER
+%token YA
+%token AN
+%token TA
+%token WEN
+%token NA /*UN*/
+%token LETTER
+
+%%
+
+s:
+ | s t
+ | s ' '
+ {
+ if (rand() % 30 < 1)
+ {
+ int inRand;
+
+ inRand = rand() % 5;
+
+ switch(inRand)
+ {
+ case 0:
+ printf(" *truffle break!* ");
+ break;
+
+ case 1:
+ printf(" *catnap break!* ");
+ break;
+
+ case 2:
+ printf(" *purrpurr* ");
+ break;
+
+ case 3:
+ printf(" *meow!* ");
+ break;
+
+ case 4:
+ printf(" *fluff!* ");
+ break;
+ }
+ }
+ else
+ {
+ printf(" ");
+ }
+ }
+ ;
+
+t: CUTE { printf("ky00te!"); }
+ | FLUFF { printf("*fluff!*"); }
+ | SMILE { printf("};)"); }
+ | PURR { printf("purr"); }
+ | FUR { printf("fur"); }
+ | MEOW { int inRand;
+
+ inRand = rand() % 5;
+
+ switch(inRand)
+ {
+ case 0:
+ case 1:
+ case 2:
+ printf("meow");
+ break;
+ case 3:
+ case 4:
+ printf("mew");
+ }
+ }
+ | ATTA { printf("atta"); }
+ | YNNA { printf("ynna"); }
+ | YSSA { printf("yssa"); }
+ | ONNA { printf("onna"); }
+ | WYFFA { printf("wyffa"); }
+ | LOTTA { printf("lotta"); }
+ | WYF { printf(" wyf "); }
+ | WYFF { printf(" wyff"); }
+ | DA { printf(" da "); }
+ | YER { printf(" yer"); }
+ | YA { printf(" ya"); }
+ | AN { printf(" 'n "); }
+ | TA { printf(" ta "); }
+ | WEN { printf(" w'en "); }
+ | NA { printf(" na'"); } /*UN*/
+ | LETTER { if (yylval == 'r')
+ printf("rr");
+ else
+ printf("%c", $1); }
+ ;
+
+
+%%
+
+extern char mylval;
+
+void yyerror(char *s) {
+ printf("%s\n",s);
+}
+
+int main()
+{
+ yyparse();
+
+ return 0;
+}
+
+
--- /dev/null
+all: ../ky00te
+
+clean:
+ rm -f y.tab.* lex.yy.*
+ rm -f ../ky00te
+
+../ky00te: y.tab.o lex.yy.o
+ cc $(CFLAGS) -o ../ky00te lex.yy.o y.tab.o -lfl
+
+lex.yy.o: lex.yy.c y.tab.h
+ cc $(CFLAGS) -c lex.yy.c
+
+y.tab.o: y.tab.c
+ cc $(CFLAGS) -c y.tab.c
+
+lex.yy.c: ky00te.lex
+ flex ky00te.lex
+
+y.tab.c: ky00te.yacc
+ yacc -d ky00te.yacc
+
chmod +x $1
echo $1 >>SAMPLES
echo "-------------" >>SAMPLES
-echo -e "Here's how this filter sounds, in everyday use.\nThis line is another sample of this filter's output." | ./$1 >>SAMPLES
+printf "Here's how this filter sounds, in everyday use.\nThis line is another sample of this filter's output." | ./$1 >>SAMPLES
echo "" >>SAMPLES
s/\bthough\b/tho/gi;
s/\bnope\b/nup/gi;
s/\baustralia\b/oz/gi;
+ s/\bfilm\b/flim/gi;
s/\bsucks\b/sux/gi;
s/\benough\b/enuff/gi;
s/\ba lot\b/a shitload/gi;