mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
started Extra.RNP for reflexive noun phrases, needed particularly in Scandinavian (possessive "sin") but also in other languages if reflexive semantics is needed in applications
This commit is contained in:
@@ -111,5 +111,32 @@ abstract Extra = Cat ** {
|
||||
|
||||
AdjAsCN : AP -> CN ; -- a green one ; en grön (Swe)
|
||||
|
||||
-- AR 7/6/2016
|
||||
-- reflexive noun phrases: a generalization of Verb.ReflVP, which covers just reflexive pronouns
|
||||
-- This is necessary in languages like Swedish, which have special reflexive possessives.
|
||||
-- However, it is also needed in application grammars that want to treat "brush one's teeth" as a one-place predicate.
|
||||
|
||||
cat
|
||||
RNP ; -- reflexive noun phrase, e.g. "my family and myself"
|
||||
RNPList ; -- list of reflexives to be coordinated, e.g. "my family, myself, everyone"
|
||||
|
||||
-- Notice that it is enough for one NP in RNPList to be RNP.
|
||||
|
||||
fun
|
||||
ReflRNP : VPSlash -> RNP -> VP ; -- support my family and myself
|
||||
|
||||
ReflPron : RNP ; -- myself
|
||||
ReflPoss : Num -> CN -> RNP ; -- my family
|
||||
|
||||
PredetRNP : Predet -> RNP -> RNP ; -- all my brothers
|
||||
|
||||
ConjRNP : Conj -> RNPList -> RNP ; -- my family, John and myself
|
||||
|
||||
Base_rr_RNP : RNP -> RNP -> RNPList ; -- my family, myself
|
||||
Base_nr_RNP : NP -> RNP -> RNPList ; -- John, myself
|
||||
Base_rn_RNP : RNP -> NP -> RNPList ; -- myself, John
|
||||
Cons_rr_RNP : RNP -> RNPList -> RNPList ; -- my family, myself, John
|
||||
Cons_nr_RNP : NP -> RNPList -> RNPList ; -- John, my family, myself
|
||||
---- Cons_rn_RNP : RNP -> ListNP -> RNPList ; -- myself, John, Mary
|
||||
|
||||
}
|
||||
|
||||
BIN
lib/src/ancient_greek.tar.gz
Normal file
BIN
lib/src/ancient_greek.tar.gz
Normal file
Binary file not shown.
@@ -281,6 +281,21 @@ lin
|
||||
g = cn.g
|
||||
} ;
|
||||
|
||||
lincat
|
||||
RNP = {s : Agr => Str} ;
|
||||
RNPList = {s1,s2 : Agr => Str} ;
|
||||
|
||||
lin
|
||||
ReflRNP vps rnp = insertObjPre (\\a => vps.c2 ++ rnp.s ! a) vps ;
|
||||
ReflPron = {s = reflPron} ;
|
||||
ReflPoss num cn = {s = \\a => possPron ! a ++ num.s ! Nom ++ cn.s ! num.n ! Nom} ;
|
||||
PredetRNP predet rnp = {s = \\a => predet.s ++ rnp.s ! a} ;
|
||||
|
||||
---- TODO: RNPList construction
|
||||
|
||||
|
||||
------ English-only part
|
||||
|
||||
that_RP =
|
||||
{ s = table {
|
||||
RC _ (NCase Gen) | RC _ NPNomPoss => "whose" ;
|
||||
|
||||
@@ -525,6 +525,17 @@ param
|
||||
AgP2 Pl => "yourselves" ;
|
||||
AgP3Pl _ => "themselves"
|
||||
} ;
|
||||
|
||||
possPron : Agr => Str = table {
|
||||
AgP1 Sg => "my" ;
|
||||
AgP2 Sg => "your" ;
|
||||
AgP3Sg Masc => "his" ;
|
||||
AgP3Sg Fem => "her" ;
|
||||
AgP3Sg Neutr => "its" ;
|
||||
AgP1 Pl => "our" ;
|
||||
AgP2 Pl => "your" ;
|
||||
AgP3Pl _ => "their"
|
||||
} ;
|
||||
|
||||
-- For $Sentence$.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user