diff options
-rw-r--r-- | data/profane.txt | 1163 | ||||
-rw-r--r-- | generator/generator.cpp | 27 | ||||
-rw-r--r-- | generator/generator.h | 4 | ||||
-rw-r--r-- | generator/main.cpp | 7 |
4 files changed, 1193 insertions, 8 deletions
diff --git a/data/profane.txt b/data/profane.txt new file mode 100644 index 0000000..b07b823 --- /dev/null +++ b/data/profane.txt | |||
@@ -0,0 +1,1163 @@ | |||
1 | abortion | ||
2 | alla | ||
3 | allah | ||
4 | alligatorbait | ||
5 | anal | ||
6 | analannie | ||
7 | analsex | ||
8 | anus | ||
9 | arab | ||
10 | arabs | ||
11 | areola | ||
12 | aroused | ||
13 | arse | ||
14 | asian | ||
15 | assbagger | ||
16 | assblaster | ||
17 | assclown | ||
18 | asscowboy | ||
19 | asses | ||
20 | assfuck | ||
21 | assfucker | ||
22 | asshat | ||
23 | asshole | ||
24 | assholes | ||
25 | asshore | ||
26 | assjockey | ||
27 | asskiss | ||
28 | asskisser | ||
29 | assklown | ||
30 | asslick | ||
31 | asslicker | ||
32 | asslover | ||
33 | assman | ||
34 | assmonkey | ||
35 | assmunch | ||
36 | assmuncher | ||
37 | asspacker | ||
38 | asspirate | ||
39 | asspuppies | ||
40 | assranger | ||
41 | asswhore | ||
42 | asswipe | ||
43 | backdoorman | ||
44 | badfuck | ||
45 | balllicker | ||
46 | balls | ||
47 | ballsack | ||
48 | barelylegal | ||
49 | barface | ||
50 | barfface | ||
51 | bast | ||
52 | bastard | ||
53 | bazongas | ||
54 | bazooms | ||
55 | beaner | ||
56 | beastality | ||
57 | beastial | ||
58 | beastiality | ||
59 | beatoff | ||
60 | beat-off | ||
61 | beatyourmeat | ||
62 | bestial | ||
63 | bestiality | ||
64 | biatch | ||
65 | bicurious | ||
66 | bigass | ||
67 | bigbastard | ||
68 | bigbutt | ||
69 | bitch | ||
70 | bitcher | ||
71 | bitches | ||
72 | bitchez | ||
73 | bitchin | ||
74 | bitching | ||
75 | bitchslap | ||
76 | bitchy | ||
77 | biteme | ||
78 | blackman | ||
79 | blackout | ||
80 | blacks | ||
81 | blowjob | ||
82 | boang | ||
83 | bogan | ||
84 | bohunk | ||
85 | bollick | ||
86 | bollock | ||
87 | bombers | ||
88 | bombing | ||
89 | bomd | ||
90 | bondage | ||
91 | boner | ||
92 | bong | ||
93 | boob | ||
94 | boobies | ||
95 | boobs | ||
96 | booby | ||
97 | boody | ||
98 | boong | ||
99 | boonga | ||
100 | boonie | ||
101 | booty | ||
102 | bootycall | ||
103 | bountybar | ||
104 | brea5t | ||
105 | breast | ||
106 | breastjob | ||
107 | breastlover | ||
108 | breastman | ||
109 | brothel | ||
110 | bugger | ||
111 | buggered | ||
112 | buggery | ||
113 | bullcrap | ||
114 | bulldike | ||
115 | bulldyke | ||
116 | bullshit | ||
117 | bumblefuck | ||
118 | bumfuck | ||
119 | bunga | ||
120 | bunghole | ||
121 | butchbabes | ||
122 | butchdike | ||
123 | butchdyke | ||
124 | buttbang | ||
125 | butt-bang | ||
126 | buttface | ||
127 | buttfuck | ||
128 | butt-fuck | ||
129 | buttfucker | ||
130 | butt-fucker | ||
131 | buttfuckers | ||
132 | butt-fuckers | ||
133 | butthead | ||
134 | buttman | ||
135 | buttmunch | ||
136 | buttmuncher | ||
137 | buttpirate | ||
138 | buttplug | ||
139 | buttstain | ||
140 | byatch | ||
141 | cacker | ||
142 | cameljockey | ||
143 | cameltoe | ||
144 | carpetmuncher | ||
145 | carruth | ||
146 | chav | ||
147 | cherrypopper | ||
148 | chickslick | ||
149 | children's | ||
150 | chin | ||
151 | chinaman | ||
152 | chinamen | ||
153 | chinese | ||
154 | chink | ||
155 | chinky | ||
156 | choad | ||
157 | chode | ||
158 | christ | ||
159 | christian | ||
160 | clamdigger | ||
161 | clamdiver | ||
162 | clit | ||
163 | clitoris | ||
164 | clogwog | ||
165 | cock | ||
166 | cockblock | ||
167 | cockblocker | ||
168 | cockcowboy | ||
169 | cockfight | ||
170 | cockhead | ||
171 | cockknob | ||
172 | cocklicker | ||
173 | cocklover | ||
174 | cocknob | ||
175 | cockqueen | ||
176 | cockrider | ||
177 | cocksman | ||
178 | cocksmith | ||
179 | cocksmoker | ||
180 | cocksucer | ||
181 | cocksuck | ||
182 | cocksucked | ||
183 | cocksucker | ||
184 | cocksucking | ||
185 | cocktail | ||
186 | cocktease | ||
187 | cocky | ||
188 | cohee | ||
189 | coitus | ||
190 | colored | ||
191 | coloured | ||
192 | commie | ||
193 | communist | ||
194 | condom | ||
195 | coolie | ||
196 | cooly | ||
197 | coon | ||
198 | coondog | ||
199 | copulate | ||
200 | cornhole | ||
201 | corruption | ||
202 | cra5h | ||
203 | crackpipe | ||
204 | crackwhore | ||
205 | crack-whore | ||
206 | crapola | ||
207 | crapper | ||
208 | crappy | ||
209 | creamy | ||
210 | crotch | ||
211 | crotchjockey | ||
212 | crotchmonkey | ||
213 | crotchrot | ||
214 | cum | ||
215 | cumbubble | ||
216 | cumfest | ||
217 | cumjockey | ||
218 | cumm | ||
219 | cummer | ||
220 | cumming | ||
221 | cumquat | ||
222 | cumqueen | ||
223 | cumshot | ||
224 | cunilingus | ||
225 | cunillingus | ||
226 | cunn | ||
227 | cunnilingus | ||
228 | cunntt | ||
229 | cunt | ||
230 | cunteyed | ||
231 | cuntfuck | ||
232 | cuntfucker | ||
233 | cuntlick | ||
234 | cuntlicker | ||
235 | cuntlicking | ||
236 | cuntsucker | ||
237 | cybersex | ||
238 | cyberslimer | ||
239 | dago | ||
240 | dahmer | ||
241 | damnation | ||
242 | damnit | ||
243 | darkie | ||
244 | darky | ||
245 | datnigga | ||
246 | deapthroat | ||
247 | deepthroat | ||
248 | defecate | ||
249 | dego | ||
250 | deth | ||
251 | devilworshipper | ||
252 | dick | ||
253 | dickbrain | ||
254 | dickforbrains | ||
255 | dickhead | ||
256 | dickless | ||
257 | dicklick | ||
258 | dicklicker | ||
259 | dickman | ||
260 | dickwad | ||
261 | dickweed | ||
262 | diddle | ||
263 | dike | ||
264 | dildo | ||
265 | dingleberry | ||
266 | dipshit | ||
267 | dipstick | ||
268 | dix | ||
269 | dixiedike | ||
270 | dixiedyke | ||
271 | doggiestyle | ||
272 | doggystyle | ||
273 | dong | ||
274 | doodoo | ||
275 | doo-doo | ||
276 | dragqween | ||
277 | dripdick | ||
278 | dumbass | ||
279 | dumbbitch | ||
280 | dumbfuck | ||
281 | dyefly | ||
282 | dyke | ||
283 | easyslut | ||
284 | eatballs | ||
285 | eatme | ||
286 | eatpussy | ||
287 | ecstacy | ||
288 | ejaculate | ||
289 | ejaculated | ||
290 | ejaculating | ||
291 | ejaculation | ||
292 | enema | ||
293 | erect | ||
294 | erection | ||
295 | ero | ||
296 | escort | ||
297 | ethiopian | ||
298 | evl | ||
299 | excrement | ||
300 | facefucker | ||
301 | faeces | ||
302 | fag | ||
303 | fagging | ||
304 | faggot | ||
305 | fagot | ||
306 | fannyfucker | ||
307 | farty | ||
308 | fastfuck | ||
309 | fatah | ||
310 | fatass | ||
311 | fatfuck | ||
312 | fatfucker | ||
313 | fatso | ||
314 | fckcum | ||
315 | feces | ||
316 | felatio | ||
317 | felch | ||
318 | felcher | ||
319 | felching | ||
320 | fellatio | ||
321 | feltch | ||
322 | feltcher | ||
323 | feltching | ||
324 | fetish | ||
325 | filipina | ||
326 | filipino | ||
327 | fingerfood | ||
328 | fingerfuck | ||
329 | fingerfucked | ||
330 | fingerfucker | ||
331 | fingerfuckers | ||
332 | fingerfucking | ||
333 | fister | ||
334 | fistfuck | ||
335 | fistfucked | ||
336 | fistfucker | ||
337 | fistfucking | ||
338 | fisting | ||
339 | flange | ||
340 | flasher | ||
341 | floo | ||
342 | flydie | ||
343 | flydye | ||
344 | fok | ||
345 | fondle | ||
346 | footaction | ||
347 | footfuck | ||
348 | footfucker | ||
349 | footlicker | ||
350 | footstar | ||
351 | foreskin | ||
352 | forni | ||
353 | fornicate | ||
354 | foursome | ||
355 | freakfuck | ||
356 | freakyfucker | ||
357 | freefuck | ||
358 | fu | ||
359 | fubar | ||
360 | fuc | ||
361 | fucck | ||
362 | fuck | ||
363 | fucka | ||
364 | fuckable | ||
365 | fuckbag | ||
366 | fuckbuddy | ||
367 | fucked | ||
368 | fuckedup | ||
369 | fucker | ||
370 | fuckers | ||
371 | fuckface | ||
372 | fuckfest | ||
373 | fuckfreak | ||
374 | fuckfriend | ||
375 | fuckhead | ||
376 | fuckher | ||
377 | fuckin | ||
378 | fuckina | ||
379 | fucking | ||
380 | fuckingbitch | ||
381 | fuckinnuts | ||
382 | fuckinright | ||
383 | fuckit | ||
384 | fuckknob | ||
385 | fuckme | ||
386 | fuckmehard | ||
387 | fuckmonkey | ||
388 | fuckoff | ||
389 | fuckpig | ||
390 | fucks | ||
391 | fucktard | ||
392 | fuckwhore | ||
393 | fuckyou | ||
394 | fudgepacker | ||
395 | fuk | ||
396 | fuks | ||
397 | funfuck | ||
398 | fungus | ||
399 | fuuck | ||
400 | gangbang | ||
401 | gangbanged | ||
402 | gangbanger | ||
403 | gangsta | ||
404 | gatorbait | ||
405 | gaymuthafuckinwhore | ||
406 | gaysex | ||
407 | geni | ||
408 | genital | ||
409 | german | ||
410 | getiton | ||
411 | ginzo | ||
412 | gipp | ||
413 | givehead | ||
414 | glazeddonut | ||
415 | gob | ||
416 | godammit | ||
417 | goddamit | ||
418 | goddammit | ||
419 | goddamn | ||
420 | goddamned | ||
421 | goddamnes | ||
422 | goddamnit | ||
423 | goddamnmuthafucker | ||
424 | goldenshower | ||
425 | gonorrehea | ||
426 | gonzagas | ||
427 | gook | ||
428 | gotohell | ||
429 | goy | ||
430 | goyim | ||
431 | greaseball | ||
432 | gringo | ||
433 | groe | ||
434 | grostulation | ||
435 | gubba | ||
436 | gummer | ||
437 | gyp | ||
438 | gypo | ||
439 | gypp | ||
440 | gyppie | ||
441 | gyppo | ||
442 | gyppy | ||
443 | gypsy | ||
444 | hamas | ||
445 | handjob | ||
446 | hapa | ||
447 | hardon | ||
448 | harem | ||
449 | headfuck | ||
450 | headlights | ||
451 | hebe | ||
452 | heeb | ||
453 | henhouse | ||
454 | heterosexual | ||
455 | hillbillies | ||
456 | hindoo | ||
457 | hiscock | ||
458 | hitler | ||
459 | hitlerism | ||
460 | hitlerist | ||
461 | hiv | ||
462 | ho | ||
463 | hobo | ||
464 | hodgie | ||
465 | hoes | ||
466 | holestuffer | ||
467 | homicide | ||
468 | homobangers | ||
469 | honger | ||
470 | honkers | ||
471 | honkey | ||
472 | honky | ||
473 | hooker | ||
474 | hookers | ||
475 | hooters | ||
476 | hore | ||
477 | hork | ||
478 | horney | ||
479 | horniest | ||
480 | horny | ||
481 | horseshit | ||
482 | hosejob | ||
483 | hoser | ||
484 | hotdamn | ||
485 | hotpussy | ||
486 | hottotrot | ||
487 | hummer | ||
488 | husky | ||
489 | hussy | ||
490 | hustler | ||
491 | hymen | ||
492 | hymie | ||
493 | iblowu | ||
494 | ikey | ||
495 | incest | ||
496 | insest | ||
497 | intercourse | ||
498 | interracial | ||
499 | intheass | ||
500 | inthebuff | ||
501 | israel | ||
502 | israeli | ||
503 | israel's | ||
504 | italiano | ||
505 | jackass | ||
506 | jackoff | ||
507 | jackshit | ||
508 | jacktheripper | ||
509 | jade | ||
510 | jap | ||
511 | japanese | ||
512 | japcrap | ||
513 | jebus | ||
514 | jerkoff | ||
515 | jesus | ||
516 | jesuschrist | ||
517 | jew | ||
518 | jewish | ||
519 | jiga | ||
520 | jigaboo | ||
521 | jigg | ||
522 | jigga | ||
523 | jiggabo | ||
524 | jigger | ||
525 | jiggy | ||
526 | jihad | ||
527 | jijjiboo | ||
528 | jimfish | ||
529 | jism | ||
530 | jiz | ||
531 | jizim | ||
532 | jizjuice | ||
533 | jizm | ||
534 | jizz | ||
535 | jizzim | ||
536 | jizzum | ||
537 | juggalo | ||
538 | jugs | ||
539 | junglebunny | ||
540 | kaffer | ||
541 | kaffir | ||
542 | kaffre | ||
543 | kafir | ||
544 | kanake | ||
545 | kigger | ||
546 | kike | ||
547 | kink | ||
548 | kinky | ||
549 | kissass | ||
550 | kkk | ||
551 | knockers | ||
552 | kock | ||
553 | kondum | ||
554 | koon | ||
555 | kotex | ||
556 | krap | ||
557 | krappy | ||
558 | kraut | ||
559 | kum | ||
560 | kumbubble | ||
561 | kumbullbe | ||
562 | kummer | ||
563 | kumming | ||
564 | kumquat | ||
565 | kums | ||
566 | kunilingus | ||
567 | kunnilingus | ||
568 | kunt | ||
569 | ky | ||
570 | kyke | ||
571 | lactate | ||
572 | lapdance | ||
573 | lesbin | ||
574 | lesbo | ||
575 | lez | ||
576 | lezbe | ||
577 | lezbefriends | ||
578 | lezbo | ||
579 | lezz | ||
580 | lezzo | ||
581 | libido | ||
582 | licker | ||
583 | lickme | ||
584 | limey | ||
585 | limpdick | ||
586 | limy | ||
587 | liquor | ||
588 | livesex | ||
589 | loadedgun | ||
590 | lolita | ||
591 | looser | ||
592 | lovebone | ||
593 | lovegoo | ||
594 | lovegun | ||
595 | lovejuice | ||
596 | lovemuscle | ||
597 | lovepistol | ||
598 | loverocket | ||
599 | lowlife | ||
600 | lsd | ||
601 | lubejob | ||
602 | lucifer | ||
603 | luckycammeltoe | ||
604 | lugan | ||
605 | lynch | ||
606 | macaca | ||
607 | magicwand | ||
608 | mams | ||
609 | manhater | ||
610 | manpaste | ||
611 | marijuana | ||
612 | mastabate | ||
613 | mastabater | ||
614 | masterbate | ||
615 | masterblaster | ||
616 | mastrabator | ||
617 | masturbate | ||
618 | masturbating | ||
619 | mattressprincess | ||
620 | meatbeatter | ||
621 | meatrack | ||
622 | mexican | ||
623 | mgger | ||
624 | mggor | ||
625 | mickeyfinn | ||
626 | mideast | ||
627 | milf | ||
628 | mockey | ||
629 | mockie | ||
630 | mocky | ||
631 | mofo | ||
632 | moky | ||
633 | moles | ||
634 | molest | ||
635 | molestation | ||
636 | molester | ||
637 | molestor | ||
638 | moneyshot | ||
639 | mooncricket | ||
640 | mormon | ||
641 | moslem | ||
642 | mosshead | ||
643 | mothafuck | ||
644 | mothafucka | ||
645 | mothafuckaz | ||
646 | mothafucked | ||
647 | mothafucker | ||
648 | mothafuckin | ||
649 | mothafucking | ||
650 | mothafuckings | ||
651 | motherfuck | ||
652 | motherfucked | ||
653 | motherfucker | ||
654 | motherfuckin | ||
655 | motherfucking | ||
656 | motherfuckings | ||
657 | motherlovebone | ||
658 | muff | ||
659 | muffdive | ||
660 | muffdiver | ||
661 | muffindiver | ||
662 | mufflikcer | ||
663 | mulatto | ||
664 | muncher | ||
665 | munt | ||
666 | muslim | ||
667 | nastybitch | ||
668 | nastyho | ||
669 | nastyslut | ||
670 | nastywhore | ||
671 | nazi | ||
672 | necro | ||
673 | negro | ||
674 | negroes | ||
675 | negroid | ||
676 | negro's | ||
677 | nig | ||
678 | niger | ||
679 | nigerian | ||
680 | nigerians | ||
681 | nigg | ||
682 | nigga | ||
683 | niggah | ||
684 | niggaracci | ||
685 | niggard | ||
686 | niggarded | ||
687 | niggarding | ||
688 | niggardliness | ||
689 | niggardliness's | ||
690 | niggardly | ||
691 | niggards | ||
692 | niggard's | ||
693 | niggaz | ||
694 | nigger | ||
695 | niggerhead | ||
696 | niggerhole | ||
697 | niggers | ||
698 | nigger's | ||
699 | niggle | ||
700 | niggled | ||
701 | niggles | ||
702 | niggling | ||
703 | nigglings | ||
704 | niggor | ||
705 | niggur | ||
706 | niglet | ||
707 | nignog | ||
708 | nigr | ||
709 | nigra | ||
710 | nigre | ||
711 | nip | ||
712 | nipple | ||
713 | nipplering | ||
714 | nittit | ||
715 | nlgger | ||
716 | nlggor | ||
717 | nofuckingway | ||
718 | nookey | ||
719 | nookie | ||
720 | noonan | ||
721 | nooner | ||
722 | nudger | ||
723 | nuke | ||
724 | nutfucker | ||
725 | nymph | ||
726 | ontherag | ||
727 | oral | ||
728 | orga | ||
729 | orgasim | ||
730 | orgasm | ||
731 | orgies | ||
732 | orgy | ||
733 | osama | ||
734 | paki | ||
735 | palesimian | ||
736 | palestinian | ||
737 | pansies | ||
738 | pansy | ||
739 | panti | ||
740 | panties | ||
741 | payo | ||
742 | pearlnecklace | ||
743 | pecker | ||
744 | peckerwood | ||
745 | peehole | ||
746 | pee-pee | ||
747 | peepshow | ||
748 | peepshpw | ||
749 | pendy | ||
750 | penetration | ||
751 | peni5 | ||
752 | penile | ||
753 | penis | ||
754 | penises | ||
755 | penthouse | ||
756 | perv | ||
757 | phonesex | ||
758 | phuk | ||
759 | phuked | ||
760 | phuking | ||
761 | phukked | ||
762 | phukking | ||
763 | phungky | ||
764 | phuq | ||
765 | pi55 | ||
766 | picaninny | ||
767 | piccaninny | ||
768 | pickaninny | ||
769 | piker | ||
770 | pikey | ||
771 | piky | ||
772 | pimper | ||
773 | pimpjuic | ||
774 | pimpjuice | ||
775 | pimpsimp | ||
776 | pindick | ||
777 | pisser | ||
778 | pisses | ||
779 | pisshead | ||
780 | pissin | ||
781 | pissing | ||
782 | pissoff | ||
783 | pistol | ||
784 | pixie | ||
785 | pixy | ||
786 | playboy | ||
787 | playgirl | ||
788 | pocha | ||
789 | pocho | ||
790 | pocketpool | ||
791 | pohm | ||
792 | polack | ||
793 | pom | ||
794 | pommie | ||
795 | pommy | ||
796 | poo | ||
797 | poon | ||
798 | poontang | ||
799 | pooper | ||
800 | pooperscooper | ||
801 | pooping | ||
802 | poorwhitetrash | ||
803 | popimp | ||
804 | porchmonkey | ||
805 | porn | ||
806 | pornflick | ||
807 | pornking | ||
808 | porno | ||
809 | pornography | ||
810 | pornprincess | ||
811 | pric | ||
812 | prick | ||
813 | prickhead | ||
814 | primetime | ||
815 | propaganda | ||
816 | prostitute | ||
817 | protestant | ||
818 | pu55i | ||
819 | pu55y | ||
820 | pube | ||
821 | pubic | ||
822 | pubiclice | ||
823 | pud | ||
824 | pudboy | ||
825 | pudd | ||
826 | puddboy | ||
827 | puntang | ||
828 | purinapricness | ||
829 | puss | ||
830 | pussie | ||
831 | pussies | ||
832 | pussy | ||
833 | pussycat | ||
834 | pussyeater | ||
835 | pussyfucker | ||
836 | pussylicker | ||
837 | pussylips | ||
838 | pussylover | ||
839 | pussypounder | ||
840 | pusy | ||
841 | quashie | ||
842 | queef | ||
843 | quickie | ||
844 | quim | ||
845 | ra8s | ||
846 | rabbi | ||
847 | racial | ||
848 | racist | ||
849 | radical | ||
850 | radicals | ||
851 | raghead | ||
852 | randy | ||
853 | rape | ||
854 | raped | ||
855 | raper | ||
856 | rapist | ||
857 | rearend | ||
858 | rearentry | ||
859 | rectum | ||
860 | redlight | ||
861 | redneck | ||
862 | reefer | ||
863 | reestie | ||
864 | refugee | ||
865 | rentafuck | ||
866 | republican | ||
867 | rere | ||
868 | retard | ||
869 | retarded | ||
870 | ribbed | ||
871 | rigger | ||
872 | rimjob | ||
873 | rimming | ||
874 | roach | ||
875 | robber | ||
876 | roundeye | ||
877 | rump | ||
878 | russki | ||
879 | russkie | ||
880 | sadis | ||
881 | sadom | ||
882 | samckdaddy | ||
883 | sandm | ||
884 | sandnigger | ||
885 | satan | ||
886 | scag | ||
887 | scallywag | ||
888 | scat | ||
889 | schlong | ||
890 | screwyou | ||
891 | scrotum | ||
892 | semen | ||
893 | seppo | ||
894 | servant | ||
895 | sex | ||
896 | sexed | ||
897 | sexfarm | ||
898 | sexhound | ||
899 | sexhouse | ||
900 | sexing | ||
901 | sexkitten | ||
902 | sexpot | ||
903 | sexslave | ||
904 | sextogo | ||
905 | sextoy | ||
906 | sextoys | ||
907 | sexual | ||
908 | sexually | ||
909 | sexwhore | ||
910 | sexy | ||
911 | sexymoma | ||
912 | sexy-slim | ||
913 | shag | ||
914 | shaggin | ||
915 | shagging | ||
916 | shat | ||
917 | shav | ||
918 | shawtypimp | ||
919 | sheeney | ||
920 | shhit | ||
921 | shinola | ||
922 | shitcan | ||
923 | shitdick | ||
924 | shite | ||
925 | shiteater | ||
926 | shited | ||
927 | shitface | ||
928 | shitfaced | ||
929 | shitfit | ||
930 | shitforbrains | ||
931 | shitfuck | ||
932 | shitfucker | ||
933 | shitfull | ||
934 | shithapens | ||
935 | shithappens | ||
936 | shithead | ||
937 | shithouse | ||
938 | shiting | ||
939 | shitlist | ||
940 | shitola | ||
941 | shitoutofluck | ||
942 | shits | ||
943 | shitstain | ||
944 | shitted | ||
945 | shitter | ||
946 | shitting | ||
947 | shortfuck | ||
948 | showtime | ||
949 | sissy | ||
950 | sixsixsix | ||
951 | sixtynine | ||
952 | sixtyniner | ||
953 | skank | ||
954 | skankbitch | ||
955 | skankfuck | ||
956 | skankwhore | ||
957 | skanky | ||
958 | skankybitch | ||
959 | skankywhore | ||
960 | skinflute | ||
961 | skum | ||
962 | skumbag | ||
963 | slanteye | ||
964 | slapper | ||
965 | slav | ||
966 | slave | ||
967 | slavedriver | ||
968 | sleezebag | ||
969 | sleezeball | ||
970 | slideitin | ||
971 | slimebucket | ||
972 | slopehead | ||
973 | slopey | ||
974 | slopy | ||
975 | slut | ||
976 | sluts | ||
977 | slutt | ||
978 | slutting | ||
979 | slutty | ||
980 | slutwear | ||
981 | slutwhore | ||
982 | smack | ||
983 | smackthemonkey | ||
984 | smut | ||
985 | snatch | ||
986 | snatchpatch | ||
987 | snigger | ||
988 | sniggered | ||
989 | sniggering | ||
990 | sniggers | ||
991 | snigger's | ||
992 | sniper | ||
993 | snowback | ||
994 | snownigger | ||
995 | sodom | ||
996 | sodomise | ||
997 | sodomite | ||
998 | sodomize | ||
999 | sodomy | ||
1000 | sonofabitch | ||
1001 | sonofbitch | ||
1002 | sooty | ||
1003 | sos | ||
1004 | soviet | ||
1005 | spaghettibender | ||
1006 | spaghettinigger | ||
1007 | spankthemonkey | ||
1008 | sperm | ||
1009 | spermacide | ||
1010 | spermbag | ||
1011 | spermhearder | ||
1012 | spermherder | ||
1013 | spic | ||
1014 | spick | ||
1015 | spig | ||
1016 | spigotty | ||
1017 | spik | ||
1018 | spitter | ||
1019 | splittail | ||
1020 | spooge | ||
1021 | spreadeagle | ||
1022 | spunk | ||
1023 | spunky | ||
1024 | squaw | ||
1025 | stagg | ||
1026 | stiffy | ||
1027 | strapon | ||
1028 | stringer | ||
1029 | stripclub | ||
1030 | stroking | ||
1031 | stupidfuck | ||
1032 | stupidfucker | ||
1033 | suckdick | ||
1034 | sucker | ||
1035 | suckme | ||
1036 | suckmyass | ||
1037 | suckmydick | ||
1038 | suckmytit | ||
1039 | suckoff | ||
1040 | suicide | ||
1041 | swallower | ||
1042 | swalow | ||
1043 | swastika | ||
1044 | sweetness | ||
1045 | syphilis | ||
1046 | taff | ||
1047 | tampon | ||
1048 | tang | ||
1049 | tantra | ||
1050 | tarbaby | ||
1051 | tard | ||
1052 | teat | ||
1053 | teste | ||
1054 | testicle | ||
1055 | testicles | ||
1056 | thicklips | ||
1057 | thirdeye | ||
1058 | thirdleg | ||
1059 | threesome | ||
1060 | threeway | ||
1061 | timbernigger | ||
1062 | tinkle | ||
1063 | tit | ||
1064 | titbitnipply | ||
1065 | titfuck | ||
1066 | titfucker | ||
1067 | titfuckin | ||
1068 | titjob | ||
1069 | titlicker | ||
1070 | titlover | ||
1071 | tits | ||
1072 | tittie | ||
1073 | titties | ||
1074 | titty | ||
1075 | tnt | ||
1076 | tongethruster | ||
1077 | tonguethrust | ||
1078 | tonguetramp | ||
1079 | tortur | ||
1080 | tosser | ||
1081 | towelhead | ||
1082 | trailertrash | ||
1083 | tramp | ||
1084 | trannie | ||
1085 | tranny | ||
1086 | transexual | ||
1087 | transsexual | ||
1088 | transvestite | ||
1089 | triplex | ||
1090 | trisexual | ||
1091 | trojan | ||
1092 | trots | ||
1093 | tuckahoe | ||
1094 | tunneloflove | ||
1095 | turd | ||
1096 | turnon | ||
1097 | twat | ||
1098 | twink | ||
1099 | twinkie | ||
1100 | twobitwhore | ||
1101 | uck | ||
1102 | uk | ||
1103 | unfuckable | ||
1104 | upskirt | ||
1105 | uptheass | ||
1106 | upthebutt | ||
1107 | usama | ||
1108 | uterus | ||
1109 | vagina | ||
1110 | vaginal | ||
1111 | vatican | ||
1112 | vibr | ||
1113 | vibrater | ||
1114 | vibrator | ||
1115 | vietcong | ||
1116 | virgin | ||
1117 | virginbreaker | ||
1118 | vulva | ||
1119 | wab | ||
1120 | wank | ||
1121 | wanker | ||
1122 | wanking | ||
1123 | waysted | ||
1124 | weapon | ||
1125 | weenie | ||
1126 | weewee | ||
1127 | welcher | ||
1128 | welfare | ||
1129 | wetb | ||
1130 | wetback | ||
1131 | wetspot | ||
1132 | whacker | ||
1133 | whash | ||
1134 | whigger | ||
1135 | whiskeydick | ||
1136 | whiskydick | ||
1137 | whit | ||
1138 | whitenigger | ||
1139 | whites | ||
1140 | whitetrash | ||
1141 | whitey | ||
1142 | whiz | ||
1143 | whop | ||
1144 | whore | ||
1145 | whorefucker | ||
1146 | whorehouse | ||
1147 | wigger | ||
1148 | willie | ||
1149 | williewanker | ||
1150 | willy | ||
1151 | wn | ||
1152 | wog | ||
1153 | women's | ||
1154 | wop | ||
1155 | wtf | ||
1156 | wuss | ||
1157 | wuzzie | ||
1158 | xtc | ||
1159 | xxx | ||
1160 | yankee | ||
1161 | yellowman | ||
1162 | zigabo | ||
1163 | zipperhead \ No newline at end of file | ||
diff --git a/generator/generator.cpp b/generator/generator.cpp index 7ab69b5..0309482 100644 --- a/generator/generator.cpp +++ b/generator/generator.cpp | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <hkutil/string.h> | 4 | #include <hkutil/string.h> |
5 | 5 | ||
6 | #include <algorithm> | 6 | #include <algorithm> |
7 | #include <filesystem> | ||
7 | #include <fstream> | 8 | #include <fstream> |
8 | #include <list> | 9 | #include <list> |
9 | #include <regex> | 10 | #include <regex> |
@@ -11,6 +12,7 @@ | |||
11 | #include <stdexcept> | 12 | #include <stdexcept> |
12 | #include <string> | 13 | #include <string> |
13 | #include <unordered_map> | 14 | #include <unordered_map> |
15 | #include <unordered_set> | ||
14 | #include <vector> | 16 | #include <vector> |
15 | 17 | ||
16 | constexpr int MIN_FREQUENCY = 2000000; | 18 | constexpr int MIN_FREQUENCY = 2000000; |
@@ -49,11 +51,12 @@ std::list<std::string> readFile(std::string path, bool uniq = false) { | |||
49 | 51 | ||
50 | generator::generator(std::string agidPath, std::string wordNetPath, | 52 | generator::generator(std::string agidPath, std::string wordNetPath, |
51 | std::string cmudictPath, std::string wordfreqPath, | 53 | std::string cmudictPath, std::string wordfreqPath, |
52 | std::string outputPath) | 54 | std::string datadirPath, std::string outputPath) |
53 | : agidPath_(agidPath), | 55 | : agidPath_(agidPath), |
54 | wordNetPath_(wordNetPath), | 56 | wordNetPath_(wordNetPath), |
55 | cmudictPath_(cmudictPath), | 57 | cmudictPath_(cmudictPath), |
56 | wordfreqPath_(wordfreqPath), | 58 | wordfreqPath_(wordfreqPath), |
59 | datadirPath_(datadirPath), | ||
57 | outputPath_(outputPath) { | 60 | outputPath_(outputPath) { |
58 | // Ensure AGID infl.txt exists | 61 | // Ensure AGID infl.txt exists |
59 | if (!std::ifstream(agidPath_)) { | 62 | if (!std::ifstream(agidPath_)) { |
@@ -102,6 +105,14 @@ void generator::run() { | |||
102 | } | 105 | } |
103 | } | 106 | } |
104 | 107 | ||
108 | std::unordered_set<std::string> profane; | ||
109 | { | ||
110 | std::list<std::string> lines(readFile(datadirPath_ / "profane.txt")); | ||
111 | for (const std::string& line : lines) { | ||
112 | profane.insert(line); | ||
113 | } | ||
114 | } | ||
115 | |||
105 | { | 116 | { |
106 | std::list<std::string> lines(readFile(wordNetPath_ + "wn_s.pl")); | 117 | std::list<std::string> lines(readFile(wordNetPath_ + "wn_s.pl")); |
107 | hatkirby::progress ppgs("Reading synsets from WordNet...", lines.size()); | 118 | hatkirby::progress ppgs("Reading synsets from WordNet...", lines.size()); |
@@ -142,6 +153,11 @@ void generator::run() { | |||
142 | continue; | 153 | continue; |
143 | } | 154 | } |
144 | 155 | ||
156 | // Ignore any profane words. | ||
157 | if (profane.count(text)) { | ||
158 | continue; | ||
159 | } | ||
160 | |||
145 | // The WordNet data does contain duplicates, so we need to check that we | 161 | // The WordNet data does contain duplicates, so we need to check that we |
146 | // haven't already created this word. | 162 | // haven't already created this word. |
147 | std::pair<int, int> lookup(synset_id, wnum); | 163 | std::pair<int, int> lookup(synset_id, wnum); |
@@ -175,7 +191,8 @@ void generator::run() { | |||
175 | } | 191 | } |
176 | 192 | ||
177 | if (!word_by_base_.count(infinitive) && | 193 | if (!word_by_base_.count(infinitive) && |
178 | !(type == 'V' && word_frequencies[infinitive] >= MIN_FREQUENCY)) { | 194 | !(type == 'V' && word_frequencies[infinitive] >= MIN_FREQUENCY && |
195 | !profane.count(infinitive))) { | ||
179 | continue; | 196 | continue; |
180 | } | 197 | } |
181 | 198 | ||
@@ -262,8 +279,10 @@ void generator::run() { | |||
262 | // Compile the forms we have mapped. | 279 | // Compile the forms we have mapped. |
263 | for (const std::list<std::string>& infl_list : inflections) { | 280 | for (const std::list<std::string>& infl_list : inflections) { |
264 | for (const std::string& infl : infl_list) { | 281 | for (const std::string& infl : infl_list) { |
265 | size_t form_id = LookupOrCreateForm(infl); | 282 | if (!profane.count(infl)) { |
266 | AddFormToWord(form_id, word_id); | 283 | size_t form_id = LookupOrCreateForm(infl); |
284 | AddFormToWord(form_id, word_id); | ||
285 | } | ||
267 | } | 286 | } |
268 | } | 287 | } |
269 | } | 288 | } |
diff --git a/generator/generator.h b/generator/generator.h index a97b0b0..923fc17 100644 --- a/generator/generator.h +++ b/generator/generator.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef GENERATOR_H_D5C6A724 | 1 | #ifndef GENERATOR_H_D5C6A724 |
2 | #define GENERATOR_H_D5C6A724 | 2 | #define GENERATOR_H_D5C6A724 |
3 | 3 | ||
4 | #include <filesystem> | ||
4 | #include <optional> | 5 | #include <optional> |
5 | #include <set> | 6 | #include <set> |
6 | #include <string> | 7 | #include <string> |
@@ -22,7 +23,7 @@ class generator { | |||
22 | 23 | ||
23 | generator(std::string agidPath, std::string wordNetPath, | 24 | generator(std::string agidPath, std::string wordNetPath, |
24 | std::string cmudictPath, std::string wordfreqPath, | 25 | std::string cmudictPath, std::string wordfreqPath, |
25 | std::string outputPath); | 26 | std::string datadirPath, std::string outputPath); |
26 | 27 | ||
27 | // Action | 28 | // Action |
28 | 29 | ||
@@ -54,6 +55,7 @@ class generator { | |||
54 | std::string wordNetPath_; | 55 | std::string wordNetPath_; |
55 | std::string cmudictPath_; | 56 | std::string cmudictPath_; |
56 | std::string wordfreqPath_; | 57 | std::string wordfreqPath_; |
58 | std::filesystem::path datadirPath_; | ||
57 | 59 | ||
58 | // Output | 60 | // Output |
59 | 61 | ||
diff --git a/generator/main.cpp b/generator/main.cpp index c958421..94bf0a1 100644 --- a/generator/main.cpp +++ b/generator/main.cpp | |||
@@ -4,20 +4,21 @@ | |||
4 | #include "generator.h" | 4 | #include "generator.h" |
5 | 5 | ||
6 | void printUsage() { | 6 | void printUsage() { |
7 | std::cout << "usage: generator agid wordnet cmudict wordfreq output" | 7 | std::cout << "usage: generator agid wordnet cmudict wordfreq datadir output" |
8 | << std::endl; | 8 | << std::endl; |
9 | std::cout << "agid :: path to an AGID infl.txt file" << std::endl; | 9 | std::cout << "agid :: path to an AGID infl.txt file" << std::endl; |
10 | std::cout << "wordnet :: path to a WordNet prolog data directory" | 10 | std::cout << "wordnet :: path to a WordNet prolog data directory" |
11 | << std::endl; | 11 | << std::endl; |
12 | std::cout << "cmudict :: path to a CMUDICT pronunciation file" << std::endl; | 12 | std::cout << "cmudict :: path to a CMUDICT pronunciation file" << std::endl; |
13 | std::cout << "wordfreq :: path to a word frequency CSV file" << std::endl; | 13 | std::cout << "wordfreq :: path to a word frequency CSV file" << std::endl; |
14 | std::cout << "datadir :: path to the Lingo Randomizer datadir" << std::endl; | ||
14 | std::cout << "output :: datafile output path" << std::endl; | 15 | std::cout << "output :: datafile output path" << std::endl; |
15 | } | 16 | } |
16 | 17 | ||
17 | int main(int argc, char** argv) { | 18 | int main(int argc, char** argv) { |
18 | if (argc == 6) { | 19 | if (argc == 7) { |
19 | try { | 20 | try { |
20 | generator app(argv[1], argv[2], argv[3], argv[4], argv[5]); | 21 | generator app(argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]); |
21 | 22 | ||
22 | try { | 23 | try { |
23 | app.run(); | 24 | app.run(); |