1 /* GNU Talkfilters
2    Copyright (C) 1998-2003 Free Software Foundation, Inc.
3 
4    This file is part of GNU Talkfilters
5 
6    GNU Talkfilters is free software; you can redistribute it and/or
7    modify it under the terms of the GNU General Public License as
8    published by the Free Software Foundation; either version 2, or (at
9    your option) any later version.
10 
11    This software is distributed in the hope that it will be amusing, but
12    WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14    General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License
17    along with this software; see the file COPYING.  If not, write to the
18    Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20 
21 /*  Title:   English to Texan translator
22  *  Author:  Adam Hudd (adam@dadhb1.ti.com)
23  *  Date:    5 March 1991
24  *  Version: 1.0
25  */
26 
27 %option prefix="drawl_yy"
28 %option outfile="lex.yy.c"
29 %option noyywrap
30 
31 %{
32 
33 #include "common.h"
34 #include "talkfilters.h"
35 
36 #define YY_DECL int yylex(gtf_databuf_t *buf)
37 
38 %}
39 
40 WB      [\n\t ]
41 WC	[A-Za-z'0-9]
42 NW	[^A-Za-z'0-9]
43 EOT	\4
44 
45 %s NIW INW
46 
47 %%
48 
49 <NIW,INITIAL>{
50 
51 \<(\/)?[A-Za-z][^\>]*\>      gtf_echo(); // don't damage HTML tags
52 
53 American/{NW}		gtf_puts_case("Amerkin");
54 California		gtf_puts_case("Caleyfornyuh"); BEGIN(INW);
55 Dallas/{NW}		gtf_puts_case("Big D.");
56 Fort{WB}Worth		gtf_puts_case("Fowert Wurth"); BEGIN(INW);
57 Houston			gtf_puts_case("Useton"); BEGIN(INW);
58 I{WB}don't{WB}know/{NW}	gtf_puts_case("I-O-no");
59 I({WB}wi|')ll/{NW}	gtf_puts_case("Ahl");
60 I{WB}would		gtf_puts_case("Ahd"); BEGIN(INW);
61 I/{NW}			gtf_puts_case("Ah");
62 I({WB}a|')m/{NW}	gtf_puts_case("Ahm");
63 I({WB}ha|')ve		gtf_puts_case("Ahv"); BEGIN(INW);
64 Mexico			gtf_puts_case("Messyco"); BEGIN(INW);
65 San{WB}Antonio/{NW}	gtf_puts_case("Santone");
66 TV|[Tt]elevision|[Tt]elly/{NW} gtf_puts_case("tayvay");
67 Texan			gtf_puts_case("Texun"); BEGIN(INW);
68 Texas/{NW}		gtf_puts_case("Teksus");
69 [Aa]{WB}while/{NW}	gtf_puts_case("uhwahl");
70 [Aa]/{NW}		gtf_puts_case("uh");
71 [Aa]bout		gtf_puts_case("bout"); BEGIN(INW);
72 [Aa]dult		gtf_puts_case("a-dult"); BEGIN(INW);
73 [Aa]fraid/{NW}		gtf_puts_case("frayed");
74 [Aa]nd/{NW}		gtf_puts_case("an");
75 [Aa]nniversary/{NW}	gtf_puts_case("anavarsry");
76 [Aa]ny/{NW}		gtf_puts_case("no");
77 [Aa]nywhere/{NW}	gtf_puts_case("anywhare");
78 [Aa]ppreciate		gtf_puts_case("preshate"); BEGIN(INW);
79 [Aa]pril/{NW}		gtf_puts_case("abrul");
80 [Aa]re{WB}going{WB}to/{NW} gtf_puts_case("sar gunna");
81 [Aa]re{WB}known/{NW}	gtf_puts_case("iz node");
82 [Aa]re/{NW}		gtf_puts_case("is");
83 [Aa]ren't{WB}you/{NW}	gtf_puts_case("arncha");
84 [Aa]t{WB}them/{NW}	gtf_puts_case("attum");
85 [Aa]ugust/{NW}		gtf_puts_case("awg-ghust");
86 [Aa]way/{NW}		gtf_puts_case("awf");
87 [Aa]wkward		gtf_puts_case("aukerd"); BEGIN(INW);
88 [Bb]ad			gtf_puts_case("bayud"); BEGIN(INW);
89 [Bb]aptist/{NW}		gtf_puts_case("babtuss");
90 [Bb]aptists/{NW}	gtf_puts_case("babtusses");
91 [Bb]arbed/{NW}		gtf_puts_case("bob");
92 [Bb]e/{NW}		gtf_puts_case("bay");
93 [Bb]ear			gtf_puts_case("bayur"); BEGIN(INW);
94 [Bb]eautiful/{NW}	gtf_puts_case("butiful");
95 [Bb]ecause/{NW}		gtf_puts_case("cuz");
96 [Bb]elieve/{NW}		gtf_puts_case("bleeve");
97 [Bb]lack		gtf_puts_case("blaak"); BEGIN(INW);
98 [Bb]lue			gtf_puts_case("bulloo"); BEGIN(INW);
99 [Bb]orn/{NW}		gtf_puts_case("bornd");
100 [Bb]r(ake|eak)/{NW}	gtf_puts_case("brayke");
101 
102 [Bb]rick		gtf_puts_case("breck"); BEGIN(INW);
103 [Bb]righter/{NW}	gtf_puts_case("brotter");
104 [Bb]ringing/{NW}	gtf_puts_case("brangin");
105 [Bb]rown		gtf_puts_case("braoyne"); BEGIN(INW);
106 [Bb]building/{NW}	gtf_puts_case("bildun");
107 [Cc]all{WB}you/{NW}	gtf_puts_case("cawya");
108 [Cc]alled{WB}you/{NW}	gtf_puts_case("cawdja");
109 [Cc]amera/{NW}		gtf_puts_case("Instuhmatik");
110 [Cc]an('|no|{WB}no)t/{NW} gtf_puts_case("kaynt");
111 [Cc]apital		gtf_puts_case("captul"); BEGIN(INW);
112 [Cc]ar/{NW}		gtf_puts_case("cawer");
113 [Cc]atch		gtf_puts_case("ketch"); BEGIN(INW);
114 [Cc]hair		gtf_puts_case("chayer"); BEGIN(INW);
115 [Cc]heer		gtf_puts_case("chair"); BEGIN(INW);
116 [Cc]hicken		gtf_puts_case("chikun"); BEGIN(INW);
117 [Cc]hild		gtf_puts_case("kid"); BEGIN(INW);
118 [Cc]hildren		gtf_puts_case("kids"); BEGIN(INW);
119 [Cc]lean		gtf_puts_case("klane"); BEGIN(INW);
120 [Cc]limate/{NW}		gtf_puts_case("kliment");
121 [Cc]old			gtf_puts_case("code"); BEGIN(INW);
122 [Dd]amn			gtf_puts_case("dawgone"); BEGIN(INW);
123 [Dd]arker/{NW}		gtf_puts_case("dawerker");
124 [Dd]eaf/{NW}		gtf_puts_case("dayuf");
125 [Dd]eath/{NW}		gtf_puts_case("dayuth");
126 [Dd]ecember/{NW}	gtf_puts_case("deceyumbur");
127 [Dd]efinite		gtf_puts_case("defnut"); BEGIN(INW);
128 [Dd]id('|{WB}no)t/{NW}	gtf_puts_case("didunt");
129 [Dd]id{WB}you/{NW}	gtf_puts_case("dja");
130 [Dd]idn't{WB}it/{NW}	gtf_puts_case("diduhnit");
131 [Dd]ifferent/{NW}	gtf_puts_case("difernt");
132 [Dd]ifficult/{NW}	gtf_puts_case("difahkult");
133 [Dd]ivide		gtf_puts_case("duhvide"); BEGIN(INW);
134 [Dd]oes/{NW}		gtf_puts_case("duz");
135 [Dd]oesn't/{NW}		gtf_puts_case("don't");
136 [Dd]og/{NW}		gtf_puts_case("dawg");
137 I{WB}don't{WB}care/{NW} gtf_puts_case("don't make no nevur mind to may");
138 [Dd]oor			gtf_puts_case("dower"); BEGIN(INW);
139 [Dd]reaming/{NW}	gtf_puts_case("draimun");
140 [Dd]rink/{NW}		gtf_puts_case("drank");
141 [Dd]rinking/{NW}	gtf_puts_case("drankin");
142 [Dd]rive		gtf_puts_case("drahv"); BEGIN(INW);
143 [Ee]ight/{NW}		gtf_puts_case("ate");
144 [Ee]ighteen/{NW}	gtf_puts_case("a-tane");
145 [Ee]ighth/{NW}		gtf_puts_case("athd");
146 [Ee]ighty/{NW}		gtf_puts_case("ady");
147 [Ee]leven/{NW}		gtf_puts_case("lebum");
148 [Ee]ntire/{NW}		gtf_puts_case("entahr");
149 [Ee]specially/{NW}	gtf_puts_case("speshuly");
150 [Ee]ven/{NW}		gtf_puts_case("evun");
151 [Ee]vening/{NW}		gtf_puts_case("eevnun");
152 [Ee]ventually/{NW}	gtf_puts_case("eventchly");
153 [Ee]ver/{NW}		gtf_puts_case("evur");
154 [Ee]very{WB}once{WB}in{WB}a{WB}while/{NW} {
155 			gtf_puts_case("evur wons in a whahl"); }
156 [Ee]very/{NW}		gtf_puts_case("evur");
157 [Ee]xactly/{NW} 	gtf_puts_case("zakly");
158 [Ee]xecutive/{NW}	gtf_puts_case("zekatuv");
159 [Ee]ye/{NW}		gtf_puts_case("ah");
160 [Ff]ather/{NW}		gtf_puts_case("papa");
161 [Ff]ebruary/{NW}	gtf_puts_case("febberyawary");
162 [Ff]ell/{NW}		gtf_puts_case("fayul");
163 [Ff]ifteen/{NW}		gtf_puts_case("fiftane");
164 [Ff]ifth/{NW}		gtf_puts_case("fifd");
165 [Ff]ifty/{NW}		gtf_puts_case("fifdy");
166 [Ff]ight		gtf_puts_case("fite"); BEGIN(INW);
167 [Ff]igure/{NW}		gtf_puts_case("figger");
168 [Ff]illing/{NW}		gtf_puts_case("fillin");
169 [Ff]ine			gtf_puts_case("fahn"); BEGIN(INW);
170 [Ff]ire			gtf_puts_case("far"); BEGIN(INW);
171 [Ff]irst/{NW}		gtf_puts_case("fursd");
172 [Ff]ive/{NW}		gtf_puts_case("fav");
173 [Ff]ixing/{NW}		gtf_puts_case("fixin");
174 [Ff]lower/{NW}		gtf_puts_case("flare");
175 [Ff]ollow		gtf_puts_case("faller"); BEGIN(INW);
176 [Ff]or/{NW}		gtf_puts_case("fahwar");
177 [Ff]orget/{NW}		gtf_puts_case("fergit");
178 [Ff]ork/{NW}		gtf_puts_case("fowerk");
179 [Ff]orty/{NW}		gtf_puts_case("fardy");
180 [Ff]our/{NW}		gtf_puts_case("fower");
181 [Ff]ourteen/{NW}	gtf_puts_case("fortane");
182 [Ff]ourth/{NW}		gtf_puts_case("fowerth");
183 [Ff]reeze		gtf_puts_case("fraze"); BEGIN(INW);
184 [Ff]riday/{NW}		gtf_puts_case("frydy");
185 [Ff]rom/{NW}		gtf_puts_case("frum");
186 [Ff]ront		gtf_puts_case("frunt"); BEGIN(INW);
187 [Gg]as			gtf_puts_case("gayus"); BEGIN(INW);
188 [Gg]eography/{NW}	gtf_puts_case("joggerfee");
189 [Gg]et{WB}a{WB}hold{WB}of{WB}you/{NW} {
190 			gtf_puts_case("gitta hold a yew"); }
191 [Gg]et			gtf_puts_case("git"); BEGIN(INW);
192 [Gg]oing{WB}to/{NW}	gtf_puts_case("gunna");
193 [Gg]old/{NW}		gtf_puts_case("gode");
194 [Gg]ot{WB}to/{NW}	gtf_puts_case("gotta");
195 [Gg]reen		gtf_puts_case("grane"); BEGIN(INW);
196 [Gg]r(e|a)y		gtf_puts_case("graey"); BEGIN(INW);
197 [Gg]uests/{NW}		gtf_puts_case("guesss");
198 [Gg]uitar/{NW}		gtf_puts_case("gitahwer");
199 [Gg]ulf/{NW}		gtf_puts_case("guf");
200 [Hh]ard			gtf_puts_case("hayud"); BEGIN(INW);
201 [Hh]ave{WB}a/{NW}	gtf_puts_case("havuh");
202 [Hh]ave({WB}no|n')t/{NW} gtf_puts_case("habumt");
203 [Hh]ave/{NW}		gtf_puts_case("hav");
204 [Hh]e/{NW}		gtf_puts_case("hay");
205 [Hh]eaded/{NW}		gtf_puts_case("hardud");
206 [Hh]ere/{NW}		gtf_puts_case("hare");
207 [Hh]igh/{NW}		gtf_puts_case("ha");
208 [Hh]our			gtf_puts_case("air"); BEGIN(INW);
209 [Hh]ow{WB}are{WB}you/{NW} gtf_puts_case("hyeru");
210 [Hh]ow{WB}do{WB}you{WB}do/{NW} gtf_puts_case("howdee");
211 [Hh]uh!			gtf_puts_case("hawh!");
212 [Hh]uh?			gtf_puts_case("hawh?");
213 [Hh]undred/{NW}		gtf_puts_case("hunnerd");
214 [Ii]f{WB}I/{NW}		gtf_puts_case("fah");
215 [Ii]f{WB}it/{NW}	gtf_puts_case("hifit");
216 [Ii]f{WB}you		gtf_puts_case("few"); BEGIN(INW);
217 [Ii]f/{NW}		gtf_puts_case("hif");
218 [Ii]gnoran(ce|t)/{NW}	gtf_puts_case("ignernt");
219 [Ii]ndian/{NW}		gtf_puts_case("hinyun");
220 [Ii]nside/{NW}		gtf_puts_case("n-sod");
221 [Ii]nstead{WB}of/{NW}	gtf_puts_case("instudda");
222 [Ii]nstitute/{NW}	gtf_puts_case("instatoot");
223 [Ii]ntersection/{NW}	gtf_puts_case("innersekshun");
224 [Ii]s{WB}a/{NW}		gtf_puts_case("izza");
225 [Ii]s{WB}it/{NW}	gtf_puts_case("izit");
226 [Ii]s{WB}that/{NW}	gtf_puts_case("izzat");
227 [Ii]s{WB}that{WB}right/{NW} gtf_puts_case("zatrot");
228 [Ii]s/{NW}		gtf_puts_case("iz");
229 [Ii]sn't{WB}it/{NW}	gtf_puts_case("hiduhnit");
230 [Ii]t{WB}appears/{NW}	gtf_puts_case("pears");
231 [Ii]t{WB}would/{NW}	gtf_puts_case("it'd");
232 [Jj]ail			gtf_puts_case("jayul"); BEGIN(INW);
233 [Jj]anuary/{NW}		gtf_puts_case("janyawary");
234 [Jj]eans/{NW}		gtf_puts_case("janes");
235 [Jj]et/{NW}		gtf_puts_case("jeyut");
236 [Jj]ewelry/{NW}		gtf_puts_case("julry");
237 [Jj]uly/{NW}		gtf_puts_case("djoolie");
238 [Jj]une/{NW}		gtf_puts_case("djoon");
239 [Jj]ust			gtf_puts_case("gist"); BEGIN(INW);
240 [Kk]ind{WB}of/{NW}	gtf_puts_case("kinduh");
241 [Kk]ing			gtf_puts_case("kang"); BEGIN(INW);
242 [Ll]ibrary/{NW}		gtf_puts_case("liberry");
243 [Ll]ie			gtf_puts_case("lah"); BEGIN(INW);
244 [Ll]iar/{NW}		gtf_puts_case("lahr");
245 [Ll]ife			gtf_puts_case("lahf"); BEGIN(INW);
246 [Ll]ight		gtf_puts_case("laht"); BEGIN(INW);
247 [Ll]ighter/{NW}		gtf_puts_case("lahter");
248 [Ll]ike			gtf_puts_case("lahk"); BEGIN(INW);
249 [lL]ittle/{NW}		gtf_puts_case("liddel");
250 [Ll]og			gtf_puts_case("lawg"); BEGIN(INW);
251 [Ll]ot{WB}of/{NW}	gtf_puts_case("lottuh");
252 [Ll]ots{WB}of/{NW}	gtf_puts_case("lotsa");
253 [Ll]ove			gtf_puts_case("luv"); BEGIN(INW);
254 [Mm]all/{NW}		gtf_puts_case("mawl");
255 [Mm]aterial		gtf_puts_case("mahtearyul"); BEGIN(INW);
256 [Mm]ay			gtf_puts_case("maey"); BEGIN(INW);
257 [Mm]e/{NW}		gtf_puts_case("may");
258 [Mm]ile/{NW}		gtf_puts_case("mahl");
259 [Mm]inute/{NW}		gtf_puts_case("minent");
260 [Mm]onday/{NW}		gtf_puts_case("mundy");
261 [Mm]osquito/{NW}	gtf_puts_case("skeeter");
262 [Mm]oss/{NW}		gtf_puts_case("mawce");
263 [Mm]other/{NW}		gtf_puts_case("ma");
264 [Mm]y/{NW}		gtf_puts_case("mah");
265 [Mm]yself/{NW}		gtf_puts_case("mahsef");
266 [Nn]ever/{NW}		gtf_puts_case("nevur");
267 [Nn]ine/{NW}		gtf_puts_case("nahn");
268 [Nn]ineteen/{NW}	gtf_puts_case("nontane");
269 [Nn]inth/{NW}		gtf_puts_case("nonth");
270 [Nn]inety/{NW}		gtf_puts_case("nondy");
271 [Nn]o/{NW}		gtf_puts_case("naw");
272 [Nn]othing/{NW}		gtf_puts_case("nuthin'");
273 [Nn]ovember/{NW}	gtf_puts_case("noveyumbur");
274 [Oo]cean/{NW}		gtf_puts_case("oshun");
275 [Oo]ctober/{NW}		gtf_puts_case("oktobur");
276 [Oo]f/{NW}		gtf_puts_case("uh");
277 [Oo]ff/{NW}		gtf_puts_case("awf");
278 [Oo]il/{NW}		gtf_puts_case("ahl");
279 [Oo]ld/{NW}		gtf_puts_case("ode");
280 [Oo]ne{WB}of/{NW}	gtf_puts_case("wunna");
281 [Oo]ne/{NW}		gtf_puts_case("wun");
282 [Oo]nly/{NW}		gtf_puts_case("monly");
283 [Oo]pposite/{NW}	gtf_puts_case("opsit");
284 [Oo]range/{NW}		gtf_puts_case("arnjuh");
285 [Oo]ver{WB}there/{NW}	gtf_puts_case("ovare");
286 [Oo]ver/{NW}		gtf_puts_case("ovur");
287 [Pp]arking/{NW}		gtf_puts_case("parkin");
288 [Pp]eople/{NW}		gtf_puts_case("paypul");
289 [Pp]icture/{NW}		gtf_puts_case("pitcher");
290 [Pp]illow/{NW}		gtf_puts_case("piller");
291 [Pp]ine/{NW}		gtf_puts_case("pahn");
292 [Pp]ink/{NW}		gtf_puts_case("pank");
293 [Pp]lease		gtf_puts_case("playze"); BEGIN(INW);
294 [Pp]retty/{NW}		gtf_puts_case("purdy");
295 [Pp]robably/{NW}	gtf_puts_case("probly");
296 [Pp]urple/{NW}		gtf_puts_case("burpel");
297 [Qq]ueen/{NW}		gtf_puts_case("kwane");
298 [Qq]uit			gtf_puts_case("kewyut"); BEGIN(INW);
299 [Rr]ather/{NW}		gtf_puts_case("ruthur");
300 [Rr]eady/{NW}		gtf_puts_case("reddy");
301 [Rr]eal			gtf_puts_case("reeyul"); BEGIN(INW);
302 [Rr]eally/{NW}		gtf_puts_case("rilly");
303 [Rr]ed/{NW}		gtf_puts_case("rayud");
304 [Rr]ight		gtf_puts_case("raht"); BEGIN(INW);
305 [Rr]ing			gtf_puts_case("rang"); BEGIN(INW);
306 [Ss]aid/{NW}		gtf_puts_case("sayud");
307 [Ss](ale|ail|ell)/{NW}	gtf_puts_case("sayul");
308 [Ss]aturday/{NW}	gtf_puts_case("sadderdy");
309 [Ss]chool/{NW}		gtf_puts_case("skoo");
310 [Ss]creen/{NW}		gtf_puts_case("skrane");
311 [Ss]econd/{NW}		gtf_puts_case("sekunt");
312 [Ss]ee			gtf_puts_case("say"); BEGIN(INW);
313 [Ss]eptember/{NW}	gtf_puts_case("ceptimbur");
314 [Ss]even/{NW}		gtf_puts_case("saybumn");
315 [Ss]eventeen/{NW}	gtf_puts_case("saybumtane");
316 [Ss]eventh/{NW}		gtf_puts_case("saybumthd");
317 [Ss]eventy/{NW}		gtf_puts_case("saybumdy");
318 [Ss]he/{NW}		gtf_puts_case("shay");
319 [Ss]ign			gtf_puts_case("sahn"); BEGIN(INW);
320 [Ss]ilver/{NW}		gtf_puts_case("seeyulvur");
321 [Ss]it			gtf_puts_case("set"); BEGIN(INW);
322 [Ss]ix/{NW}		gtf_puts_case("sicks");
323 [Ss]ixteen/{NW}		gtf_puts_case("sickstane");
324 [Ss]ixth/{NW}		gtf_puts_case("sicksed");
325 [Ss]ixty/{NW}		gtf_puts_case("sicksdy");
326 [Ss]mell		gtf_puts_case("smayul"); BEGIN(INW);
327 [Ss]mile		gtf_puts_case("smahl"); BEGIN(INW);
328 [Ss]ofter/{NW}		gtf_puts_case("sowftur");
329 [Ss]ome{WB}of{WB}those/{NW} gtf_puts_case("sumoze");
330 [Ss]ome			gtf_puts_case("sum"); BEGIN(INW);
331 [Ss]omething/{NW}	gtf_puts_case("sumpn");
332 [Ss]ometime/{NW}	gtf_puts_case("sumtom");
333 [Ss]outh		gtf_puts_case("saowth"); BEGIN(INW);
334 [Ss]p(eak|oke)/{NW}	gtf_puts_case("spake");
335 [Ss]pring		gtf_puts_case("sprang"); BEGIN(INW);
336 [Ss]prinkle		gtf_puts_case("sprankul"); BEGIN(INW);
337 [Ss]tadium/{NW}		gtf_puts_case("stadyum");
338 [Ss]tation		gtf_puts_case("stayshun"); BEGIN(INW);
339 [Ss]tring		gtf_puts_case("strang"); BEGIN(INW);
340 [Ss]unday/{NW}		gtf_puts_case("sundy");
341 [Ss]ure			gtf_puts_case("shore"); BEGIN(INW);
342 [Tt]a(le|il)		gtf_puts_case("tayul"); BEGIN(INW);
343 [Tt]alk			gtf_puts_case("tawk"); BEGIN(INW);
344 [Tt]all			gtf_puts_case("tahl"); BEGIN(INW);
345 [Tt]an			gtf_puts_case("tayun"); BEGIN(INW);
346 [Tt]en			gtf_puts_case("teyun"); BEGIN(INW);
347 [Tt]enth/{NW}		gtf_puts_case("teyunth");
348 [Tt]errible/{NW}	gtf_puts_case("tarbul");
349 [Tt]hat({WB}i|')s/{NW}	gtf_puts_case("thets");
350 [Tt]hat			gtf_puts_case("thet"); BEGIN(INW);
351 [Tt]he{WB}only/{NW}	gtf_puts_case("thonly");
352 [Tt]he{WB}other/{NW}	gtf_puts_case("thuther");
353 [Tt]he/{NW}		gtf_puts_case("thuh");
354 [Tt]heir/{NW}		gtf_puts_case("thur");
355 [Tt]here		gtf_puts_case("thayure"); BEGIN(INW);
356 [Tt]hey			gtf_puts_case("thay"); BEGIN(INW);
357 [Tt]hing		gtf_puts_case("thang"); BEGIN(INW);
358 [Tt]hink		gtf_puts_case("thank"); BEGIN(INW);
359 [Tt]hird/{NW}		gtf_puts_case("thurd");
360 [Tt]hirteen/{NW}	gtf_puts_case("thurtane");
361 [T]thirty/{NW}		gtf_puts_case("thurdy");
362 [Tt]his/{NW}		gtf_puts_case("thus");
363 [Tt]hose/{NW}		gtf_puts_case("them");
364 [Tt]housand/{NW}	gtf_puts_case("thousun");
365 [Tt]hree/{NW}		gtf_puts_case("thray");
366 [Tt]hrough		gtf_puts_case("thoo"); BEGIN(INW);
367 [Tt]hrow		gtf_puts_case("thow"); BEGIN(INW);
368 [Tt]hr(own|ew)/{NW}	gtf_puts_case("thowed");
369 [Tt]hursday/{NW}	gtf_puts_case("thursdy");
370 [Tt]ie			gtf_puts_case("tah"); BEGIN(INW);
371 [Tt]ight		gtf_puts_case("taht"); BEGIN(INW);
372 [Tt]ime			gtf_puts_case("tahm"); BEGIN(INW);
373 [Tt]o/{NW}		gtf_puts_case("tuh");
374 [Tt]oday/{NW}		gtf_puts_case("tuhday");
375 [Tt]oilet/{NW}		gtf_puts_case("outhouse");
376 [Tt]old/{NW}		gtf_puts_case("tode");
377 [Tt]omorrow/{NW}	gtf_puts_case("tuhmorrow");
378 [Tt]ree/{NW}		gtf_puts_case("tray");
379 [Tt]uesday/{NW}		gtf_puts_case("chewsdy");
380 [Tt]welve/{NW}		gtf_puts_case("twayulv");
381 [Tt]wenty/{NW}		gtf_puts_case("twindy");
382 [Uu]nderstand/{NW}	gtf_puts_case("understaynd");
383 [Uu]sed{WB}to/{NW}	gtf_puts_case("ustuh");
384 [Vv]ehicle/{NW}		gtf_puts_case("vee-hicul");
385 [Vv]ictory/{NW}		gtf_puts_case("viktray");
386 [Vv]iolation/{NW}	gtf_puts_case("vahlayshun");
387 [Vv]irtual/{NW}		gtf_puts_case("vurchul");
388 [Ww]ant{WB}to/{NW}	gtf_puts_case("wonna");
389 [Ww]as{WB}that/{NW}	gtf_puts_case("wuzzat");
390 [Ww]as/{NW}		gtf_puts_case("wuz");
391 [Ww]ash			gtf_puts_case("wartch"); BEGIN(INW);
392 [Ww]ater		gtf_puts_case("warder"); BEGIN(INW);
393 [Ww]e/{NW}		gtf_puts_case("way");
394 [Ww]edding/{NW}		gtf_puts_case("wedden");
395 [Ww]ednesday/{NW}	gtf_puts_case("winsdy");
396 [Ww]ell			gtf_puts_case("wayul"); BEGIN(INW);
397 [Ww]ere/{NW}		gtf_puts_case("wuz");
398 [Ww]est/{NW}		gtf_puts_case("wayust");
399 [Ww]hat{WB}did{WB}you/{NW} gtf_puts_case("whudja");
400 [Ww]hat{WB}will/{NW}	gtf_puts_case("whuddle");
401 [Ww]hat{WB}do{WB}you/{NW} gtf_puts_case("wadja");
402 [Ww]hat({WB}i|')s{WB}the{WB}matter/{NW} {
403 			gtf_puts_case("smatter"); }
404 [Ww]hat({WB}i|')s/{NW}	gtf_puts_case("whuts");
405 [Ww]hat			gtf_puts_case("whut"); BEGIN(INW);
406 [Ww]heel		gtf_puts_case("whale"); BEGIN(INW);
407 [Ww]hen			gtf_puts_case("wheyun"); BEGIN(INW);
408 [Ww]here{WB}did{WB}you/{NW} gtf_puts_case("whardja");
409 [Ww]here		gtf_puts_case("whayer"); BEGIN(INW);
410 [Ww]hite		gtf_puts_case("waht"); BEGIN(INW);
411 [Ww]hy{WB}don't{WB}you/{NW} gtf_puts_case("wah-oncha");
412 [Ww]hy/{NW}		gtf_puts_case("wha");
413 [Ww]ife/{NW}		gtf_puts_case("wahf");
414 [Ww]indow		gtf_puts_case("wender"); BEGIN(INW);
415 [Ww]inter		gtf_puts_case("winner"); BEGIN(INW);
416 [Ww]ire			gtf_puts_case("wahr"); BEGIN(INW);
417 [Ww]ith{WB}you/{NW}	gtf_puts_case("witchew");
418 [Ww]oman/{NW}		gtf_puts_case("whoamun");
419 [Ww]omen/{NW}		gtf_puts_case("wimmen");
420 [Ww]orld		gtf_puts_case("warld"); BEGIN(INW);
421 [Ww]orse{WB}than/{NW}	gtf_puts_case("worsun");
422 [Yy]ard			gtf_puts_case("chard"); BEGIN(INW);
423 [Yy]ellow/{NW}		gtf_puts_case("yeller");
424 [Yy]up/{NW}		gtf_puts_case("yuh-betcha");
425 [Yy]es/{NW}		gtf_puts_case("yayus");
426 [Yy]ou({WB}all)?/{NW}	gtf_puts_case("yawl");
427 [Yy]ou({WB}a|')re	gtf_puts_case("yore");
428 [Yy]our			gtf_puts_case("chur");
429 
430 {WC}			{ BEGIN(INW); gtf_echo(); }
431 
432 }
433 
434 <INW>{
435 
436 inging/{NW}		gtf_puts_case("ingin'"); BEGIN(NIW);
437 ing/{NW}		gtf_puts_case("in'"); BEGIN(NIW);
438 ball			gtf_puts_case("bawl");
439 bitty			gtf_puts_case("biddy");
440 bulb			gtf_puts_case("bub");
441 
442 {NW}			BEGIN(NIW); unput(yytext[0]);
443 
444 }
445 
446 {EOT}		/* ignore trailing EOT character */
447 .		gtf_echo();
448 
449 %%
450 
451 #ifdef LIBRARY_MODE
452 
453 int gtf_filter_drawl(const char *input, char *buf, size_t bufsz)
454   {
455   gtf_databuf_t buffer;
456   YY_BUFFER_STATE _yybuf;
457 
458   gtf_strbuf_init(&buffer, buf, bufsz);
459   _yybuf = yy_scan_string(input);
460   yylex(&buffer);
461   yy_delete_buffer(_yybuf);
462   gtf_reset();
463 
464   return(buffer.overflow);
465   }
466 
467 int __gtf_filter_drawl(const char *input, char *buf, size_t bufsz)
468 {
469   return(gtf_filter_drawl(input, buf, bufsz));
470 }
471 
472 #else /* LIBRARY_MODE */
473 
474 int main(int argc, char **argv)
475   {
476   gtf_parse_args();
477   gtf_random_seed();
478 
479   yylex(NULL);
480 
481   return(EXIT_SUCCESS);
482   }
483 
484 #endif /* LIBRARY_MODE */
485 
486 /* end of source file */
487 
488