Files
gf-rgl/src/polish/ExtendPol.gf
Krasimir Angelov 828bf9c677 extend the names API
2023-02-07 08:47:34 +01:00

50 lines
1.0 KiB
Plaintext

--# -path=.:../common:../abstract
concrete ExtendPol of Extend =
CatPol ** ExtendFunctor - [
iFem_Pron, youFem_Pron, theyFem_Pron, ProDrop
]
with
(Grammar = GrammarPol) **
open PronounMorphoPol in {
lin iFem_Pron = pronJa FemSg ;
lin youFem_Pron = pronTy FemSg ;
lin theyFem_Pron = pronOneFem ;
lin ProDrop p = {
nom = [] ;
voc = p.voc ;
dep = p.dep ;
sp = p.sp ;
p = p.p ;
gn = p.gn ;
} ;
lin
UseDAP = dap2np Neut ;
UseDAPMasc = dap2np (Masc Personal) ;
UseDAPFem = dap2np Fem ;
oper
dap2np : Gender -> DAP -> NP ;
dap2np g dap = lin NP {
nom = dap.sp ! Nom ! g;
voc = dap.sp ! VocP ! g;
dep = \\cc => let c = extract_case ! cc
in dap.sp ! c ! g;
gn = accom_gennum ! <dap.a, g, dap.n>;
p = P3
};
lin GivenName, MaleSurname, FemaleSurname = \n -> n ;
lin FullName gn sn = {
nom = gn.nom ++ sn.nom ;
voc = gn.nom ++ sn.voc ;
dep = \\c => gn.nom ++ sn.dep ! c ;
gn = gn.gn ;
p = gn.p
} ;
}