(Som) Put subject pronoun back in QuestCl

This commit is contained in:
Inari Listenmaa
2019-07-28 14:38:42 +03:00
parent b8a7b4f0bd
commit 7a147ccd7e
3 changed files with 11 additions and 6 deletions

View File

@@ -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 = ;

View File

@@ -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} ;

View File

@@ -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 {