mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -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
|
||||
-- : Cl -> QCl ;
|
||||
QuestCl cl = mergeSTM (cl.s ! Question) ;
|
||||
QuestCl cl = mergeQCl (cl.s ! Question) ;
|
||||
|
||||
-- : IP -> VP -> QCl ;
|
||||
-- QuestVP ip vp = ;
|
||||
|
||||
@@ -21,7 +21,7 @@ books-the men-the bring 'the books which the men bring'
|
||||
-- : RP -> VP -> RCl ;
|
||||
RelVP rp vp = {s = \\g,c,t,a,p =>
|
||||
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 {
|
||||
<Fem,Abs,Pres,Simul,Pos> => linVP (VRel Fem) 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
|
||||
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} ;
|
||||
|
||||
|
||||
|
||||
@@ -666,7 +666,6 @@ oper
|
||||
obj2 : NPLite ; -- {s : Str ; a : PrepAgr}
|
||||
secObj : Str ; -- if two overt pronoun objects
|
||||
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
|
||||
} ; -- in a closed class of particles or made with PrepNP.
|
||||
|
||||
@@ -760,8 +759,14 @@ oper
|
||||
RClause : Type = {s : Gender => Case => Tense => Anteriority => Polarity => Str} ;
|
||||
QClause : Type = {s : Tense => Anteriority => Polarity => Str} ;
|
||||
|
||||
mergeSTM : (Tense => Anteriority => Polarity => BaseCl) -> QClause = \b ->
|
||||
{s = \\t,a,p => (b ! t ! a ! p).beforeSTM ++ (b ! t ! a ! p).afterSTM} ;
|
||||
mergeQCl : (Tense => Anteriority => Polarity => BaseCl) -> QClause = mergeSTM True ;
|
||||
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 ->
|
||||
let cl = predVP np vps in {s = table {
|
||||
|
||||
Reference in New Issue
Block a user