mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
added PassV2, PassVPSlash
This commit is contained in:
@@ -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 ;
|
||||||
|
|||||||
@@ -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 = []
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur, SuffixTur in {
|
|||||||
VBase Softness
|
VBase Softness
|
||||||
| VProg
|
| VProg
|
||||||
| VFuture
|
| VFuture
|
||||||
|
| VPass
|
||||||
;
|
;
|
||||||
|
|
||||||
param
|
param
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user