1
0
forked from GitHub/gf-rgl

Add PresPart into VIForm

This commit is contained in:
Inari Listenmaa
2017-08-29 14:31:07 +02:00
parent 336cbf90ab
commit 653b8b08d6

View File

@@ -175,6 +175,7 @@ param
VIFin Tense VIFin Tense
| VIInf InfForm | VIInf InfForm
| VIPass Tense | VIPass Tense
| VIPresPart
| VIImper | VIImper
; ;
@@ -199,17 +200,18 @@ oper
} ; } ;
einegole : Str * Str * Str = case <vi,agr.n> of { einegole : Str * Str * Str = case <vi,agr.n> of {
<VIFin Pres, _> => <"ei", verbs ! Imper Sg, "ole"> ; <VIFin Pres> => <"ei", verbs ! Imper Sg, "ole"> ;
<VIFin Fut, _> => <"ei", verbs ! Imper Sg, "ole"> ; <VIFin Fut> => <"ei", verbs ! Imper Sg, "ole"> ;
<VIFin Cond, _> => <"ei", verbs ! Condit Sg P3, "oleks"> ; <VIFin Cond> => <"ei", verbs ! Condit Sg P3, "oleks"> ;
<VIFin Past, _> => <"ei", part, "olnud"> ; <VIFin Past> => <"ei", part, "olnud"> ;
<VIImper, Sg> => <"ära", verbs ! Imper Sg, "ole"> ; <VIImper, Sg> => <"ära", verbs ! Imper Sg, "ole"> ;
<VIImper, Pl> => <"ärge", verbs ! Imper Pl, "olge"> ; <VIImper, Pl> => <"ärge", verbs ! Imper Pl, "olge"> ;
<VIPass Pres, _> => <"ei", verbs ! PassPresn False, "ole"> ; <VIPass Pres> => <"ei", verbs ! PassPresn False, "ole"> ;
<VIPass Fut, _> => <"ei", verbs ! PassPresn False, "ole"> ; --# notpresent <VIPass Fut> => <"ei", verbs ! PassPresn False, "ole"> ; --# notpresent
<VIPass Cond, _> => <"ei", verbs ! ConditPass, "oleks"> ; --# notpresent <VIPass Cond> => <"ei", verbs ! ConditPass, "oleks"> ; --# notpresent
<VIPass Past, _> => <"ei", verbs ! PassImpf False, "olnud"> ; --# notpresent <VIPass Past> => <"ei", verbs ! PassImpf False, "olnud"> ; --# notpresent
<VIInf i, _> => <"ei", verbs ! Inf i, verbOlema.s ! Inf i> <VIPresPart> => <"ei", verbs ! PresPart Act, "olev"> ; --# notpresent
<VIInf i> => <"ei", verbs ! Inf i, verbOlema.s ! Inf i>
} ; } ;
@@ -240,6 +242,7 @@ oper
VIPass Past => mkvf (PassImpf passPol) ; --# notpresent VIPass Past => mkvf (PassImpf passPol) ; --# notpresent
VIPass Cond => mkvf (ConditPass) ; --# notpresent VIPass Cond => mkvf (ConditPass) ; --# notpresent
VIPass Fut => mkvf (PassPresn passPol) ; --# notpresent VIPass Fut => mkvf (PassPresn passPol) ; --# notpresent
VIPresPart => mkvf (PresPart Act) ; --# notpresent
VIInf i => mkvf (Inf i) VIInf i => mkvf (Inf i)
} ; } ;
@@ -370,14 +373,17 @@ oper
subjForm : NP -> NPForm -> Polarity -> Str = \np,sc,b -> subjForm : NP -> NPForm -> Polarity -> Str = \np,sc,b ->
appCompl False b {s = [] ; c = sc ; isPre = True} np ; appCompl False b {s = [] ; c = sc ; isPre = True} np ;
infVP : NPForm -> Polarity -> Agr -> VP -> InfForm -> Str =
\sc,pol,agr,vp,vi -> infVP : NPForm -> Polarity -> Agr -> VP -> InfForm -> Str = infVPAnt Simul ;
infVPAnt : Anteriority -> NPForm -> Polarity -> Agr -> VP -> InfForm -> Str =
\ant,sc,pol,agr,vp,vi ->
let let
fin = case sc of { -- subject case fin = case sc of { -- subject case
NPCase Nom => True ; -- mina tahan joosta NPCase Nom => True ; -- mina tahan joosta
_ => False -- minul peab auto olema _ => False -- minul peab auto olema
} ; } ;
verb = vp.s ! VIInf vi ! Simul ! Pos ! agr ; -- no "ei" verb = vp.s ! VIInf vi ! ant ! Pos ! agr ; -- no "ei"
compl = vp.s2 ! fin ! pol ! agr ; -- but compl. case propagated compl = vp.s2 ! fin ! pol ! agr ; -- but compl. case propagated
adv = vp.adv adv = vp.adv
in in