mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-30 11:08:35 -06:00
added GN & SN categories for constructing names
This commit is contained in:
@@ -86,6 +86,7 @@ concrete CatBul of Cat = CommonX - [IAdv,AdV] ** open ResBul, Prelude, Predef, (
|
||||
N = {s : NForm => Str; rel : AForm => Str; relType : NRelType; g : AGender} ;
|
||||
N2 = {s : NForm => Str; rel : AForm => Str; relType : NRelType; g : AGender} ** {c2 : Preposition} ;
|
||||
N3 = {s : NForm => Str; rel : AForm => Str; relType : NRelType; g : AGender} ** {c2,c3 : Preposition} ;
|
||||
GN, SN = {s : Str; g : Gender} ;
|
||||
PN = {s : Str; gn : GenNum} ;
|
||||
|
||||
lindef
|
||||
|
||||
@@ -92,6 +92,30 @@ lin
|
||||
s3 = ""
|
||||
} ;
|
||||
|
||||
InflectionGN = \pn -> {
|
||||
t = "същ.с.л." ;
|
||||
s1= heading1 ("Собствено Име"++
|
||||
case pn.g of {
|
||||
Masc => "(м.р.)" ;
|
||||
Fem => "(ж.р.)" ;
|
||||
Neut => "(ср.р.)"
|
||||
}) ;
|
||||
s2 = pn.s ;
|
||||
s3 = ""
|
||||
} ;
|
||||
|
||||
InflectionSN = \pn -> {
|
||||
t = "същ.с.ф." ;
|
||||
s1= heading1 ("Фамилно Име"++
|
||||
case pn.g of {
|
||||
Masc => "(м.р.)" ;
|
||||
Fem => "(ж.р.)" ;
|
||||
Neut => "(ср.р.)"
|
||||
}) ;
|
||||
s2 = pn.s ;
|
||||
s3 = ""
|
||||
} ;
|
||||
|
||||
InflectionA, InflectionA2 = \a -> {
|
||||
t = "пр" ;
|
||||
s1= heading1 ("Прилагателно") ;
|
||||
|
||||
@@ -300,5 +300,14 @@ lin UseDAP dap = {
|
||||
p = NounP3 dap.p
|
||||
} ;
|
||||
|
||||
lin GivenName, Surname = \n -> {
|
||||
s = n.s ;
|
||||
gn = GSg n.g
|
||||
} ;
|
||||
lin FullName gn sn = {
|
||||
s = gn.s ++ sn.s ;
|
||||
gn = GSg gn.g
|
||||
} ;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -271,6 +271,15 @@ oper
|
||||
feminine : Gender = Fem ;
|
||||
neutr : Gender = Neut ;
|
||||
|
||||
mkGN : Str -> Gender -> GN =
|
||||
\s,g -> lin GN {s = s; g = g} ;
|
||||
mkSN = overload {
|
||||
mkSN : Str -> SN =
|
||||
\s -> lin SN {s = s; g = Masc} ;
|
||||
mkSN : Str -> Gender -> SN =
|
||||
\s,g -> lin SN {s = s; g = g} ;
|
||||
} ;
|
||||
|
||||
mkPN = overload {
|
||||
mkPN : Str -> PN = \s -> {s = s; gn = GSg Masc ; lock_PN = <>} ;
|
||||
mkPN : Str -> Gender -> PN =
|
||||
|
||||
Reference in New Issue
Block a user