Extensions by Codex

This commit is contained in:
Krasimir Angelov
2026-09-29 16:28:48 +02:00
parent dd7fdb137e
commit b4d6caeb1d
17 changed files with 296 additions and 10 deletions
+46 -1
View File
@@ -1,4 +1,4 @@
concrete VerbSlv of Verb = CatSlv ** open ResSlv, ParamX, Prelude in {
concrete VerbSlv of Verb = CatSlv ** open ResSlv, ParamX, ParadigmsSlv, Prelude in {
lin
UseV v =
@@ -8,6 +8,25 @@ concrete VerbSlv of Verb = CatSlv ** open ResSlv, ParamX, Prelude in {
refl = v.refl
} ;
ComplVV v vp = {
s = \\p,vf => ne ! p ++ v.s ! vf;
s2 = \\a => vp.s ! Pos ! VInf ++ vp.refl ++ vp.s2 ! a;
isCop=False; refl=[]
} ;
ComplVS v s = {
s = \\p,vf => ne ! p ++ v.s ! vf;
s2 = \\_ => v.p ++ "da" ++ s.s; isCop=False; refl=v.refl
} ;
ComplVQ v q = {
s = \\p,vf => ne ! p ++ v.s ! vf;
s2 = \\_ => q.s; isCop=False; refl=[]
} ;
ComplVA v ap = {
s = \\p,vf => ne ! p ++ v.s ! vf;
s2 = \\a => v.p ++ ap.s ! Indef ! inanimateGender a.g ! Nom ! a.n;
isCop=False; refl=v.refl
} ;
SlashV2a v =
{ s = \\p,vform => ne ! p ++ v.s ! vform ;
s2 = \\a => v.p ; ----AR: +p particle
@@ -16,6 +35,25 @@ concrete VerbSlv of Verb = CatSlv ** open ResSlv, ParamX, Prelude in {
refl = v.refl
} ;
SlashV2V v vp = {
s=\\p,vf => ne ! p ++ v.s ! vf;
s2=\\a => v.p ++ vp.s ! Pos ! VInf ++ vp.refl ++ vp.s2 ! a;
c2=mkPrep [] accusative; isCop=False; refl=v.refl
} ;
SlashV2S v s = {
s=\\p,vf => ne ! p ++ v.s ! vf; s2=\\_ => v.p ++ "da" ++ s.s;
c2=mkPrep [] accusative; isCop=False; refl=v.refl
} ;
SlashV2Q v q = {
s=\\p,vf => ne ! p ++ v.s ! vf; s2=\\_ => v.p ++ q.s;
c2=mkPrep [] accusative; isCop=False; refl=v.refl
} ;
SlashV2A v ap = {
s=\\p,vf => ne ! p ++ v.s ! vf;
s2=\\a => v.p ++ ap.s ! Indef ! inanimateGender a.g ! Acc ! a.n;
c2=mkPrep [] accusative; isCop=False; refl=v.refl
} ;
--Check these V3-slashes AE
Slash2V3 v np =
{ s = \\p,vform => ne ! p ++ v.s ! vform ;
@@ -53,6 +91,11 @@ concrete VerbSlv of Verb = CatSlv ** open ResSlv, ParamX, Prelude in {
} ;
AdvVP vp adv = insertObj (\\_ => adv.s) vp ;
ExtAdvVP vp adv = AdvVP vp adv ;
AdVVP adv vp = vp ** {s2 = \\a => adv.s ++ vp.s2 ! a} ;
AdvVPSlash vp adv = vp ** {s2 = \\a => vp.s2 ! a ++ adv.s} ;
AdVVPSlash adv vp = vp ** {s2 = \\a => adv.s ++ vp.s2 ! a} ;
VPSlashPrep vp prep = vp ** {c2=prep} ;
CompAP ap = {
s = \\agr => ap.s ! Indef ! inanimateGender agr.g ! Nom ! agr.n
@@ -60,5 +103,7 @@ concrete VerbSlv of Verb = CatSlv ** open ResSlv, ParamX, Prelude in {
CompAdv adv = {s = \\agr => adv.s} ; ----AR
CompNP np = {s = \\agr => np.s ! Nom} ; ----AR
CompCN cn = {s = \\agr => cn.s ! Indef ! Nom ! agr.n} ;
UseCopula = {s=copula;s2=\\_=>[];isCop=True;refl=[]} ;
}