mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
(Som) WIP negative questions
This commit is contained in:
@@ -1017,7 +1017,9 @@ oper
|
|||||||
-> Str ;
|
-> Str ;
|
||||||
|
|
||||||
vf : ClType -> VFun = \clt -> case clt of {
|
vf : ClType -> VFun = \clt -> case clt of {
|
||||||
Subord => vfSubord ; _ => vfStatement } ;
|
Subord => vfSubord ;
|
||||||
|
Question => vfQuestion ;
|
||||||
|
_ => vfStatement } ;
|
||||||
|
|
||||||
vfStatement : VFun = \t,ant,p,agr,vp ->
|
vfStatement : VFun = \t,ant,p,agr,vp ->
|
||||||
case <t,ant,p> of {
|
case <t,ant,p> of {
|
||||||
@@ -1030,20 +1032,28 @@ oper
|
|||||||
<Fut,Simul> => vp.s ! VInf ++ presV (cSug "doon") ;
|
<Fut,Simul> => vp.s ! VInf ++ presV (cSug "doon") ;
|
||||||
<Fut,Anter> => vp.s ! VInf ++ pastV (cSug "doon")
|
<Fut,Anter> => vp.s ! VInf ++ pastV (cSug "doon")
|
||||||
}
|
}
|
||||||
where {
|
where {
|
||||||
agrPol : {agr:Agreement ; pol:Polarity} = {agr=agr; pol=p} ;
|
agrPol : {agr:Agreement ; pol:Polarity} = {agr=agr; pol=p} ;
|
||||||
pastV : BaseVerb -> Str = \v ->
|
pastV : BaseVerb -> Str = \v ->
|
||||||
case p of { Neg => v.s ! VNegPast Simple ;
|
case p of { Neg => v.s ! VNegPast Simple ;
|
||||||
Pos => v.s ! VPast Simple (agr2vagr agr) } ;
|
Pos => v.s ! VPast Simple (agr2vagr agr) } ;
|
||||||
|
|
||||||
presV : BaseVerb -> Str = \v -> v.s ! VPres Simple (agr2vagr agr) p ;
|
presV : BaseVerb -> Str = \v -> v.s ! VPres Simple (agr2vagr agr) p ;
|
||||||
|
|
||||||
condNegV : BaseVerb -> Str = \v -> case agr of {
|
condNegV : BaseVerb -> Str = \v -> case agr of {
|
||||||
Sg2|Sg3 Fem
|
Sg2|Sg3 Fem
|
||||||
|Pl2 => v.s ! VNegCond SgFem ;
|
|Pl2 => v.s ! VNegCond SgFem ;
|
||||||
Pl1 _ => v.s ! VNegCond PlInv ;
|
Pl1 _ => v.s ! VNegCond PlInv ;
|
||||||
_ => v.s ! VNegCond SgMasc --Sg1|Sg3 Masc|Pl3|Impers
|
_ => v.s ! VNegCond SgMasc --Sg1|Sg3 Masc|Pl3|Impers
|
||||||
}
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
vfQuestion : VFun = \t,ant,p,agr,vp ->
|
||||||
|
case <t,ant,p> of {
|
||||||
|
<_,_,Neg> => vp.s ! VInf ++ vfStatement t ant p agr (useV waa_V) ;
|
||||||
|
_ => vfStatement t ant p agr vp
|
||||||
|
} where {
|
||||||
|
waa_V = cSug "waa" ; ---- TODO irregular verb
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
vfSubord : VFun = \t,ant,p,agr,vp ->
|
vfSubord : VFun = \t,ant,p,agr,vp ->
|
||||||
|
|||||||
Reference in New Issue
Block a user