mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-28 04:16:30 -06:00
started a separate module for names
This commit is contained in:
@@ -88,7 +88,7 @@ concrete CatBul of Cat = CommonX - [IAdv,AdV] ** open ResBul, Prelude, Predef, (
|
||||
N3 = {s : NForm => Str; rel : AForm => Str; relType : NRelType; g : AGender} ** {c2,c3 : Preposition} ;
|
||||
GN = {s : Str; g : Sex} ;
|
||||
SN = {s : Sex => Str; pl : Str} ;
|
||||
PN = {s : Str; gn : GenNum} ;
|
||||
LN, PN = {s : Str; gn : GenNum} ;
|
||||
|
||||
lindef
|
||||
SSlash = \s -> {s = \\_ => s; c2 = {s=""; c=Acc}};
|
||||
|
||||
@@ -303,27 +303,6 @@ lin UseDAP dap = {
|
||||
lin UseComp_estar = UseComp ;
|
||||
UseComp_ser = UseComp ;
|
||||
|
||||
lin GivenName = \n -> {
|
||||
s = n.s ;
|
||||
gn = GSg (sex2gender n.g)
|
||||
} ;
|
||||
lin MaleSurname = \n -> {
|
||||
s = n.s ! Male ;
|
||||
gn = GSg Masc
|
||||
} ;
|
||||
lin FemaleSurname = \n -> {
|
||||
s = n.s ! Female;
|
||||
gn = GSg Fem
|
||||
} ;
|
||||
lin PlSurname = \n -> {
|
||||
s = n.pl ;
|
||||
gn = GPl
|
||||
} ;
|
||||
lin FullName gn sn = {
|
||||
s = gn.s ++ sn.s ! gn.g ;
|
||||
gn = GSg (sex2gender gn.g)
|
||||
} ;
|
||||
|
||||
lin ProDrop pro = pro ;
|
||||
|
||||
lin AnaphPron np =
|
||||
|
||||
@@ -15,7 +15,8 @@ concrete GrammarBul of Grammar =
|
||||
TextBul,
|
||||
StructuralBul,
|
||||
IdiomBul,
|
||||
TenseX - [CAdv,IAdv,AdV,SC]
|
||||
TenseX - [CAdv,IAdv,AdV,SC],
|
||||
NamesBul
|
||||
** {
|
||||
flags coding=utf8 ;
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
concrete NamesBul of Names = CatBul ** open ResBul in {
|
||||
|
||||
lin GivenName = \n -> {
|
||||
s = table { RObj c => linCase c Pos ++ n.s;
|
||||
_ => n.s
|
||||
} ;
|
||||
gn = GSg (sex2gender n.g) ;
|
||||
p = NounP3 Pos
|
||||
} ;
|
||||
lin MaleSurname = \n -> {
|
||||
s = table { RObj c => linCase c Pos ++ n.s ! Male;
|
||||
_ => n.s ! Male
|
||||
} ;
|
||||
gn = GSg Masc ;
|
||||
p = NounP3 Pos
|
||||
} ;
|
||||
lin FemaleSurname = \n -> {
|
||||
s = table { RObj c => linCase c Pos ++ n.s ! Female;
|
||||
_ => n.s ! Female
|
||||
} ;
|
||||
gn = GSg Fem ;
|
||||
p = NounP3 Pos
|
||||
} ;
|
||||
lin PlSurname = \n -> {
|
||||
s = table { RObj c => linCase c Pos ++ n.pl ;
|
||||
_ => n.pl
|
||||
} ;
|
||||
gn = GPl ;
|
||||
p = NounP3 Pos
|
||||
} ;
|
||||
lin FullName gn sn = {
|
||||
s = table { RObj c => linCase c Pos ++ gn.s ++ sn.s ! gn.g ;
|
||||
_ => gn.s ++ sn.s ! gn.g
|
||||
} ;
|
||||
gn = GSg (sex2gender gn.g) ;
|
||||
p = NounP3 Pos
|
||||
} ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user