1
0
forked from GitHub/gf-rgl

Merge pull request #401 from inariksit/estonian-PastPartAP-fix

Minor fixes + new lins in Estonian
This commit is contained in:
Inari Listenmaa
2022-06-02 07:54:21 +02:00
committed by GitHub
3 changed files with 26 additions and 13 deletions

View File

@@ -1,4 +1,4 @@
abstract AllEstAbs =
Lang,
ExtraEstAbs
Extend
** {} ;

View File

@@ -345,7 +345,7 @@ concrete ExtendEst of Extend =
-- : VPSlash -> AP ; -- täna leitud
PastPartAP vp = {
s = \\_,_ => vp2adv vp True (VIPass Past) ;
s = \\_,_ => vp2adv <vp : VP> <True : Bool> <PastPart Pass : VForm> ;
infl = Invariable
} ;
@@ -357,7 +357,8 @@ concrete ExtendEst of Extend =
-- : VPSlash -> NP -> AP -- hobisukeldujate poolt leitud (süvaveepomm)
PastPartAgentAP vp np = {
s = \\_,_ => appCompl True Pos by8agent_Prep np ++ vp2adv vp True (VIPass Past) ;
s = \\_,_ => appCompl True Pos by8agent_Prep np
++ vp2adv <vp : VP> <True : Bool> <PastPart Pass : VForm> ;
infl = Invariable
} ;
@@ -385,6 +386,8 @@ concrete ExtendEst of Extend =
-- calling infVP with the "default arguments": NPCase Nom, Pos, agrP3 Sg
infVPdefault : VP -> InfForms -> Str = infVP (NPCase Nom) Pos (agrP3 Sg) ;
vp2adv = overload {
vp2adv : R.VP -> Bool -> VIForm -> Str = \vp,sentIsPos,vif ->
let vpforms : {fin,inf : Str} = case vif of {
VIInf if => applyInfFormsVP {stem=if ; suf="a"} vp ; --- this oper shouldn't be used if you want to use an InfForm but just trying to be robust here
@@ -395,7 +398,13 @@ concrete ExtendEst of Extend =
++ vpforms.fin -- tunda/tundes/tundmata/...
++ vpforms.inf -- TODO is this necessary???
++ vp.ext ;
vp2adv : R.VP -> Bool -> VForm -> Str = \vp,sentIsPos,vf ->
vp.s2 ! sentIsPos ! Pos ! agrP3 Sg -- raamatut
++ vp.adv -- paremini
++ vp.p -- ära
++ vp.v.s ! vf -- tuntud
++ vp.ext
} ;
---------------------------------
-- S - W

View File

@@ -75,6 +75,10 @@ concrete VerbEst of Verb = CatEst ** open Prelude, ResEst in {
AdvVP vp adv = insertAdv adv.s vp ;
AdvVPSlash vp adv = insertAdv adv.s vp ** vp ;
VPSlashPrep vp prep = vp ** {c2 = prep} ;
AdVVP adv vp = insertAdv adv.s vp ;
ReflVP v = insertObjPre (\\fin,b,agr => appCompl fin b v.c2 (reflPron agr)) v ;