forked from GitHub/gf-rgl
(Som) Difference between restrictive vs. appositive relative clauses
This commit is contained in:
@@ -9,7 +9,7 @@ concrete CatSom of Cat = CommonX - [Adv] ** open ResSom, Prelude in {
|
|||||||
|
|
||||||
S = ResSom.Sentence ;
|
S = ResSom.Sentence ;
|
||||||
QS = SS ;
|
QS = SS ;
|
||||||
RS = {s : Gender => Case => Str} ;
|
RS = {s : State => Gender => Case => Str} ;
|
||||||
-- relative sentence. Tense and polarity fixed,
|
-- relative sentence. Tense and polarity fixed,
|
||||||
-- but agreement may depend on the CN/NP it modifies.
|
-- but agreement may depend on the CN/NP it modifies.
|
||||||
|
|
||||||
|
|||||||
@@ -38,14 +38,15 @@ lin
|
|||||||
ConjAdv, ConjAdV, ConjIAdv = conjunctDistrSS ;
|
ConjAdv, ConjAdV, ConjIAdv = conjunctDistrSS ;
|
||||||
|
|
||||||
|
|
||||||
--RS depends on gender and case, otherwise exactly like previous.
|
-- RS depends on state, gender and case, otherwise exactly like previous.
|
||||||
|
-- RS can modify CNs, which are open for state, number and case, and have inherent gender.
|
||||||
lincat
|
lincat
|
||||||
[RS] = {s1,s2 : Gender => Case => Str} ;
|
[RS] = {s1,s2 : State => Gender => Case => Str} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
BaseRS x y = twoTable2 Gender Case x y ;
|
BaseRS = twoTable3 State Gender Case ;
|
||||||
ConsRS xs x = consrTable2 Gender Case comma xs x ;
|
ConsRS = consrTable3 State Gender Case comma ;
|
||||||
ConjRS co xs = conjunctDistrTable2' Gender Case co xs ;
|
ConjRS = conjunctRSTable State Gender Case ;
|
||||||
|
|
||||||
{-
|
{-
|
||||||
lincat
|
lincat
|
||||||
@@ -118,6 +119,12 @@ oper
|
|||||||
conjunctNPTable : ConjDistr -> ({s1,s2 : Case => Str} ** BaseNP) -> {s : Case => Str ; st : State} = \co,xs -> xs **
|
conjunctNPTable : ConjDistr -> ({s1,s2 : Case => Str} ** BaseNP) -> {s : Case => Str ; st : State} = \co,xs -> xs **
|
||||||
{s = -- TODO if xs is a pronoun, make them use (pronTable ! xs.a).sp
|
{s = -- TODO if xs is a pronoun, make them use (pronTable ! xs.a).sp
|
||||||
table { cas => co.s1 ++ xs.s1 ! Abs ++ co.s2 ! xs.st ++ xs.s2 ! cas}} ;
|
table { cas => co.s1 ++ xs.s1 ! Abs ++ co.s2 ! xs.st ++ xs.s2 ! cas}} ;
|
||||||
|
conjunctRSTable : ConjDistr -> {s1,s2 : State => Gender => Case => Str} -> RS = \co,xs -> lin RS (xs ** {
|
||||||
|
s = \\st,g,c => co.s1
|
||||||
|
++ xs.s1 ! st ! g ! c
|
||||||
|
++ co.s2 ! st
|
||||||
|
++ xs.s2 ! st ! g ! c
|
||||||
|
}) ;
|
||||||
|
|
||||||
np2objpron : NounPhrase -> NounPhrase = \np -> np ** {
|
np2objpron : NounPhrase -> NounPhrase = \np -> np ** {
|
||||||
s = objpron np
|
s = objpron np
|
||||||
|
|||||||
@@ -73,9 +73,17 @@ concrete NounSom of Noun = CatSom ** open ResSom, Prelude in {
|
|||||||
-- : NP -> Adv -> NP ; -- Paris today ; boys, such as ..
|
-- : NP -> Adv -> NP ; -- Paris today ; boys, such as ..
|
||||||
--AdvNP,ExtAdvNP = \np,adv -> np ** {} ; --adverbs are complicated
|
--AdvNP,ExtAdvNP = \np,adv -> np ** {} ; --adverbs are complicated
|
||||||
|
|
||||||
-- : NP -> RS -> NP ; -- Paris, which is here
|
-- : NP -> RS -> NP ; -- Paris, which is here
|
||||||
|
{- NB. technically, if the RS has undergone ConjRS, it could contain both
|
||||||
|
restrictive and appositive relative clauses. Quote Sayeed p.215-216:
|
||||||
|
"When multiple relative clauses occur, this formal distinction is
|
||||||
|
maintained, since in the only context both can occur, on nouns with
|
||||||
|
determiners, restrictives are joined by ee while appositives employ oo."
|
||||||
|
In practice, we don't care--it's impossible to know on the RGL level
|
||||||
|
which RS are restrictive and which appositive, as it is semantic.
|
||||||
|
-}
|
||||||
RelNP np rs = np ** {
|
RelNP np rs = np ** {
|
||||||
s = \\c => objpron np ! c ++ rs.s ! npgender np ! c ;
|
s = \\c => objpron np ! c ++ "oo" ++ rs.s ! Indefinite ! npgender np ! c ;
|
||||||
isPron = False ;
|
isPron = False ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -237,7 +245,7 @@ concrete NounSom of Noun = CatSom ** open ResSom, Prelude in {
|
|||||||
mod = \\st,n,c => --what to do with subject case if there's both adj and RS?
|
mod = \\st,n,c => --what to do with subject case if there's both adj and RS?
|
||||||
cn.mod ! st ! n ! Abs
|
cn.mod ! st ! n ! Abs
|
||||||
++ andConj st cn.hasMod
|
++ andConj st cn.hasMod
|
||||||
++ rs.s ! gender cn ! c ;
|
++ rs.s ! st ! gender cn ! c ;
|
||||||
hasMod = True ;
|
hasMod = True ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ lin
|
|||||||
UseQCl t p cl = {s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p} ;
|
UseQCl t p cl = {s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p} ;
|
||||||
|
|
||||||
-- : Temp -> Pol -> RCl -> RS ;
|
-- : Temp -> Pol -> RCl -> RS ;
|
||||||
UseRCl t p cl = {s = \\g,c => t.s ++ p.s ++ cl.s ! g ! c ! t.t ! t.a ! p.p} ;
|
UseRCl t p cl = {s = \\st,g,c => t.s ++ p.s ++ cl.s ! g ! c ! t.t ! t.a ! p.p} ;
|
||||||
|
|
||||||
-- AdvS : Adv -> S -> S ; -- then I will go home
|
-- AdvS : Adv -> S -> S ; -- then I will go home
|
||||||
-- ExtAdvS : Adv -> S -> S ; -- next week, I will go home
|
-- ExtAdvS : Adv -> S -> S ; -- next week, I will go home
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- Restrictive relative clauses (RelCN)
|
||||||
|
|
||||||
-- LangEng: the books that the men buy
|
-- LangEng: the books that the men buy
|
||||||
LangSom: buugaag BIND ta niman BIND ku iibsadaan
|
LangSom: buugaag BIND ta niman BIND ku iibsadaan
|
||||||
Lang: PhrUtt NoPConj (UttNP (DetCN (DetQuant DefArt NumPl) (RelCN (UseN book_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumPl) (UseN man_N)) (SlashV2a buy_V2))))))) NoVoc
|
Lang: PhrUtt NoPConj (UttNP (DetCN (DetQuant DefArt NumPl) (RelCN (UseN book_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumPl) (UseN man_N)) (SlashV2a buy_V2))))))) NoVoc
|
||||||
@@ -13,3 +15,21 @@ Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQ
|
|||||||
-- LangEng: the books that the men buy are these
|
-- LangEng: the books that the men buy are these
|
||||||
LangSom: buugaag BIND ta niman BIND ku iibsadaan waa kuwan
|
LangSom: buugaag BIND ta niman BIND ku iibsadaan waa kuwan
|
||||||
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumPl) (RelCN (UseN book_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumPl) (UseN man_N)) (SlashV2a buy_V2)))))) (UseComp (CompNP (DetNP (DetQuant this_Quant NumPl))))))) NoVoc
|
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumPl) (RelCN (UseN book_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumPl) (UseN man_N)) (SlashV2a buy_V2)))))) (UseComp (CompNP (DetNP (DetQuant this_Quant NumPl))))))) NoVoc
|
||||||
|
|
||||||
|
-- Appositive relative clauses (RelNP)
|
||||||
|
|
||||||
|
-- LangEng: he , that the men see
|
||||||
|
LangSom: isaga oo niman BIND ku arkaan
|
||||||
|
Lang: PhrUtt NoPConj (UttNP (RelNP (UsePron he_Pron) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumPl) (UseN man_N)) (SlashV2a see_V2)))))) NoVoc
|
||||||
|
|
||||||
|
-- LangEng: he , that sees the men
|
||||||
|
LangSom: isaga oo niman BIND ka arka
|
||||||
|
Lang: PhrUtt NoPConj (UttNP (RelNP (UsePron he_Pron) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumPl) (UseN man_N))))))) NoVoc
|
||||||
|
|
||||||
|
-- LangEng: he , that the men see , is this
|
||||||
|
LangSom: isagu oo niman BIND ku arkaan waa kan
|
||||||
|
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (RelNP (UsePron he_Pron) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (DetCN (DetQuant DefArt NumPl) (UseN man_N)) (SlashV2a see_V2))))) (UseComp (CompNP (DetNP (DetQuant this_Quant NumSg))))))) NoVoc
|
||||||
|
|
||||||
|
--LangEng: he , that sees the men , is this
|
||||||
|
LangSom: isagu oo niman BIND ka arkaa waa kan
|
||||||
|
Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (RelNP (UsePron he_Pron) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a see_V2) (DetCN (DetQuant DefArt NumPl) (UseN man_N)))))) (UseComp (CompNP (DetNP (DetQuant this_Quant NumSg))))))) NoVoc
|
||||||
|
|||||||
Reference in New Issue
Block a user