generalize infinitive_form

This commit is contained in:
krangelov
2021-04-27 10:06:12 +02:00
parent 85282418a7
commit 617cb25f1e
3 changed files with 7 additions and 8 deletions

View File

@@ -18,7 +18,7 @@ concrete PhrasePol of Phrase = CatPol ** open Prelude, ResPol, VerbMorphoPol in
UttNP np = {s = np.nom}; UttNP np = {s = np.nom};
UttVP vp = { -- I assume the positive polarization to avoid variants UttVP vp = { -- I assume the positive polarization to avoid variants
s = vp.prefix ++ s = vp.prefix ++
(infinitive_form vp.verb vp.imienne Pos) ++ infinitive_form vp.verb vp.imienne Pos MascPersSg ++
vp.sufix !Pos !MascAniSg vp.sufix !Pos !MascAniSg
}; };
UttAdv adv = adv ; UttAdv adv = adv ;

View File

@@ -88,7 +88,7 @@ lin
-- EmbedVP : VP -> SC ; -- to go -- EmbedVP : VP -> SC ; -- to go
EmbedVP vp = { EmbedVP vp = {
s = vp.prefix ++ s = vp.prefix ++
(infinitive_form vp.verb vp.imienne Pos) ++ (infinitive_form vp.verb vp.imienne Pos MascPersSg) ++
vp.sufix !Pos !MascPersSg vp.sufix !Pos !MascPersSg
}; };

View File

@@ -493,14 +493,14 @@ resource VerbMorphoPol = ResPol ** open Prelude, CatPol, (Predef=Predef), (Adj=A
} }
}; };
infinitive_form : Verb -> Bool -> Polarity -> Str; infinitive_form : Verb -> Bool -> Polarity -> GenNum -> Str;
infinitive_form verb imienne pol = infinitive_form verb imienne pol gn =
case imienne of { case imienne of {
True => True =>
let byc = case verb.asp of { Perfective => "zostać"; _ => "być" }; in let byc = case verb.asp of { Perfective => "zostać"; _ => "być" }; in
case pol of { case pol of {
Pos => byc ++ (mkAtable (table2record verb.pparti))! AF MascPersSg Nom; Pos => byc ++ (mkAtable (table2record verb.pparti))! AF gn Nom;
Neg => "nie" ++ byc ++ (mkAtable (table2record verb.pparti))! AF MascPersSg Nom Neg => "nie" ++ byc ++ (mkAtable (table2record verb.pparti))! AF gn Nom
}; };
False => False =>
let sie = verb.refl; in let sie = verb.refl; in
@@ -510,7 +510,6 @@ resource VerbMorphoPol = ResPol ** open Prelude, CatPol, (Predef=Predef), (Adj=A
} }
}; };
badz_op : Number * Person => Str = table { badz_op : Number * Person => Str = table {
<Sg, P1> => ["niech będę"]; <Sg, P1> => ["niech będę"];
<Sg, P2> => ["bądź"]; <Sg, P2> => ["bądź"];