mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
added future tense and fix PossPron
This commit is contained in:
@@ -185,7 +185,7 @@ concrete NounHun of Noun = CatHun ** open
|
|||||||
|
|
||||||
-- : Pron -> Quant
|
-- : Pron -> Quant
|
||||||
PossPron pron = pron ** {
|
PossPron pron = pron ** {
|
||||||
s,sp = \\_ => pron.s ;
|
s,sp = \\_,_ => pre {"a" ; "az" / v} ++ pron.s ! Nom ;
|
||||||
dt = DetPoss (agr2pstem pron.agr) ;
|
dt = DetPoss (agr2pstem pron.agr) ;
|
||||||
caseagr = False ;
|
caseagr = False ;
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -201,13 +201,6 @@ param
|
|||||||
| VPres Person Number
|
| VPres Person Number
|
||||||
| VPast Person Number ;
|
| VPast Person Number ;
|
||||||
|
|
||||||
oper
|
|
||||||
agr2vf : Tense -> Person*Number -> VForm = \t,pn ->
|
|
||||||
case <t,pn.p1,pn.p2> of {
|
|
||||||
<Past,p,n> => VPast p n ;
|
|
||||||
<_,p,n> => VPres p n
|
|
||||||
} ;
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
-- Clauses
|
-- Clauses
|
||||||
|
|
||||||
|
|||||||
@@ -436,6 +436,22 @@ oper
|
|||||||
mkVerb2 : Str -> Verb2 = \sg3 -> vtov2 (mkVerb sg3) ;
|
mkVerb2 : Str -> Verb2 = \sg3 -> vtov2 (mkVerb sg3) ;
|
||||||
mkVerb3 : Str -> Verb3 = \sg3 -> v2tov3 (mkVerb2 sg3) ;
|
mkVerb3 : Str -> Verb3 = \sg3 -> v2tov3 (mkVerb2 sg3) ;
|
||||||
|
|
||||||
|
futureAux : ObjDef -> Person -> Number -> Str = \od,p,n ->
|
||||||
|
case <od,p,n> of {
|
||||||
|
<Indef,P1,Sg> => "fogok" ;
|
||||||
|
<Indef,P2,Sg> => "fogsz" ;
|
||||||
|
<Indef,P3,Sg> => "fog" ;
|
||||||
|
<Indef,P1,Pl> => "fogunk" ;
|
||||||
|
<Indef,P2,Pl> => "fogtok" ;
|
||||||
|
<Indef,P3,Pl> => "fognak" ;
|
||||||
|
<Def,P1,Sg> => "fogom" ;
|
||||||
|
<Def,P2,Sg> => "fogod" ;
|
||||||
|
<Def,P3,Sg> => "fogja" ;
|
||||||
|
<Def,P1,Pl> => "fogjuk" ;
|
||||||
|
<Def,P2,Pl> => "fogjátok" ;
|
||||||
|
<Def,P3,Pl> => "fogják"
|
||||||
|
} ;
|
||||||
|
|
||||||
vtov2 : Verb -> Verb2 = \v -> v ** {
|
vtov2 : Verb -> Verb2 = \v -> v ** {
|
||||||
s = table {
|
s = table {
|
||||||
Def => let vDef : Verb = mkVerbRegPast endingsDef endingsPastDef
|
Def => let vDef : Verb = mkVerbRegPast endingsDef endingsPastDef
|
||||||
@@ -576,7 +592,11 @@ oper
|
|||||||
SCDat => Dat }
|
SCDat => Dat }
|
||||||
in linNP' NoPoss subjcase np
|
in linNP' NoPoss subjcase np
|
||||||
++ if_then_Pol p [] "nem"
|
++ if_then_Pol p [] "nem"
|
||||||
++ vp.s ! agr2vf t np.agr
|
++ case <t,np.agr.p1,np.agr.p2> of {
|
||||||
|
<Past,p,n> => vp.s ! VPast p n ;
|
||||||
|
<Fut,p,n> => futureAux Indef p n ++ vp.s ! VInf ;
|
||||||
|
<_,p,n> => vp.s ! VPres p n
|
||||||
|
}
|
||||||
++ vp.obj -- ! np.agr
|
++ vp.obj -- ! np.agr
|
||||||
++ vp.adv
|
++ vp.adv
|
||||||
++ np.empty -- standard trick for prodrop+metavariable problem
|
++ np.empty -- standard trick for prodrop+metavariable problem
|
||||||
@@ -597,7 +617,11 @@ oper
|
|||||||
++ if_then_Pol p [] "nem"
|
++ if_then_Pol p [] "nem"
|
||||||
++ vp.obj -- ! <rp.agr.p1,n>
|
++ vp.obj -- ! <rp.agr.p1,n>
|
||||||
++ vp.adv
|
++ vp.adv
|
||||||
++ vp.s ! agr2vf t <rp.agr.p1,n> -- variable by number
|
++ case <t,rp.agr.p1,n> of {
|
||||||
|
<Past,p,n> => vp.s ! VPast p n ;
|
||||||
|
<Fut,p,n> => futureAux Indef p n ++ vp.s ! VInf ;
|
||||||
|
<_,p,n> => vp.s ! VPres p n
|
||||||
|
} -- variable by number
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
relSlash : RP -> ClSlash -> RClause = \rp,cls -> {
|
relSlash : RP -> ClSlash -> RClause = \rp,cls -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user