Skip to content

Commit

Permalink
added PassV2, PassVPSlash
Browse files Browse the repository at this point in the history
  • Loading branch information
krangelov committed Jul 24, 2024
1 parent 9b12c13 commit d198de7
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/turkish/CatTur.gf
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ concrete CatTur of Cat = CommonX - [CAdv,AdN] ** open ResTur, HarmonyTur, Prelud
NP = {s : Case => Str ; h : Harmony; a : Agr} ;

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} ;

Pron = ResTur.Pron ;
Expand Down
12 changes: 11 additions & 1 deletion src/turkish/ExtendTur.gf
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
concrete ExtendTur of Extend = CatTur ** open ResTur in {
concrete ExtendTur of Extend = CatTur ** open ResTur, SuffixTur, Predef in {

lin
GenModNP num np cn = {
Expand All @@ -13,4 +13,14 @@ concrete ExtendTur of Extend = CatTur ** open ResTur in {

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 = []
} ;

}
12 changes: 9 additions & 3 deletions src/turkish/ParadigmsTur.gf
Original file line number Diff line number Diff line change
Expand Up @@ -243,17 +243,23 @@ resource ParadigmsTur = open
case getHarConP base of {
SVow => tk 1 base ;
_ => softBase
}
} ;
h = getHarmony base
in lin V {
s = inf ;
stems = table {
VBase Hard => base ;
VBase Soft => softBase ;
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 ;
h = getHarmony base
h = h
} ;

-- Implementation of noun paradigms
Expand Down
1 change: 1 addition & 0 deletions src/turkish/ResTur.gf
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur, SuffixTur in {
VBase Softness
| VProg
| VFuture
| VPass
;

param
Expand Down
3 changes: 3 additions & 0 deletions src/turkish/SuffixTur.gf
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,9 @@ resource SuffixTur = open Prelude, Predef, HarmonyTur in {

infinitiveSuffix : Suffix = regSuffix "mek" "mek" ;

passiveInSuffix : Suffix = regSuffix "in" "n" ;
passiveIlSuffix : Suffix = regSuffix "il" "l" ;

-- Ordinal suffix for numbers
ordNumSuffix : Suffix = regSuffix21 "inci" "nci" ;
-- Suffix for deriving adverb from a adjective
Expand Down
15 changes: 12 additions & 3 deletions src/turkish/VerbTur.gf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur

lin
UseV v = {s = mkVerbForms v; compl = []} ;
SlashV2a v = {s = mkVerbForms v; compl = []; c = v.c} ;
SlashV2a v = v ** {compl = []} ;

Slash2V3 v = variants {} ;
Slash3V3 v = variants {} ;
Expand All @@ -13,7 +13,8 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
SlashVV v = variants {} ;
SlashV2VNP = variants {} ;

ComplSlash vps np = vps ** {
ComplSlash vps np = {
s = mkVerbForms vps ;
compl = vps.compl ++ vps.c.s ++ np.s ! vps.c.c ;
} ;

Expand Down Expand Up @@ -111,7 +112,15 @@ concrete VerbTur of Verb = CatTur ** open Prelude, ResTur, SuffixTur, HarmonyTur
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
olmak_V : V = lin V {
Expand Down

0 comments on commit d198de7

Please sign in to comment.