Difference between revisions of "User:Jimregan/Misc"
Jump to navigation
Jump to search
m (→Russian monodix: More pardefs) |
(rm russian & slovakian - they're in the incubator now) |
||
(One intermediate revision by the same user not shown) | |||
Line 102: | Line 102: | ||
Wiedeń, Wiednia, Wiedniem, Wiedniu, Wiedniowi, |
Wiedeń, Wiednia, Wiedniem, Wiedniu, Wiedniowi, |
||
Wersal, Wersalowi, Wersalem, Wersalu, |
Wersal, Wersalowi, Wersalem, Wersalu, |
||
</pre> |
|||
== Russian monodix== |
|||
Start of a monodix for Russian: |
|||
<pre> |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<dictionary> |
|||
<alphabet>АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя</alphabet> |
|||
<!-- include sdefs from elsewhere --> |
|||
<pardefs> |
|||
<pardef n="собак/а__n"> |
|||
<e> |
|||
<p> |
|||
<l>а</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="nom"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>у</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="acc"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ы</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="gen"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>е</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="dat"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>е</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="prep"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ой</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="inst"/></r> |
|||
</p> |
|||
</e> |
|||
<e r="LR"> |
|||
<p> |
|||
<l>ою</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="inst"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>и</l> |
|||
<r>а<s n="n"/><s n="nom"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l></l> |
|||
<r>а<s n="n"/><s n="acc"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l></l> |
|||
<r>а<s n="n"/><s n="gen"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ам</l> |
|||
<r>а<s n="n"/><s n="dat"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ах</l> |
|||
<r>а<s n="n"/><s n="prep"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ами</l> |
|||
<r>а<s n="n"/><s n="inst"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
</pardef> |
|||
<pardef n="мат/ь__n"> |
|||
<e> |
|||
<p> |
|||
<l>ь</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="sg"/><s n="nom"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ь</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="sg"/><s n="acc"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ери</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="sg"/><s n="gen"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ери</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="sg"/><s n="dat"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ери</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="sg"/><s n="prep"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ерью</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="sg"/><s n="inst"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ери</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="pl"/><s n="nom"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ерей</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="pl"/><s n="acc"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ерей</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="pl"/><s n="gen"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ерям</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="pl"/><s n="dat"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ерях</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="pl"/><s n="prep"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ерями</l> |
|||
<r>ь<s n="n"/><s n="f"/><s n="pl"/><s n="inst"/></r> |
|||
</p> |
|||
</e> |
|||
</pardef> |
|||
<pardef n="бо/г__n"> |
|||
<e> |
|||
<p> |
|||
<l>г</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="nom"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>га</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="gen"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>гу</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="dat"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>га</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="acc"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>гом</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="inst"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ге</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="loc"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>же</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="voc"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ги</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="nom"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>гов</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="gen"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>гом</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="dat"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>гов</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="acc"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>гами</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="inst"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>гах</l> |
|||
<r>г<s n="n"/><s n="m1"/><s n="loc"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
</pardef> |
|||
<!-- стул 1: chair --> |
|||
<pardef n="стул/__n"> |
|||
<e> |
|||
<p> |
|||
<l></l> |
|||
<r><s n="n"/><s n="m3"/><s n="nom"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>а</l> |
|||
<r><s n="n"/><s n="m3"/><s n="gen"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>у</l> |
|||
<r><s n="n"/><s n="m3"/><s n="dat"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l></l> |
|||
<r><s n="n"/><s n="m3"/><s n="acc"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ом</l> |
|||
<r><s n="n"/><s n="m3"/><s n="inst"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>е</l> |
|||
<r><s n="n"/><s n="m3"/><s n="loc"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ья</l> |
|||
<r><s n="n"/><s n="m3"/><s n="nom"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ей</l> |
|||
<r><s n="n"/><s n="m3"/><s n="gen"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ям</l> |
|||
<r><s n="n"/><s n="m3"/><s n="dat"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ьев</l> |
|||
<r><s n="n"/><s n="m3"/><s n="acc"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ьями</l> |
|||
<r><s n="n"/><s n="m3"/><s n="inst"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ах</l> |
|||
<r><s n="n"/><s n="m3"/><s n="loc"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
</pardef> |
|||
<!-- стул 2: stool (shit) --> |
|||
<pardef n="стул/__n"> |
|||
<e> |
|||
<p> |
|||
<l></l> |
|||
<r><s n="n"/><s n="m3"/><s n="nom"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>а</l> |
|||
<r><s n="n"/><s n="m3"/><s n="gen"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>у</l> |
|||
<r><s n="n"/><s n="m3"/><s n="dat"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l></l> |
|||
<r><s n="n"/><s n="m3"/><s n="acc"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ом</l> |
|||
<r><s n="n"/><s n="m3"/><s n="inst"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>е</l> |
|||
<r><s n="n"/><s n="m3"/><s n="loc"/><s n="sg"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ы</l> |
|||
<r><s n="n"/><s n="m3"/><s n="nom"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ов</l> |
|||
<r><s n="n"/><s n="m3"/><s n="gen"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ам</l> |
|||
<r><s n="n"/><s n="m3"/><s n="dat"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ы</l> |
|||
<r><s n="n"/><s n="m3"/><s n="acc"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ами</l> |
|||
<r><s n="n"/><s n="m3"/><s n="inst"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ах</l> |
|||
<r><s n="n"/><s n="m3"/><s n="loc"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
</pardef> |
|||
<pardef n="столиц/а__n"> |
|||
<e> |
|||
<p> |
|||
<l>а</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="nom"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ы</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="gen"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>е</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="dat"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>у</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="acc"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ой</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="inst"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>е</l> |
|||
<r>а<s n="n"/><s n="f"/><s n="sg"/><s n="prep"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ы</l> |
|||
<r>а<s n="n"/><s n="nom"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l></l> |
|||
<r>а<s n="n"/><s n="gen"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ам</l> |
|||
<r>а<s n="n"/><s n="dat"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ы</l> |
|||
<r>а<s n="n"/><s n="acc"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ами</l> |
|||
<r>а<s n="n"/><s n="inst"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
<e> |
|||
<p> |
|||
<l>ах</l> |
|||
<r>а<s n="n"/><s n="prep"/><s n="f"/><s n="pl"/></r> |
|||
</p> |
|||
</e> |
|||
</pardef> |
|||
</pardefs> |
|||
<section id="main" type="standard"> |
|||
<e lm="собака"><i>собак</i><par n="собак/а__n"/></e> |
|||
<e lm="мать"><i>мат</i><par n="мат/ь__n"/></e> |
|||
<e lm="бог"><i>бо</i><par n="бо/г__n"/></e> |
|||
<e lm="столица"><i>столиц</i><par n="столиц/а__n"/></e> |
|||
</section> |
|||
</dictionary> |
|||
</pre> |
</pre> |
Latest revision as of 17:04, 30 October 2007
stem-splitter.pl
#!/usr/bin/perl use warnings; use strict; use String::Diff qw/diff_fully/; while(<>) { s/,\W+$//; my $endings = $_; my @a = split/, /; my $stem = find_stem(@a); $endings =~ s/$stem//g; print $stem; if ($endings =~ /owie/) {print ":n.m1:";} else {print ":n.??:";} print join(',', sort split/, /, $endings), "\n"; } sub find_stem() { my @in = @_; my ($r, $l, $cur, $last); my $i=0; while ($i<($#in)) { ($r, $l) = diff_fully($in[$i], $in[$i+1]); $cur = $r->[0]->[1]; $last = $cur if (!$last); if ($cur ne $last) { ($r, $l) = diff_fully($last, $cur); $last = $r->[0]->[1]; } $i++; } return $last; }
This is a list of patterns that should be generated by the Polish monodix.
hotel, hoteli, hotelowi, hotelem, hotelu, hotelach, hotelami, hotelom, hotelów, hotele, pies, psa, psie, psem, psu, psy, psach, psami, psom, psów, stół, stole, stołowi, stołem, stołu, stoły, stołach, stołami, stołom, stołów, gołąb, gołębie, gołębiach, gołębi, gołębiami, gołębiom, gołębia, gołębiem, gołębiowi, gołębiu, kot, kota, kocie, kotowi, kotem, kotach, kotami, kotom, kotów, koty, dzień, dnia, dniowi, dniem, dniu, dniach, dniami, dni, dniom, dnie, tydzień, tygodni, tygodnia, tygodniach, tygodniami, tygodnie, tygodniem, tygodniom, tygodniowi, tygodniu, miesiąc, miesiąca, miesiącowi, miesiącem, miesiącu, miesiącach, miesiącami, miesiącom, miesięcy, miesiące, student, studenta, studencie, studentowi, studentem, studenci, studentach, studentami, studentom, studenty, studentów, brat, braci, braty, bracia, braciach, bracie, braciom, braćmi, brata, bratem, bratu, przyjaciel, przyjaciela, przyjacielowi, przyjacielem, przyjacielu, przyjaciele, przyjaciołach, przyjaciołom, przyjaciół, przyjaciółmi, syn, synach, synami, synom, synów, synowie, syny, syna, synem, synowi, synu, lekarz, lekarza, lekarzowi, lekarzem, lekarzu, lekarze, lekarzy, lekarzach, lekarzami, lekarzom, mąż, męża, mężowi, mężem, mężu, mężach, mężami, mężom, mężów, mężowie, męże, ojciec, ojca, ojcem, ojcu, ojcach, ojcami, ojcom, ojców, ojcowie, ojce, ojcze, kobieta, kobiecie, kobieto, kobiety, kobietą, kobietę, kobietach, kobietami, kobietom, kobiet, ulica, ulice, ulico, ulicy, ulicą, ulicę, ulicach, ulicami, ulicom, ulic, noga, nodze, nogi, nogo, nogą, nogę, nogach, nogami, nogom, nóg, ręka, ręku, rękoma, rąk, ręce, ręki, ręko, ręką, rękę, rękach, rękami, rękom, rzeka, rzece, rzeki, rzeko, rzeką, rzekę, rzek, rzekach, rzekami, rzekom, noc, noce, nocy, nocą, nocach, nocami, nocom, gospodyni, gospodynie, gospodynią, gospodynię, gospodyń, gospodyniach, gospodyniami, gospodyniom, gwiazda, gwieździe, gwiazdo, gwiazdy, gwiazdą, gwiazdę, gwiazdach, gwiazdami, gwiazdom, gwiazd, teściowa, teściowe, teściowych, teściowymi, teściowej, teściowym, teściową, teściowo, miasto, miasta, mieście, miastem, miastu, miastach, miastami, miastom, miast, zdanie, zdania, zdaniem, zdaniu, zdaniach, zdaniami, zdaniom, zdań, oko, oka, okiem, oku, oczach, oczami, oczom, oczów, oczu, oczy, oczyma, ócz, ucho, ucha, uchem, uchu, uszach, uszami, uszom, uszów, uszu, uszy, uszyma, dziecko, dziecka, dzieckiem, dziecku, dziecku, dzieci, dzieciach, dzieciom, dziećmi, zwierzę, zwierzęcia, zwierzęciem, zwierzęciu, zwierzęta, zwierzętach, zwierzętami, zwierzętom, zwierząt, imię, imienia, imieniem, imieniu, imiona, imionach, imionami, imionom, imion, jabłko, jabłka, jabłkiem, jabłku, jabłku, jabłkach, jabłkami, jabłek, jabłkom, okno, okna, oknie, oknem, oknu, oknach, oknami, oknom, okien, dach, dachowi, dachem, dachu, dachy, dachach, dachami, dachom, dachów, królowa, królowe, królowych, królowymi, królowej, królowym, królową, królowo, źródło, źródła, źródle, źródłem, źródłu, źródłach, źródłami, źródłom, źródeł, sklep, sklepie, sklepowi, sklepem, sklepu, sklepy, sklepach, sklepami, sklepom, sklepów, muzeum, muzea, muzeach, muzeami, muzeom, muzeów, światło, światła, świetle, światłem, światłu, światłach, światłami, światłom, świateł, matka, matek, matce, matki, matko, matką, matkę, matkach, matkami, matkom, kość, kości, kością, kościach, kościom, kośćmi, kościami, miłość, miłości, miłością, miłościach, miłościami, miłościom, mama, mamie, mamo, mamy, mamą, mamę, mamach, mamami, mamom, mam, broń, bronie, broni, bronią, broniach, broniami, broniom, profanacja, profanacje, profanacyj, profanacji, profanacjo, profanacją, profanację, profanacjach, profanacjami, profanacjom, Francja, Francji, Francjo, Francją, Francję, Werona, Weronie, Werono, Werony, Weroną, Weronę, Czechy, Czechach, Czechami, Czechom, Czech, Urugwaj, Urugwajowi, Urugwajem, Urugwaju, Włochy, Włoch, Włochami, Włochom, Włoszech, Węgry, Węgier, Węgrach, Węgrami, Węgrzech, Niemcy, Niemczech, Niemcami, Niemcom, Niemiec, Watykan, Watykanie, Watykanowi, Watykanem, Watykanu, Wiedeń, Wiednia, Wiedniem, Wiedniu, Wiedniowi, Wersal, Wersalowi, Wersalem, Wersalu,