forked from GitHub/gf-rgl
added PossPron and completed pronouns for Czech
This commit is contained in:
@@ -39,7 +39,7 @@ concrete CatCze of Cat =
|
||||
Quant = {s : Gender => Number => Case => Str} ; -- same as AP
|
||||
Num = Determiner ;
|
||||
Card = Determiner ; -- {s : Gender => Case => Str ; size : NumSize} ;
|
||||
Pron = PronForms ;
|
||||
Pron = PronForms ** {poss : DemPronForms} ;
|
||||
|
||||
Adv = {s : Str} ;
|
||||
Prep = ResCze.ComplementCase ; -- {s : Str ; c : Case ; hasPrep : Bool} ;
|
||||
|
||||
@@ -57,6 +57,8 @@ lin
|
||||
hasClit = True ;
|
||||
} ;
|
||||
|
||||
PossPron pron = justDemPronFormsAdjective pron.poss ;
|
||||
|
||||
UsePN pn = {
|
||||
s,clit,prep = \\c => pn.s ! c ;
|
||||
a = Ag pn.g Sg P3 ;
|
||||
|
||||
@@ -722,6 +722,41 @@ adjFormsAdjective : AdjForms -> Adjective = \afs -> {
|
||||
|
||||
} ;
|
||||
|
||||
possessivePron : Agr -> DemPronForms = \a -> case a of {
|
||||
Ag _ Sg P1 => mladyAdjForms "my" ** {msnom = "můj" ; pdat = "mým"} ; --- alts: moje, moji,...
|
||||
Ag _ Sg P2 => mladyAdjForms "tvy" ** {msnom = "tvůj" ; pdat = "tvým"} ;
|
||||
|
||||
Ag _ Pl P1 => jarniAdjForms "naše" ** {
|
||||
msnom = "náš" ;
|
||||
msins = "naším" ;
|
||||
fsgen,mpnom = "naši" ;
|
||||
fsins = "naší" ;
|
||||
pdat, msins = "našim" ;
|
||||
pgen = "našich" ;
|
||||
pins = "našimi" ;
|
||||
} ;
|
||||
Ag _ Pl P2 => jarniAdjForms "vaše" ** {
|
||||
msnom = "váš" ;
|
||||
msins = "vaším" ;
|
||||
fsgen,mpnom = "vaši" ;
|
||||
fsins = "vaší" ;
|
||||
pdat, msins = "vašim" ;
|
||||
pgen = "vašich" ;
|
||||
pins = "vašimi" ;
|
||||
} ;
|
||||
|
||||
Ag Fem Sg P3 => jarniAdjForms "její" ** {pdat = "jejím"} ;
|
||||
|
||||
Ag (Masc _ | Neutr) Sg P3 => invarDemPronForms "jeho" ** {pdat = "jeho"} ;
|
||||
Ag _ Pl P3 => invarDemPronForms "jejich" ** {pdat = "jejich"}
|
||||
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
mkPron : Agr -> PronForms ** {poss : DemPronForms} = \a ->
|
||||
personalPron a ** {poss = possessivePron a} ;
|
||||
|
||||
--------------------------------
|
||||
-- demonstrative pronouns, used for Quant and Det
|
||||
|
||||
@@ -751,6 +786,20 @@ oper
|
||||
_ => adjAdj.s ! g ! n ! c
|
||||
} + s
|
||||
} ;
|
||||
|
||||
justDemPronFormsAdjective : DemPronForms -> Adjective =
|
||||
\dem ->
|
||||
let
|
||||
demAdj = dem ** {fsdat = dem.fsgen} ;
|
||||
adjAdj = adjFormsAdjective demAdj
|
||||
in {
|
||||
s = \\g,n,c => case <g,n,c> of {
|
||||
<_,Pl,Dat> => dem.pdat ;
|
||||
<Masc _ | Fem, Pl, Acc> => dem.fpnom ;
|
||||
_ => adjAdj.s ! g ! n ! c
|
||||
}
|
||||
} ;
|
||||
|
||||
|
||||
Determiner : Type = {
|
||||
s : Gender => Case => Str ;
|
||||
|
||||
@@ -19,9 +19,12 @@ lin
|
||||
to_Prep = mkPrep "do" Gen ;
|
||||
with_Prep = mkPrep (pre {"s"|"z" => "se" ; _ => "s"}) Ins ; ----
|
||||
|
||||
i_Pron = personalPron (Ag (Masc Anim) Sg P1) ;
|
||||
youSg_Pron = personalPron (Ag (Masc Anim) Sg P2) ;
|
||||
he_Pron = personalPron (Ag (Masc Anim) Sg P3) ;
|
||||
she_Pron = personalPron (Ag Fem Sg P3) ;
|
||||
i_Pron = mkPron (Ag (Masc Anim) Sg P1) ; --- to add Fem pronouns in Extend
|
||||
youSg_Pron = mkPron (Ag (Masc Anim) Sg P2) ;
|
||||
he_Pron = mkPron (Ag (Masc Anim) Sg P3) ;
|
||||
she_Pron = mkPron (Ag Fem Sg P3) ;
|
||||
we_Pron = mkPron (Ag (Masc Anim) Pl P1) ;
|
||||
youPl_Pron = mkPron (Ag (Masc Anim) Pl P2) ;
|
||||
they_Pron = mkPron (Ag (Masc Anim) Pl P3) ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user