From b53ac90c3c85fb5e6190db594c96b7be6b6c3ed7 Mon Sep 17 00:00:00 2001 From: krangelov Date: Tue, 3 Sep 2019 21:37:14 +0200 Subject: [PATCH] added simple tenses --- src/turkish/AdverbTur.gf | 4 ++-- src/turkish/CatTur.gf | 7 +++---- src/turkish/ParadigmsTur.gf | 4 ++-- src/turkish/PhraseTur.gf | 2 +- src/turkish/ResTur.gf | 22 ++++++++++++---------- src/turkish/SentenceTur.gf | 2 +- src/turkish/VerbTur.gf | 2 +- 7 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/turkish/AdverbTur.gf b/src/turkish/AdverbTur.gf index 31ff82c9..6c7d67fb 100644 --- a/src/turkish/AdverbTur.gf +++ b/src/turkish/AdverbTur.gf @@ -15,8 +15,8 @@ concrete AdverbTur of Adverb = CatTur ** open ResTur, Prelude in { -- TODO: inflect the subject to genitive. ComparAdvAdjS cadv a s = { - s = s.s ! SubordSuffixDik ++ cadv.s ++ a.s ! Sg ! Nom + s = s.subord ++ cadv.s ++ a.s ! Sg ! Nom } ; - SubjS s1 s2 = {s = s1.s ++ s2.s ! SubordSuffixDik} ; + SubjS s1 s2 = {s = s1.s ++ s2.subord} ; } diff --git a/src/turkish/CatTur.gf b/src/turkish/CatTur.gf index 2a84f3b6..ced5d62f 100644 --- a/src/turkish/CatTur.gf +++ b/src/turkish/CatTur.gf @@ -4,10 +4,9 @@ concrete CatTur of Cat = CommonX - [CAdv,AdN] ** open ResTur, Prelude in { lincat - S = {s : Gerundification => Str} ; + S = {s, subord : Str} ; - -- TODO: parameterize by tense. - Cl = {s : Gerundification => Str} ; + Cl = {s : Tense => Str; subord : Str} ; -- Noun @@ -50,6 +49,6 @@ concrete CatTur of Cat = CommonX - [CAdv,AdN] ** open ResTur, Prelude in { linref V = \v -> v.s ! VInfinitive ; - V2 = v.s ! VInfinitive ++ v.c.s ; + V2 = \v -> v.s ! VInfinitive ++ v.c.s ; } diff --git a/src/turkish/ParadigmsTur.gf b/src/turkish/ParadigmsTur.gf index 9cbe193c..580b9c5b 100644 --- a/src/turkish/ParadigmsTur.gf +++ b/src/turkish/ParadigmsTur.gf @@ -271,14 +271,14 @@ resource ParadigmsTur = open lin V { s = table { + VPres agr => + addSuffix aoristBase aorHar (verbSuffixes ! agr) ; VProg agr => addSuffix progBase progHar (verbSuffixes ! agr) ; VPast agr => addSuffix pastBase pastHar (verbSuffixes ! agr) ; VFuture agr => addSuffix futureTable futHar (verbSuffixes ! agr) ; - VAorist agr => - addSuffix aoristBase aorHar (verbSuffixes ! agr) ; VImperative => base ; VInfinitive => diff --git a/src/turkish/PhraseTur.gf b/src/turkish/PhraseTur.gf index 6af5e099..cbd0203e 100644 --- a/src/turkish/PhraseTur.gf +++ b/src/turkish/PhraseTur.gf @@ -19,7 +19,7 @@ concrete PhraseTur of Phrase = CatTur ** open Prelude, ResTur in { UttVP vp = {s = vp.s ! VInfinitive} ; UttAP ap = {s = ap.s ! Sg ! Nom} ; UttCN n = {s = n.s ! Sg ! Nom} ; - UttS s = {s = s.s ! None} ; + UttS s = {s = s.s} ; UttAdv adv = adv ; NoPConj = {s = []} ; diff --git a/src/turkish/ResTur.gf b/src/turkish/ResTur.gf index cd3f6112..ecd8b4a9 100644 --- a/src/turkish/ResTur.gf +++ b/src/turkish/ResTur.gf @@ -31,19 +31,18 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in { param VForm = - VProg Agr + VPres Agr + | VProg Agr | VPast Agr | VFuture Agr - | VAorist Agr | VImperative | VInfinitive | Gerund Number Case | VNoun Number Case ; - param Gerundification = None | SubordSuffixDik ; - - param ConjType = Infix | Mixfix ; + param + ConjType = Infix | Mixfix ; UseGen = NoGen | YesGen Agr | UseIndef ; @@ -74,7 +73,7 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in { } ; -- Prep - noPrep = mkPrep [] Acc; + noPrep = mkPrep [] Nom; mkPrep : Str -> Case -> {s : Str; c : Case; lock_Prep : {}} = \s, c -> lin Prep {s=s; c=c}; @@ -82,12 +81,15 @@ resource ResTur = ParamX ** open Prelude, Predef, HarmonyTur in { mkNP : Noun -> Number -> Person -> {s : Case => Str; a : Agr} = \noun, n, p -> {s = noun.s ! n; a = {n = n; p = p}} ; - mkClause : Str -> Agr -> Verb -> {s : Gerundification => Str} = + mkClause : Str -> Agr -> Verb -> {s : Tense => Str; subord : Str} = \np, a, v -> { s = table { - None => np ++ v.s ! VProg a ; - SubordSuffixDik => np ++ v.s ! VNoun a.n Nom - } + Pres => np ++ v.s ! VPres a ; + Past => np ++ v.s ! VPast a ; + Fut => np ++ v.s ! VFuture a ; + Cond => "TODO" + } ; + subord = np ++ v.s ! VNoun a.n Nom } ; mkDet : Str -> Number -> UseGen -> {s : Str; n : Number; useGen : UseGen} = diff --git a/src/turkish/SentenceTur.gf b/src/turkish/SentenceTur.gf index a57f55df..adb83f08 100644 --- a/src/turkish/SentenceTur.gf +++ b/src/turkish/SentenceTur.gf @@ -8,6 +8,6 @@ concrete SentenceTur of Sentence = CatTur ** open Prelude, ResTur in { EmbedVP vp = {s = (vp.s ! Gerund Sg Acc)} ; -- TODO: rudimentary implementation; revise this. - UseCl temp pol cl = {s = cl.s} ; + UseCl temp pol cl = {s = temp.s ++ cl.s ! temp.t; subord=cl.subord} ; } diff --git a/src/turkish/VerbTur.gf b/src/turkish/VerbTur.gf index 1cdd483c..53c23405 100644 --- a/src/turkish/VerbTur.gf +++ b/src/turkish/VerbTur.gf @@ -10,7 +10,7 @@ concrete VerbTur of Verb = CatTur ** open ResTur in { -- TODO: test this and fix. ComplVS vs s = { - s = \\vf => s.s ! SubordSuffixDik ++ vs.s ! vf + s = \\vf => s.subord ++ vs.s ! vf } ; }