added PassV2, PassVPSlash

This commit is contained in:
Krasimir Angelov
2024-07-24 09:48:08 +02:00
parent 9b12c13057
commit d198de7395
6 changed files with 37 additions and 8 deletions

View File

@@ -14,7 +14,7 @@ concrete CatTur of Cat = CommonX - [CAdv,AdN] ** open ResTur, HarmonyTur, Prelud
NP = {s : Case => Str ; h : Harmony; a : Agr} ; NP = {s : Case => Str ; h : Harmony; a : Agr} ;
VP = {s : VForm => Str; compl : Str} ; VP = {s : VForm => Str; compl : Str} ;
VPSlash = {s : VForm => Str; compl : Str; c : Prep} ; VPSlash = Verb ** {compl : Str; c : Prep} ;
Comp = {s : VForm => Str; compl : Str} ; Comp = {s : VForm => Str; compl : Str} ;
Pron = ResTur.Pron ; Pron = ResTur.Pron ;

View File

@@ -1,4 +1,4 @@
concrete ExtendTur of Extend = CatTur ** open ResTur in { concrete ExtendTur of Extend = CatTur ** open ResTur, SuffixTur, Predef in {
lin lin
GenModNP num np cn = { GenModNP num np cn = {
@@ -13,4 +13,14 @@ concrete ExtendTur of Extend = CatTur ** open ResTur in {
PositAdVAdj a = {s = a.s ! Sg ! Nom} ; PositAdVAdj a = {s = a.s ! Sg ! Nom} ;
PassVPSlash vps = {
s = mkVerbForms {
s = vps.stems ! VPass ++ BIND ++ suffixStr vps.h infinitiveSuffix ;
stems = \\_ => vps.stems ! VPass ;
aoristType = vps.aoristType ;
h = vps.h ;
} ;
compl = []
} ;
} }

View File

@@ -243,17 +243,23 @@ resource ParadigmsTur = open
case getHarConP base of { case getHarConP base of {
SVow => tk 1 base ; SVow => tk 1 base ;
_ => softBase _ => softBase
} } ;
h = getHarmony base
in lin V { in lin V {
s = inf ; s = inf ;
stems = table { stems = table {
VBase Hard => base ; VBase Hard => base ;
VBase Soft => softBase ; VBase Soft => softBase ;
VProg => progBase ; VProg => progBase ;
VFut => futBase VFuture => futBase ;
VPass => case last base of {
#vowel => base + "n" ;
"l" => base + suffixStr h passiveInSuffix ;
_ => base + suffixStr h passiveIlSuffix
}
} ; } ;
aoristType = aoristType ; aoristType = aoristType ;
h = getHarmony base h = h
} ; } ;
-- Implementation of noun paradigms -- Implementation of noun paradigms

View File

@@ -47,6 +47,7 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur, SuffixTur in {
VBase Softness VBase Softness
| VProg | VProg
| VFuture | VFuture
| VPass
; ;
param param

View File

@@ -120,6 +120,9 @@ resource SuffixTur = open Prelude, Predef, HarmonyTur in {
infinitiveSuffix : Suffix = regSuffix "mek" "mek" ; infinitiveSuffix : Suffix = regSuffix "mek" "mek" ;
passiveInSuffix : Suffix = regSuffix "in" "n" ;
passiveIlSuffix : Suffix = regSuffix "il" "l" ;
-- Ordinal suffix for numbers -- Ordinal suffix for numbers
ordNumSuffix : Suffix = regSuffix21 "inci" "nci" ; ordNumSuffix : Suffix = regSuffix21 "inci" "nci" ;
-- Suffix for deriving adverb from a adjective -- Suffix for deriving adverb from a adjective

View File

@@ -2,7 +2,7 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
lin lin
UseV v = {s = mkVerbForms v; compl = []} ; UseV v = {s = mkVerbForms v; compl = []} ;
SlashV2a v = {s = mkVerbForms v; compl = []; c = v.c} ; SlashV2a v = v ** {compl = []} ;
Slash2V3 v = variants {} ; Slash2V3 v = variants {} ;
Slash3V3 v = variants {} ; Slash3V3 v = variants {} ;
@@ -13,7 +13,8 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
SlashVV v = variants {} ; SlashVV v = variants {} ;
SlashV2VNP = variants {} ; SlashV2VNP = variants {} ;
ComplSlash vps np = vps ** { ComplSlash vps np = {
s = mkVerbForms vps ;
compl = vps.compl ++ vps.c.s ++ np.s ! vps.c.c ; compl = vps.compl ++ vps.c.s ++ np.s ! vps.c.c ;
} ; } ;
@@ -111,7 +112,15 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
compl = vp.compl ++ adv.s ; compl = vp.compl ++ adv.s ;
} ; } ;
PassV2 = variants {} ; PassV2 v = {
s = mkVerbForms {
s = v.stems ! VPass ++ BIND ++ suffixStr v.h infinitiveSuffix ;
stems = \\_ => v.stems ! VPass ;
aoristType = v.aoristType ;
h = v.h ;
} ;
compl = []
} ;
oper oper
olmak_V : V = lin V { olmak_V : V = lin V {