11 CO [bcdfghjklmnpqrstvwxz]
14 HC [bdfhjklmnpqrstvwxz]
20 /* English to australian translator */
22 /* to build with standard at&t lex
24 * cc lex.yy.c -ll -o aust
30 * (flex is a pd version of lex that runs under Unix, VMS and MSDOS.)
33 /* 16Jan90 - wb - first version, based on biffa.l by
34 * Stephen K Mulrine <smulrine@cs.strath.ac.uk> */
35 /* 30Jan90 - wb - added more words */
36 /* 16Feb90 - wb - converted from jive to aust */
37 /* 12Mar90 - wb - added some randomness */
42 /* ES = end sentence */
45 /* CC = end of consonant cluster */
46 /* SC = soft consonant (need an 'e') */
47 /* HC = hard consonant (does not need an 'e') */
54 if (n == 0 || rand() < n)
55 printf((rand() < 20000)? "bloody ": "bleedin' ");
79 "That's" printf("Thaz");
81 "that's" printf("thaz");
84 {BW}john{EW} printf("%cloo%c", yytext[0], yytext[5]);
85 [Aa]lright printf("%clrighty", yytext[0]);
86 {BW}mad{EW} printf("%cpissed%c", yytext[0], yytext[4]);
88 annoyed printf("pissed");
89 drunk printf("loaded");
90 drank printf("swilled");
91 drink printf("swill");
92 {BW}beer printf("%cFoster's", yytext[0]); /* Australian for beer, mate */
93 "ught to" printf("ughta");
94 {BW}train printf("%cland train", yytext[0]);
95 ough{EW} printf("o%c", yytext[4]);
97 "Good day"{EW} printf("G'day!");
99 "good day"{EW} printf("g'day!");
101 "to Austrailia" printf("down under");
102 {BW}bit{EW} printf("%ctad%c", yytext[0], yytext[4]);
104 {CO}{CC}{EW} printf("%c'%c", yytext[0], yytext[2]);
105 {CO}{CC}ed{EW} printf("%c%s", yytext[0], yytext+2);
106 of{EW} printf("o'%c", yytext[2]);
115 [Ww]ha printf("%co", yytext[0]);
116 {BW}esp printf("'sp");
117 {BW}Esp printf("'Sp");
119 {BW}h{LE} printf("%c'%c", yytext[0], yytext[2]);
120 off{BW}of printf("offa");
122 [Yy]our printf("%cer", yytext[0]);
123 you{EW} printf("ya%c", yytext[3]);
126 {CO}[ai]{SC}e printf("%coi%ce", yytext[0], yytext[2]);
127 {CO}[ai]{HC}e printf("%coi%c", yytext[0], yytext[2]);
128 {CO}[ai]{CO}[aiouy] printf("%coi%c%c", yytext[0], yytext[2], yytext[3]);
129 r[ai]{CO}{CO} printf("%coi%c%c", yytext[0], yytext[2], yytext[3]);
130 {CO}igh{LE} printf("%coi%c", yytext[0], yytext[4]);
141 hockey printf("cricket");
142 {VO}th({EW}|{VO}) printf("%ct%c", yytext[0], yytext[3]);
144 {BW}who printf("%c'oo", yytext[0]);
145 {LE}{CO}er{EW} printf("%c%ca%c", yytext[0], yytext[1], yytext[4]);
146 {VO}{CO}e{BW}to printf("%c%ceda", yytext[0], yytext[1]);
147 {VO}{CO}{BW}to printf("%c%c%ca", yytext[0], yytext[1], yytext[1]);
148 {BW}[Bb]e{CO}{LE} printf("%c'%s", yytext[0], yytext+3);
149 {BW}[Aa]{CO}{LE} printf("%c'%s", yytext[0], yytext+2);
150 {BW}[Oo]ne? printf("%c'un", yytext[0]);
152 {LE}\, {ECHO; say(" moit,", 10000);}
153 {BW}an?{EW} {if(rand()<12000){printf(" a ");bloody(0);}else printf("%s",yytext);}
154 An?{EW} {if(rand()<12000){printf("A ");bloody(0);}else printf("%s",yytext);}
156 (T|({BW}t))hose{EW} {ECHO; bloody(12000);}
158 \!|\? {say(", moit", 6000); ECHO; oi(12000);}
159 \. {say(", moit", 2000); ECHO; oi(6000);}
161 {BW}-*[0-9]+" "*("degrees"|([Ff]{LE}*)){EW} {printf("%c%dc%c",*yytext,((atoi(yytext+1)-24)/9)*5,yytext[strlen(yytext)-1]);}
163 . printf("%s", yytext);