helper functions to make it possible to import Polish morphology

This commit is contained in:
krangelov
2021-04-23 11:19:54 +02:00
parent 1131058b68
commit 6bf2555a4a
2 changed files with 33 additions and 3 deletions

View File

@@ -39,7 +39,6 @@ resource AdjectiveMorphoPol = ResPol ** open Prelude, (Predef=Predef) in {
-- L |4 4 4 4 7 10 10
-- (V = N)
-- oper adj11forms : Type = { s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11 : Str };
--
-- oper Adj : Type = {
@@ -117,6 +116,22 @@ resource AdjectiveMorphoPol = ResPol ** open Prelude, (Predef=Predef) in {
oper model_comp : Str -> adj11forms = \comp -> model4 comp ((Predef.tk 2 comp)+"i");
oper mkAForms : adj11forms -> Str -> Adj =
\pos, comp -> {
pos = pos;
comp = model_comp comp;
super = model_comp ("naj"+comp) ;
advpos = nonExist;
advcomp = nonExist;
advsuper = nonExist;
};
oper mkA = overload {
mkA : adj11forms -> Adj =
\pos -> mkAForms pos ("bardziej" ++ pos.s1) ;
mkA : adj11forms -> Str -> Adj = mkAForms ;
} ;
oper guess_model : Str -> adj11forms = \form ->
case form of {
x + ("pi"|"bi"|"fi"|"wi"|"mi"|"si"|"zi"|"ci"|"dzi"|"ni") => model1 form;

View File

@@ -22,6 +22,21 @@ resource NounMorphoPol = ResPol ** open Prelude, (Predef=Predef) in {
oper mkN: (SubstForm => Str) -> Gender -> CommNoun;
oper mkN tab gen = { s = tab; g = gen };
oper nounPN : (SubstForm => Str) -> GenNum -> NounPhrase;
oper nounPN forms gn =
{ nom = forms!SF Sg Nom;
voc = forms!SF Sg VocP;
dep = table {
GenPrep|GenNoPrep=>forms!SF Sg Gen;
AccPrep|AccNoPrep=>forms!SF Sg Acc;
DatPrep|DatNoPrep=>forms!SF Sg Dat;
InstrC =>forms!SF Sg Instr;
LocPrep =>forms!SF Sg Loc
};
gn = gn ;
p = P3
} ;
oper mkNTable0000: Str -> SubstForm => Str; --%
oper mkNTable0000 lexem =
let x = lexem in