1
0
forked from GitHub/gf-rgl
Files
gf-rgl/src/english/NamesEng.gf
2023-08-16 19:39:22 +02:00

51 lines
1.3 KiB
Plaintext

concrete NamesEng of Names = CatEng ** open Prelude, ResEng in {
lin GivenName gn = {
s = \\c => gn.s ! npcase2case c ;
a = case gn.g of {
Male => agrgP3 Sg Masc ;
Female => agrgP3 Sg Fem
}
} ;
lin MaleSurname = \sn -> {s = \\c => sn.s ! Male ! npcase2case c ; a = agrgP3 Sg Masc} ;
lin FemaleSurname = \sn -> {s = \\c => sn.s ! Female ! npcase2case c ; a = agrgP3 Sg Fem} ;
lin PlSurname = \sn -> {s = \\c => sn.p ! npcase2case c ; a = agrgP3 Pl Masc} ;
lin FullName gn sn = {
s = \\c => gn.s ! Nom ++ sn.s ! gn.g ! npcase2case c ;
a = case gn.g of {
Male => agrgP3 Sg Masc ;
Female => agrgP3 Sg Fem
}
} ;
lin UseLN n = {
s = \\c => case n.art of {
True => "the" ++ n.s ! npcase2case c ;
False => n.s ! npcase2case c
} ;
a = agrP3 n.n
} ;
lin PlainLN n = {
s = \\c => n.s ! npcase2case c ;
a = agrP3 n.n
} ;
lin InLN n = {
s = case n.prep of {
InPrep => "in" ;
OnPrep => "on" ;
AtPrep => "at"
} ++
case n.art of {
True => "the" ++ n.s ! Nom ;
False => n.s ! Nom
} ;
} ;
lin AdjLN ap n = n ** {
s = \\c => preOrPost ap.isPre (ap.s ! agrP3 n.n) (n.s ! c) ;
} ;
}