Polish noun morphology

This is a very cool christmass update that consists of entire new version
of the Polish noun morphology and some minor bugfixes. The new description
of the morphology is generated automaticaly from some linguistic resources that 
have benn recently released free. This description covers (probably) all 
the Polish nouns.
This commit is contained in:
asl (at) mimuw.edu.pl
2010-12-18 01:08:27 +00:00
parent 1a45f40b66
commit d7ab27d1c7
10 changed files with 30644 additions and 4012 deletions

View File

@@ -490,135 +490,6 @@
nDom = \s -> ch_End_dom_MI s ** {lock_N = <>};
-- Nominative, Genetive, Dative, Accusative, Instrumental, Locative and Vocative;
-- corresponding seven plural forms and the gender.
mkN : (nomSg, genSg, datSg, accSg, instrSg, locSg, vocSg,
nomPl, genPl, datPl, accPl, instrPl, locPl, vocPl: Str) -> Gender -> N;
mkN = \nomSg, genSg, datSg, accSg, instrSg, locSg, vocSg,
nomPl, genPl, datPl, accPl, instrPl, locPl, vocPl, g ->
{
s = table {
SF Sg Nom => nomSg;
SF Sg Gen => genSg;
SF Sg Dat => datSg;
SF Sg Acc => accSg;
SF Sg Instr => instrSg;
SF Sg Loc => locSg;
SF Sg VocP => vocSg;
SF Pl Nom => nomPl;
SF Pl Gen => genPl;
SF Pl Dat => datPl;
SF Pl Acc => accPl;
SF Pl Instr => instrPl;
SF Pl Loc => locPl;
SF Pl VocP => vocPl
};
g = g;
} ** {lock_N = <> } ;
-- Nouns used as functions need a preposition. The most common is with Genitive.
mkN2 : N -> N2 ;
mkN2 n = mkFun n nullPrep ;
mkFun : N -> Prep -> N2;
mkFun f p = { s = f.s; g = f.g; c = { c = p.c; s=p.s}; lock_N2=<> } ;
-- The commonest cases are functions with Genitive.
nullPrep : Prep = {s = []; c= GenNoPrep; lock_Prep=<>};
mkN3 : N -> Prep -> Prep -> N3;
mkN3 f p r = { s = f.s; g = f.g; c = {s=p.s; c=p.c} ; c2 = {s=r.s; c=r.c}; lock_N3=<>};
--6 Preposition
-- A preposition is formed from a string and a case.
mkPrep : Str -> Case -> Prep;
mkPrep s c = mkCompl s c ** {lock_Prep = <>};
-- Often just a case with the empty string is enough.
-- the directly following noun without a preposition
genPrep : Prep;
genPrep = mkPrep [] genitive;
datPrep : Prep;
datPrep = mkPrep [] dative;
accPrep : Prep;
accPrep = mkPrep [] accusative;
instrPrep : Prep;
instrPrep = mkPrep [] instrumental;
-- A great many of common prepositions are always with the genitive.
bez_Prep : Prep; --without
bez_Prep = mkPrep "bez" genitive;
dla_Prep : Prep; --for
dla_Prep = mkPrep "dla" genitive;
do_Prep : Prep; --to
do_Prep = mkPrep "do" genitive;
dookola_Prep : Prep; --(a)round
dookola_Prep = mkPrep "dookoła" genitive;
kolo_Prep : Prep; --near
kolo_Prep = mkPrep "koło" genitive;
obok_Prep : Prep; --beside, next to
obok_Prep = mkPrep "obok" genitive;
od_Prep : Prep; --from
od_Prep = mkPrep "od" genitive;
oprocz_Prep : Prep; --out of
oprocz_Prep = mkPrep "oprócz" genitive;
podczas_Prep : Prep; --during
podczas_Prep = mkPrep "podczas" genitive;
mimo_Prep : Prep; -- despite
mimo_Prep = mkPrep "mimo" genitive;
spod_Prep : Prep; --under
spod_Prep = mkPrep "spod" genitive;
u_Prep : Prep; --by, with (I was by Peter last sunday.)
u_Prep = mkPrep "u" genitive;
wzdluz_Prep : Prep; --along
wzdluz_Prep = mkPrep "wzdłuż" genitive;
z_Prep : Prep; --from (I come from Italy.), of/ from (The ring is made of silver.)
z_Prep = mkPrep "z" genitive;
zamiast_Prep : Prep; --instead of
zamiast_Prep = mkPrep "zamiast" genitive;
znad_Prep : Prep; --over, above
znad_Prep = mkPrep "znad" genitive;
zza_Prep : Prep; --behind
zza_Prep = mkPrep "zza" genitive;
-- Prepositions always with the dative.
dzieki_Prep : Prep; -- thanks for
dzieki_Prep = mkPrep "dzięki" dative;
przeciw_Prep : Prep; -- against
przeciw_Prep = mkPrep "przeciw" dative;
};