forked from GitHub/gf-rgl
(Som) Fix bugs with negation in RelVP
This commit is contained in:
@@ -271,9 +271,13 @@ param
|
||||
| VPres Aspect VAgr Polarity
|
||||
| VNegPast Aspect
|
||||
| VPast Aspect VAgr
|
||||
| VImp Number Polarity
|
||||
-- | VRelShort -- "som är/har/…" TODO is this used in other verbs?
|
||||
| VRel Gender -- Reduced present general in relative clauses
|
||||
| VImp Number Polarity ;
|
||||
| VRel Gender ; {- Sayeed p. 95-96 + ch 8
|
||||
Reduced present general in relative clauses; as absolutive
|
||||
1/2SG/3SG M/2PL/3PL sugá (VRel Masc)
|
||||
3 SG F sugtá (VRel Fem)
|
||||
1PL sugná -- not yet in the grammar -}
|
||||
|
||||
VAgr =
|
||||
Sg1_Sg3Masc
|
||||
|
||||
@@ -6,25 +6,18 @@ lin
|
||||
-- : Cl -> RCl ; -- such that John loves her
|
||||
-- RelCl cl = {s = cl.s ! Subord} ;
|
||||
|
||||
{-
|
||||
-- Sayeed p. 95-96 + ch 8
|
||||
Reduced present general in relative clauses; as absolutive
|
||||
1/2SG/3SG M/2PL/3PL sugá (VRel Masc)
|
||||
3 SG F sugtá (VRel Fem)
|
||||
1PL sugná -- not yet in the grammar
|
||||
|
||||
(18) (a) nimánka buugágga keená men-the books-the bring
|
||||
'the men who bring the books'
|
||||
(b) buugágga nimanku keenàan
|
||||
books-the men-the bring 'the books which the men bring'
|
||||
-}
|
||||
-- : RP -> VP -> RCl ;
|
||||
{- NB. this works because vfSubord only puts different forms from vfStatement
|
||||
in Pres,Simul,Pos. RelVP needs a third set of forms: "Reduced present
|
||||
general" (Sayeed p. 95-96 + ch 8).
|
||||
These forms are found in VRel in VP, and aren't chosen by predVP, so we put
|
||||
them in manually in RelVP.
|
||||
-}
|
||||
RelVP rp vp = {s = \\g,c,t,a,p =>
|
||||
let cls = predVPSlash impersNP vp ;
|
||||
rcl = mergeRCl (cls.s ! False) ; -- Other than present tense, just use normal verb forms
|
||||
rcl = mergeRCl (cls.s ! True) ;
|
||||
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 ;
|
||||
<g,Abs,Pres,Simul,Pos> => linVP (VRel g) vp ;
|
||||
_ => rcl.s ! t ! a ! p }
|
||||
} ;
|
||||
|
||||
|
||||
@@ -770,10 +770,14 @@ oper
|
||||
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
|
||||
mergeSTM : Bool -> (Tense => Anteriority => Polarity => BaseCl) -> QClause = \includeSTM,bcl ->
|
||||
{s = \\t,a,p => (bcl ! t ! a ! p).beforeSTM
|
||||
++ case <includeSTM,p> of {
|
||||
<False,Pos> => [] ;
|
||||
<False,Neg> => "aan" ;
|
||||
<True> => (bcl ! t ! a ! p).stm
|
||||
}
|
||||
++ (bcl ! t ! a ! p).afterSTM
|
||||
} ;
|
||||
|
||||
predVPSlash : NounPhrase -> VPSlash -> ClSlash = \np,vps ->
|
||||
|
||||
Reference in New Issue
Block a user