mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-12 08:30:12 -06:00
87 lines
2.3 KiB
Plaintext
87 lines
2.3 KiB
Plaintext
concrete NamesGer of Names = CatGer ** open ResGer, Prelude, (P=ParadigmsGer) in {
|
|
|
|
lin GivenName gn = {
|
|
s = \\_,c => gn.s ! c ;
|
|
a = agrgP3 (sex2gender gn.g) Sg ;
|
|
w = WLight ;
|
|
rc, ext = []
|
|
} ;
|
|
|
|
lin MaleSurname sn = {
|
|
s = \\_,c => sn.s ! Male ! c ;
|
|
a = agrgP3 Masc Sg ;
|
|
w = WLight ;
|
|
rc, ext = []
|
|
} ;
|
|
|
|
lin FemaleSurname sn = {
|
|
s = \\_,c => sn.s ! Female ! c ;
|
|
a = agrgP3 Fem Sg ;
|
|
w = WLight ;
|
|
rc, ext = []
|
|
} ;
|
|
|
|
lin PlSurname sn = {
|
|
s = \\_,c => sn.s ! Male ! c ;
|
|
a = agrgP3 Masc Pl ;
|
|
w = WLight ;
|
|
rc, ext = []
|
|
} ;
|
|
|
|
lin FullName gn sn = {
|
|
s = \\_,c => gn.s ! Nom ++ sn.s ! gn.g ! c ;
|
|
a = agrgP3 (sex2gender gn.g) Sg ;
|
|
w = WLight ;
|
|
rc, ext = []
|
|
} ;
|
|
|
|
-- UseLN : LN -> NP ;
|
|
lin UseLN ln = {
|
|
s = \\b,c => case ln.hasArt of {
|
|
True => case b of {
|
|
True => [] ; -- defart dropped
|
|
False => artDef ! (gennum ln.g ln.n) ! c
|
|
} ++
|
|
ln.s ! (adjfCase Weak c) ! c ;
|
|
False => ln.s ! Strong ! c
|
|
} ;
|
|
a = agrgP3 ln.g ln.n ;
|
|
w = WLight ;
|
|
rc, ext = []
|
|
} ;
|
|
|
|
-- PlainLN : LN -> NP ;
|
|
lin PlainLN ln = {
|
|
s = \\_,c => ln.s ! Strong ! c ;
|
|
a = agrgP3 ln.g ln.n ;
|
|
w = WLight ;
|
|
rc, ext = []
|
|
} ;
|
|
|
|
-- InLN : LN -> Adv ;
|
|
lin InLN ln = {
|
|
s = appPrepNP P.inDat_Prep {
|
|
s = \\b,c => case ln.hasArt of {
|
|
True => case b of {
|
|
True => [] ; -- defart dropped
|
|
False => artDef ! (gennum ln.g ln.n) ! c
|
|
} ++
|
|
ln.s ! (adjfCase Weak c) ! c ;
|
|
False => ln.s ! Strong ! c
|
|
} ;
|
|
a = agrgP3 ln.g ln.n ;
|
|
w = WLight ;
|
|
rc, ext = []
|
|
}
|
|
} ;
|
|
|
|
-- AdjLN : AP -> LN -> LN ;
|
|
lin AdjLN ap ln = ln ** {
|
|
s = \\a,c =>
|
|
preOrPost ap.isPre
|
|
(ap.c.p1 ++ ap.c.p2 ++ ap.s ! agrAdj ln.g a ln.n c ++ ap.ext)
|
|
(ln.s ! a ! c) ;
|
|
} ;
|
|
|
|
}
|