mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
(Som) Put subject pronoun back in QuestCl
This commit is contained in:
@@ -6,7 +6,7 @@ concrete QuestionSom of Question = CatSom ** open
|
|||||||
|
|
||||||
lin
|
lin
|
||||||
-- : Cl -> QCl ;
|
-- : Cl -> QCl ;
|
||||||
QuestCl cl = mergeSTM (cl.s ! Question) ;
|
QuestCl cl = mergeQCl (cl.s ! Question) ;
|
||||||
|
|
||||||
-- : IP -> VP -> QCl ;
|
-- : IP -> VP -> QCl ;
|
||||||
-- QuestVP ip vp = ;
|
-- QuestVP ip vp = ;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ books-the men-the bring 'the books which the men bring'
|
|||||||
-- : RP -> VP -> RCl ;
|
-- : RP -> VP -> RCl ;
|
||||||
RelVP rp vp = {s = \\g,c,t,a,p =>
|
RelVP rp vp = {s = \\g,c,t,a,p =>
|
||||||
let cls = predVPSlash impersNP vp ;
|
let cls = predVPSlash impersNP vp ;
|
||||||
rcl = mergeSTM (cls.s ! False) ; -- Other than present tense, just use normal verb forms
|
rcl = mergeRCl (cls.s ! False) ; -- Other than present tense, just use normal verb forms
|
||||||
in rp.s ++ case <g,c,t,a,p> of {
|
in rp.s ++ case <g,c,t,a,p> of {
|
||||||
<Fem,Abs,Pres,Simul,Pos> => linVP (VRel Fem) vp ;
|
<Fem,Abs,Pres,Simul,Pos> => linVP (VRel Fem) vp ;
|
||||||
<Masc,Abs,Pres,Simul,Pos> => linVP (VRel Masc) vp ;
|
<Masc,Abs,Pres,Simul,Pos> => linVP (VRel Masc) vp ;
|
||||||
@@ -30,7 +30,7 @@ books-the men-the bring 'the books which the men bring'
|
|||||||
|
|
||||||
-- : RP -> ClSlash -> RCl ; -- whom John loves
|
-- : RP -> ClSlash -> RCl ; -- whom John loves
|
||||||
RelSlash rp cls =
|
RelSlash rp cls =
|
||||||
let rcl = mergeSTM (cls.s ! True)
|
let rcl = mergeSTM True (cls.s ! True) -- in subordinate clause, STM is not included but subject pronoun is
|
||||||
in rcl ** {s = \\g,c,t,a,p => rp.s ++ rcl.s ! t ! a ! p} ;
|
in rcl ** {s = \\g,c,t,a,p => rp.s ++ rcl.s ! t ! a ! p} ;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -666,7 +666,6 @@ oper
|
|||||||
obj2 : NPLite ; -- {s : Str ; a : PrepAgr}
|
obj2 : NPLite ; -- {s : Str ; a : PrepAgr}
|
||||||
secObj : Str ; -- if two overt pronoun objects
|
secObj : Str ; -- if two overt pronoun objects
|
||||||
vComp : Str ; -- VV complement
|
vComp : Str ; -- VV complement
|
||||||
-- refl : Str ; -- reflexive is put here, if the verb has an obj2.
|
|
||||||
miscAdv : Str ; -- dump for any other kind of adverb, that isn't
|
miscAdv : Str ; -- dump for any other kind of adverb, that isn't
|
||||||
} ; -- in a closed class of particles or made with PrepNP.
|
} ; -- in a closed class of particles or made with PrepNP.
|
||||||
|
|
||||||
@@ -760,8 +759,14 @@ oper
|
|||||||
RClause : Type = {s : Gender => Case => Tense => Anteriority => Polarity => Str} ;
|
RClause : Type = {s : Gender => Case => Tense => Anteriority => Polarity => Str} ;
|
||||||
QClause : Type = {s : Tense => Anteriority => Polarity => Str} ;
|
QClause : Type = {s : Tense => Anteriority => Polarity => Str} ;
|
||||||
|
|
||||||
mergeSTM : (Tense => Anteriority => Polarity => BaseCl) -> QClause = \b ->
|
mergeQCl : (Tense => Anteriority => Polarity => BaseCl) -> QClause = mergeSTM True ;
|
||||||
{s = \\t,a,p => (b ! t ! a ! p).beforeSTM ++ (b ! t ! a ! p).afterSTM} ;
|
mergeRCl : (Tense => Anteriority => Polarity => BaseCl) -> QClause = mergeSTM False ;
|
||||||
|
|
||||||
|
mergeSTM : Bool -> (Tense => Anteriority => Polarity => BaseCl) -> QClause = \includeSTM,b ->
|
||||||
|
{s = \\t,a,p => (b ! t ! a ! p).beforeSTM
|
||||||
|
++ if_then_Str includeSTM (b ! t ! a ! p).stm []
|
||||||
|
++ (b ! t ! a ! p).afterSTM
|
||||||
|
} ;
|
||||||
|
|
||||||
predVPSlash : NounPhrase -> VPSlash -> ClSlash = \np,vps ->
|
predVPSlash : NounPhrase -> VPSlash -> ClSlash = \np,vps ->
|
||||||
let cl = predVP np vps in {s = table {
|
let cl = predVP np vps in {s = table {
|
||||||
|
|||||||
Reference in New Issue
Block a user