forked from GitHub/gf-rgl
51 lines
1.3 KiB
Plaintext
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) ;
|
|
} ;
|
|
|
|
}
|