mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
(Hun) Add negation in verbs + change some parameter names
This commit is contained in:
@@ -1,5 +1,12 @@
|
|||||||
resource ParamHun = ParamX ** open Prelude in {
|
resource ParamHun = ParamX ** open Prelude in {
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
-- Generic
|
||||||
|
|
||||||
|
oper
|
||||||
|
if_then_Pol : Polarity -> Str -> Str -> Str = \p,t,f ->
|
||||||
|
case p of {Pos => t ; Neg => f } ;
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
-- Phonology
|
-- Phonology
|
||||||
|
|
||||||
@@ -88,13 +95,13 @@ param
|
|||||||
|
|
||||||
VForm =
|
VForm =
|
||||||
VInf
|
VInf
|
||||||
| VFin Person Number ;
|
| VPres Person Number ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
|
|
||||||
agr2vf : Person*Number -> VForm = \pn ->
|
agr2vf : Person*Number -> VForm = \pn ->
|
||||||
case <pn.p1,pn.p2> of {
|
case <pn.p1,pn.p2> of {
|
||||||
<p,n> => VFin p n
|
<p,n> => VPres p n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ oper
|
|||||||
|
|
||||||
vtov2 : Verb -> Verb2 = \v -> v ** {
|
vtov2 : Verb -> Verb2 = \v -> v ** {
|
||||||
s = table {
|
s = table {
|
||||||
Def => let vDef : Verb = mkVerbReg endingsDef (v.s ! VInf) (v.s ! VFin P3 Sg)
|
Def => let vDef : Verb = mkVerbReg endingsDef (v.s ! VInf) (v.s ! VPres P3 Sg)
|
||||||
in vDef.s ;
|
in vDef.s ;
|
||||||
Indef => v.s } ;
|
Indef => v.s } ;
|
||||||
c2 = Acc
|
c2 = Acc
|
||||||
@@ -272,12 +272,12 @@ oper
|
|||||||
\sg1,sg2,sg3,pl1,pl2,pl3,inf -> {
|
\sg1,sg2,sg3,pl1,pl2,pl3,inf -> {
|
||||||
s = table {
|
s = table {
|
||||||
VInf => inf ;
|
VInf => inf ;
|
||||||
VFin P1 Sg => sg1 ;
|
VPres P1 Sg => sg1 ;
|
||||||
VFin P2 Sg => sg2 ;
|
VPres P2 Sg => sg2 ;
|
||||||
VFin P3 Sg => sg3 ;
|
VPres P3 Sg => sg3 ;
|
||||||
VFin P1 Pl => pl1 ;
|
VPres P1 Pl => pl1 ;
|
||||||
VFin P2 Pl => pl2 ;
|
VPres P2 Pl => pl2 ;
|
||||||
VFin P3 Pl => pl3
|
VPres P3 Pl => pl3
|
||||||
} ;
|
} ;
|
||||||
sc = SCNom
|
sc = SCNom
|
||||||
} ;
|
} ;
|
||||||
@@ -351,6 +351,7 @@ oper
|
|||||||
SCNom => Nom ;
|
SCNom => Nom ;
|
||||||
SCDat => Dat }
|
SCDat => Dat }
|
||||||
in np.s ! subjcase
|
in np.s ! subjcase
|
||||||
|
++ if_then_Pol p [] "nem"
|
||||||
++ vp.s ! agr2vf np.agr
|
++ vp.s ! agr2vf np.agr
|
||||||
++ vp.obj
|
++ vp.obj
|
||||||
++ vp.adv
|
++ vp.adv
|
||||||
@@ -373,9 +374,10 @@ oper
|
|||||||
SCNom => Nom ;
|
SCNom => Nom ;
|
||||||
SCDat => Dat }
|
SCDat => Dat }
|
||||||
in rp.s ! n ! subjcase
|
in rp.s ! n ! subjcase
|
||||||
|
++ if_then_Pol p [] "nem"
|
||||||
++ vp.obj
|
++ vp.obj
|
||||||
++ vp.adv
|
++ vp.adv
|
||||||
++ vp.s ! VFin rp.agr.p1 n -- variable by number
|
++ vp.s ! VPres rp.agr.p1 n -- variable by number
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
relSlash : RP -> ClSlash -> RClause = \rp,cls -> {
|
relSlash : RP -> ClSlash -> RClause = \rp,cls -> {
|
||||||
|
|||||||
@@ -109,8 +109,8 @@ lin
|
|||||||
-- : AP -> Comp ;
|
-- : AP -> Comp ;
|
||||||
CompAP ap = UseCopula ** {
|
CompAP ap = UseCopula ** {
|
||||||
s = \\vf => case vf of {
|
s = \\vf => case vf of {
|
||||||
VFin P3 n => ap.s ! n ;
|
VPres P3 n => ap.s ! n ;
|
||||||
VFin _ n => ap.s ! n ++ copula.s ! vf ;
|
VPres _ n => ap.s ! n ++ copula.s ! vf ;
|
||||||
_ => ap.s ! Sg ++ copula.s ! vf}
|
_ => ap.s ! Sg ++ copula.s ! vf}
|
||||||
++ ap.compar ;
|
++ ap.compar ;
|
||||||
} ;
|
} ;
|
||||||
@@ -118,15 +118,15 @@ lin
|
|||||||
-- : CN -> Comp ;
|
-- : CN -> Comp ;
|
||||||
CompCN cn = UseCopula ** {
|
CompCN cn = UseCopula ** {
|
||||||
s = \\vf => case vf of {
|
s = \\vf => case vf of {
|
||||||
VFin P3 n => cn.s ! n ! Nom ;
|
VPres P3 n => cn.s ! n ! Nom ;
|
||||||
VFin _ n => cn.s ! n ! Nom ++ copula.s ! vf ;
|
VPres _ n => cn.s ! n ! Nom ++ copula.s ! vf ;
|
||||||
_ => cn.s ! Sg ! Nom ++ copula.s ! vf} ;
|
_ => cn.s ! Sg ! Nom ++ copula.s ! vf} ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- : NP -> Comp ;
|
-- : NP -> Comp ;
|
||||||
CompNP np = UseCopula ** {
|
CompNP np = UseCopula ** {
|
||||||
s = \\vf => case vf of {
|
s = \\vf => case vf of {
|
||||||
VFin P3 _ => np.s ! Nom ;
|
VPres P3 _ => np.s ! Nom ;
|
||||||
_ => np.s ! Nom ++ copula.s ! vf } ;
|
_ => np.s ! Nom ++ copula.s ! vf } ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user