1
0
forked from GitHub/gf-rgl

(Pes) Fixes in word order for SlashV2V

This commit is contained in:
Inari Listenmaa
2019-03-02 16:37:06 +01:00
parent 59c4154a31
commit ca51eaf433
2 changed files with 54 additions and 22 deletions
+33 -14
View File
@@ -5,11 +5,11 @@ concrete VerbPes of Verb = CatPes ** open ResPes,Prelude in {
lin
UseV = predV ;
SlashV2a v = v ** predV v;
Slash2V3 v np = {c2 = v.c3} **
complSlash (predV v ** {c2 = v.c2}) np ;
Slash3V3 v np = {c2 = v.c2} **
complSlash (predV v ** {c2 = v.c3}) np ;
SlashV2a v = predVc v;
Slash2V3 v np = vs v.c3 **
complSlash (predVc v ** {c2 = v.c2}) np ;
Slash3V3 v np = vs v.c2 **
complSlash (predVc v ** {c2 = v.c3}) np ;
ComplSlash = complSlash ;
ComplVV = insertVV ;
@@ -17,15 +17,34 @@ concrete VerbPes of Verb = CatPes ** open ResPes,Prelude in {
ComplVQ v q = embComp (conjThat ++ q.s ! QIndir) (predV v) ;
ComplVA v ap = insertObj (ap.s ! Bare) (predV v) ; -- check form of adjective
SlashVV vv vps = vps ** insertVV vv vps ;
SlashV2S v s = v ** embComp (conjThat ++ s.s ! Indic) (predV v) ;
SlashV2Q v q = v ** embComp (q.s ! QIndir) (predV v) ;
SlashV2A v ap = v ** insertObj (ap.s ! Bare) (predV v) ; ---- paint it red , check form of adjective
SlashV2V v vp = v ** insertVV v vp ; -- ** {c2 = {s = v.c1 ; ra = []}} ;
SlashV2VNP v2v np vps =
let vvVPS : VPHSlash = vps ** insertVV v2v vps ;
-- vvVPS = vvVP ** {c2={s=v2v.c1 ; ra=v2v.c2}} ; -- TODO find out if it's a general rule; only one V2V in the lexicon /IL
in complSlash vvVPS np ** {c2 = vps.c2} ;
SlashVV vv vps = vps ** ComplVV vv vps ;
SlashV2S v s = predVc v ** embComp (conjThat ++ s.s ! Indic) (predV v) ;
SlashV2Q v q = predVc v ** embComp (q.s ! QIndir) (predV v) ;
SlashV2A v ap = predVc v ** insertObj (ap.s ! Bare) (predV v) ; ---- paint it red , check form of adjective
-- : V2V -> VP -> VPSlash ; -- beg (her) to go
SlashV2V v2v vp = predVc v2v ** {
agrObj = \\agr => if_then_Str v2v.isAux conjThat []
++ showVPH (case v2v.compl of {
Subj => VSubj Pos agr ;
Indic => VAor Pos agr })
agr -- this will agree with the object added by ComplSlash
vp ;
c2 = v2v.c2 ; -- preposition for the direct object comes from V2V
} ;
-- : V2V -> NP -> VPSlash -> VPSlash ; -- beg me to buy
SlashV2VNP v2v np vps = predVc v2v ** {
comp = \\a => if_then_Str v2v.isAux conjThat [] -- that
++ appComp v2v.c2 (np.s ! Bare) ; -- I
-- ∅ is placed in comp
vComp = \\_,_ => showVPH (case v2v.compl of { -- buy
Subj => VSubj Pos np.a ;
Indic => VAor Pos np.a })
np.a -- agreement fixed to np.a
<vps : VPH> ;
c2 = vps.c2 -- preposition for the direct object comes from VPSlash
} ;
AdvVP vp adv = insertAdV adv.s vp ;
AdVVP adv vp = insertAdV adv.s vp ;