X-Git-Url: http://git.ieval.ro/?p=filters.git;a=blobdiff_plain;f=cockney.l;h=180068dff8b183e79858f3eb15ef01279986a141;hp=823af7e98d609d3067590a7c72799d1ce5580c04;hb=HEAD;hpb=7f4e9d5ed94ae3d89fa2548194ef0bf190368080 diff --git a/cockney.l b/cockney.l index 823af7e..180068d 100644 --- a/cockney.l +++ b/cockney.l @@ -15,7 +15,24 @@ EW [ \t.,;!\?$] %Start junk +%option noyywrap + +%{ +#include +void eos(void); +void plastc(void); +char caseify(char); +void I(void); +void bloody(void); +void set_did(short); +void clear_did(void); +void dintI(void); +void pooped(void); +void expletive(void); +%} + %% + . { srandom(time(0L)); unput(yytext[0]); BEGIN 0; } {BW}[Tt]he{EW} { ECHO; bloody(); } {BW}[Ss]teal{EW} { printf("%c%cick",yytext[0],yytext[1]-5); @@ -89,30 +106,20 @@ ime{EW} { printf("oime"); eos(); } %% -eos() +void eos() { if (yytext[yyleng-1] == '.') - dintI(); + dintI(); else - yyunput(yytext[yyleng-1], yytext); -} - -plastc() -{ - yyunput(yytext[yyleng-1], yytext); -} - -main() -{ - yylex(); + unput(yytext[yyleng-1]); } -int yywrap() +void plastc() { - return 1; + unput(yytext[yyleng-1]); } -caseify(c) +char caseify(c) char c; { if (yytext[0] <= 'Z') @@ -122,7 +129,7 @@ char c; } -I() +void I() { /* extern long random(); */ @@ -135,7 +142,7 @@ I() static short b_count = 0; static short b_which = 0; -bloody() +void bloody() { if (b_count++ % 2 == 0) { switch (b_which++ % 4) { @@ -149,17 +156,18 @@ bloody() static short did = 0; -set_did(val) +void set_did(val) +short val; { did = val; } -clear_did() +void clear_did() { did = 0; } -dintI() +void dintI() { /* extern long random(); */ @@ -172,7 +180,7 @@ dintI() clear_did(); } -pooped() +void pooped() { /* extern long random(); */ @@ -189,7 +197,7 @@ pooped() } } -expletive() +void expletive() { /* Blimey