From bc19f2cfc3041990d9457165ccdfbe8b6b7c76e6 Mon Sep 17 00:00:00 2001 From: joey Date: Sat, 30 Jun 2001 23:37:07 +0000 Subject: [PATCH] * 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! --- Makefile | 6 +- debian/changelog | 9 +++ debian/control | 6 +- debian/copyright | 18 +++++- debian/rules | 5 +- filters.6 | 5 +- jibberish | 3 +- ky00te.dir/README.ky00te | 83 ++++++++++++++++++++++++ ky00te.dir/ky00te.lex | 64 +++++++++++++++++++ ky00te.dir/ky00te.yacc | 133 +++++++++++++++++++++++++++++++++++++++ ky00te.dir/makefile | 21 +++++++ makesample.sh | 2 +- rasterman | 1 + 13 files changed, 344 insertions(+), 12 deletions(-) create mode 100644 ky00te.dir/README.ky00te create mode 100644 ky00te.dir/ky00te.lex create mode 100644 ky00te.dir/ky00te.yacc create mode 100644 ky00te.dir/makefile diff --git a/Makefile b/Makefile index ffd2c8b..68a3588 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ 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) @@ -21,6 +21,7 @@ samples: $(ALL) $(OTHER) clean: $(RM) -f core *.o *~ $(ALL) *.c SAMPLES + cd ky00te.dir && make clean .SUFFIXES: .l @@ -36,6 +37,9 @@ clean: .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 diff --git a/debian/changelog b/debian/changelog index ac433ed..7b9def8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +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 Sat, 30 Jun 2001 18:51:39 -0400 + filters (2.17) unstable; urgency=low * ken: WAP fixes. diff --git a/debian/control b/debian/control index 4efb40f..7609864 100644 --- a/debian/control +++ b/debian/control @@ -1,14 +1,14 @@ 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 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. diff --git a/debian/copyright b/debian/copyright index 3b9e24b..deaa623 100644 --- a/debian/copyright +++ b/debian/copyright @@ -37,7 +37,7 @@ The rasterman filter was pulled out of 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 @@ -54,4 +54,20 @@ confirmed the new copyright in this email: 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 + Date: Sat, 30 Jun 2001 09:37:53 -0700 + To: Edward Betts + 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. diff --git a/debian/rules b/debian/rules index 9544c4e..fde0aa5 100755 --- a/debian/rules +++ b/debian/rules @@ -32,13 +32,11 @@ binary-arch: build 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 @@ -46,7 +44,6 @@ binary-arch: build dh_installdeb dh_shlibdeps dh_gencontrol -# dh_makeshlibs dh_md5sums dh_builddeb diff --git a/filters.6 b/filters.6 index f3cf031..a88c170 100644 --- a/filters.6 +++ b/filters.6 @@ -1,6 +1,6 @@ .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" @@ -28,6 +28,9 @@ English into Cockney, featuring (dubious) rhyming 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 diff --git a/jibberish b/jibberish index 80b6139..9271ef2 100644 --- a/jibberish +++ b/jibberish @@ -13,11 +13,12 @@ kraut cockney jive nyc +ken +ky00te rasterman ); @nonfree= qw( -kyoote newspeak ); diff --git a/ky00te.dir/README.ky00te b/ky00te.dir/README.ky00te new file mode 100644 index 0000000..7c92969 --- /dev/null +++ b/ky00te.dir/README.ky00te @@ -0,0 +1,83 @@ +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 ' | 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. + diff --git a/ky00te.dir/ky00te.lex b/ky00te.dir/ky00te.lex new file mode 100644 index 0000000..63f877c --- /dev/null +++ b/ky00te.dir/ky00te.lex @@ -0,0 +1,64 @@ +%{ + +#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); } +%% + + + + diff --git a/ky00te.dir/ky00te.yacc b/ky00te.dir/ky00te.yacc new file mode 100644 index 0000000..ac49c06 --- /dev/null +++ b/ky00te.dir/ky00te.yacc @@ -0,0 +1,133 @@ +%{ + +#include +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; +} + + diff --git a/ky00te.dir/makefile b/ky00te.dir/makefile new file mode 100644 index 0000000..90a8efe --- /dev/null +++ b/ky00te.dir/makefile @@ -0,0 +1,21 @@ +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 + diff --git a/makesample.sh b/makesample.sh index 01f7d50..5024e63 100644 --- a/makesample.sh +++ b/makesample.sh @@ -2,5 +2,5 @@ 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 diff --git a/rasterman b/rasterman index 492061c..2f36574 100755 --- a/rasterman +++ b/rasterman @@ -12,6 +12,7 @@ while (<>) { 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; -- 2.39.2