forked from GitHub/gf-rgl
added DetNPMasc
This commit is contained in:
@@ -203,8 +203,9 @@ abstract Extend = Cat ** {
|
||||
ComplSlashPartLast : VPSlash -> NP -> VP ;
|
||||
|
||||
-- Romance
|
||||
DetNPFem : Det -> NP ;
|
||||
|
||||
DetNPMasc : Det -> NP ;
|
||||
DetNPFem : Det -> NP ;
|
||||
|
||||
iFem_Pron : Pron ; -- I (Fem)
|
||||
youFem_Pron : Pron ; -- you (Fem)
|
||||
weFem_Pron : Pron ; -- we (Fem)
|
||||
|
||||
@@ -179,6 +179,17 @@ lin
|
||||
lin
|
||||
ApposNP np1 np2 = {s = \\role => np1.s ! role ++ comma ++ np2.s ! role; a = np1.a; p = np1.p} ;
|
||||
|
||||
DetNPMasc det = {
|
||||
s = \\role => let s = det.s ! False ! (AMasc Human) ! role
|
||||
in case role of {
|
||||
RObj Dat => "на" ++ s;
|
||||
RObj WithPrep => with_Word ++ s;
|
||||
_ => s
|
||||
} ;
|
||||
a = {gn = gennum (AMasc Human) (numnnum det.nn); p = P3} ;
|
||||
p = det.p
|
||||
} ;
|
||||
|
||||
DetNPFem det = {
|
||||
s = \\role => let s = det.s ! False ! AFem ! role
|
||||
in case role of {
|
||||
|
||||
@@ -93,9 +93,9 @@ lin
|
||||
CompQS = variants {} ; -- QS -> Comp ; -- (the question is) who sleeps
|
||||
CompVP = variants {} ; -- Ant -> Pol -> VP -> Comp ; -- (she is) to go
|
||||
|
||||
|
||||
DetNPMasc = DetNP ;
|
||||
DetNPFem = DetNP ;
|
||||
|
||||
|
||||
iFem_Pron = i_Pron ; -- DEFAULT I (masc)
|
||||
youFem_Pron = youSg_Pron ; -- DEFAULT you (masc)
|
||||
weFem_Pron = we_Pron ; -- DEFAULT we (masc)
|
||||
@@ -112,4 +112,4 @@ lin
|
||||
oper
|
||||
quoted : Str -> Str = \s -> "\"" ++ s ++ "\"" ; ---- TODO bind ; move to Prelude?
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,12 @@ concrete ExtendEng of Extend =
|
||||
s = \\t,a,p,_ => slash.s ! t ! a ! p ! oDir ++ slash.c2 ;
|
||||
c = NPAcc
|
||||
} ;
|
||||
|
||||
|
||||
DetNPMasc det = {
|
||||
s = det.sp ;
|
||||
a = agrgP3 det.n Masc
|
||||
} ;
|
||||
|
||||
DetNPFem det = {
|
||||
s = det.sp ;
|
||||
a = agrgP3 det.n Fem
|
||||
|
||||
@@ -3,7 +3,7 @@ concrete ExtendSwe of Extend = CatSwe **
|
||||
ExtendFunctor -
|
||||
[
|
||||
GenNP, GenModNP, ComplBareVS, CompBareCN,
|
||||
ApposNP,
|
||||
ApposNP, DetNPMasc, DetNPFem,
|
||||
StrandRelSlash, EmptyRelSlash, StrandQuestSlash,
|
||||
PassVPSlash, PassAgentVPSlash, UttVPShort,
|
||||
MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV,
|
||||
@@ -158,6 +158,16 @@ concrete ExtendSwe of Extend = CatSwe **
|
||||
lin
|
||||
ApposNP np1 np2 = {s = \\nform => np1.s ! nform ++ comma ++ np2.s ! nform; a = np1.a; isPron = False} ;
|
||||
|
||||
DetNPMasc, DetNPFem = \det ->
|
||||
let
|
||||
g = utrum ; ----
|
||||
m = True ; ---- is this needed for other than Art?
|
||||
in {
|
||||
s = \\c => det.sp ! m ! g ; ---- case of det!
|
||||
a = agrP3 (ngen2gen g) det.n ;
|
||||
isPron = False
|
||||
} ;
|
||||
|
||||
CompoundN n1 n2 = {
|
||||
s = \\n,s,c => n1.co ++ BIND ++ n2.s ! n ! s ! c ;
|
||||
co = n1.co ++ BIND ++ n2.co ;
|
||||
|
||||
Reference in New Issue
Block a user