diff --git a/languages.csv b/languages.csv index 013c6887..6866e18c 100644 --- a/languages.csv +++ b/languages.csv @@ -42,5 +42,5 @@ Swa,Swahili,swahili,,,,n,n,n,y,n Swe,Swedish,swedish,Scand,,y,,,,y,y Tel,Telugu,telugu,,,y,n,n,n,,n Tha,Thai,thai,,to_thai,,,,,,y -Tur,Turkish,turkish,,,,,n,n,,n +Tur,Turkish,turkish,,,y,,,n,,n Urd,Urdu,urdu,Hindustani,,,,,,,y diff --git a/src/api/CombinatorsTur.gf b/src/api/CombinatorsTur.gf new file mode 100644 index 00000000..28f5e3b1 --- /dev/null +++ b/src/api/CombinatorsTur.gf @@ -0,0 +1,9 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsTur = Combinators with + (Cat = CatTur), + (Structural = StructuralTur), + (Noun = NounTur), + (Constructors = ConstructorsTur) ** +{ +} diff --git a/src/api/ConstructorsTur.gf b/src/api/ConstructorsTur.gf new file mode 100644 index 00000000..319a55b7 --- /dev/null +++ b/src/api/ConstructorsTur.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsTur = Constructors with (Grammar = GrammarTur) ; diff --git a/src/api/SyntaxTur.gf b/src/api/SyntaxTur.gf new file mode 100644 index 00000000..b4571b71 --- /dev/null +++ b/src/api/SyntaxTur.gf @@ -0,0 +1,4 @@ +--# -path=.:alltenses:prelude + +instance SyntaxTur of Syntax = ConstructorsTur, CatTur, StructuralTur, CombinatorsTur ; + diff --git a/src/api/TryTur.gf b/src/api/TryTur.gf new file mode 100644 index 00000000..e80336df --- /dev/null +++ b/src/api/TryTur.gf @@ -0,0 +1,11 @@ +--# -path=.:../turkish:../common:../abstract:../prelude + +resource TryTur = SyntaxTur, LexiconTur, ParadigmsTur - [mkAdN,mkAdv,mkNum,mkQuant] ** + open (P = ParadigmsTur), (R = ResTur) in { + +oper + mkAdv = overload SyntaxTur { + mkAdv : Str -> Adv = P.mkAdv ; + } ; + +} diff --git a/src/turkish/AdverbTur.gf b/src/turkish/AdverbTur.gf index 6c7d67fb..8d0e8186 100644 --- a/src/turkish/AdverbTur.gf +++ b/src/turkish/AdverbTur.gf @@ -1,8 +1,6 @@ concrete AdverbTur of Adverb = CatTur ** open ResTur, Prelude in { lin PrepNP prep np = {s = np.s ! prep.c ++ prep.s} ; - - always_AdV = {s = "her zaman"} ; AdAdv = cc2 ; @@ -19,4 +17,7 @@ concrete AdverbTur of Adverb = CatTur ** open ResTur, Prelude in { } ; SubjS s1 s2 = {s = s1.s ++ s2.subord} ; + + PositAdvAdj _ = variants {} ; + } diff --git a/src/turkish/ConjunctionTur.gf b/src/turkish/ConjunctionTur.gf index 38d8124a..034b8f52 100644 --- a/src/turkish/ConjunctionTur.gf +++ b/src/turkish/ConjunctionTur.gf @@ -2,18 +2,37 @@ concrete ConjunctionTur of Conjunction = CatTur ** open ResTur, Coordination, Prelude in { lin + ConjNP _ _ = variants {} ; + ConsNP _ _ = variants {} ; + BaseNP _ _ = variants {} ; + ConsAP _ _ = variants {} ; + -- TODO: ap2.s seems to irrelevant; investigate why. BaseAP ap1 ap2 = { s = ap1.s ! Sg ! Nom } ; + ConjAP _ _ = variants {} ; + BaseAdV adv1 adv2 = { s = adv1.s } ; + ConsAdv _ _ = variants {} ; + BaseAdv adv1 adv2 = { s = adv1.s } ; + ConjAdv _ _ = variants {} ; + + ConjRS _ _ = variants {} ; + ConsRS _ _ = variants {} ; + BaseRS _ _ = variants {} ; + + ConjS _ _ = variants {} ; + ConsS _ _ = variants {} ; + BaseS _ _ = variants {} ; + } diff --git a/src/turkish/IdiomTur.gf b/src/turkish/IdiomTur.gf index dd20c601..6f091333 100644 --- a/src/turkish/IdiomTur.gf +++ b/src/turkish/IdiomTur.gf @@ -1,5 +1,14 @@ concrete IdiomTur of Idiom = CatTur ** open Prelude, ResTur in { +lin + ImpersCl _ = variants {} ; + GenericCl _ = variants {} ; + ExistNP _ = variants {} ; + ExistIP _ = variants {} ; + CleftNP _ _ = variants {} ; + CleftAdv _ _ = variants {} ; + ImpPl1 _ = variants {} ; + ProgrVP _ = variants {} ; } diff --git a/src/turkish/NounTur.gf b/src/turkish/NounTur.gf index c02ee7ef..982d4872 100644 --- a/src/turkish/NounTur.gf +++ b/src/turkish/NounTur.gf @@ -52,6 +52,8 @@ concrete NounTur of Noun = CatTur ** open ResTur, SuffixTur, HarmonyTur, Prelude UseN2 n = n; + Use2N3 n = variants {} ; + MassNP cn = { s = cn.s ! Sg; a = { n = Sg; p = P1 } } ; ComplN2 f x = diff --git a/src/turkish/QuestionTur.gf b/src/turkish/QuestionTur.gf index 7acd53b5..d6c3788e 100644 --- a/src/turkish/QuestionTur.gf +++ b/src/turkish/QuestionTur.gf @@ -1,4 +1,19 @@ concrete QuestionTur of Question = CatTur ** open ResTur, Prelude in { +lin + AdvIAdv _ _ = variants {} ; + AdvIP _ _ = variants {} ; + PrepIP _ _ = variants {} ; + CompIP _ = variants {} ; + CompIAdv _ = variants {} ; + IdetQuant _ _ = variants {} ; + IdetCN _ _ = variants {} ; + IdetIP _ = variants {} ; + + QuestIComp _ _ = variants {} ; + QuestIAdv _ _ = variants {} ; + QuestSlash _ _ = variants {} ; + QuestVP _ _ = variants {} ; + QuestCl _ = variants {} ; } diff --git a/src/turkish/RelativeTur.gf b/src/turkish/RelativeTur.gf index 0752266e..d85db6a2 100644 --- a/src/turkish/RelativeTur.gf +++ b/src/turkish/RelativeTur.gf @@ -1,4 +1,11 @@ concrete RelativeTur of Relative = CatTur ** open ResTur in { +lin + RelCl = variants {} ; + RelVP = variants {} ; + RelSlash = variants {} ; + + FunRP = variants {} ; + IdRP = variants {} ; } diff --git a/src/turkish/SentenceTur.gf b/src/turkish/SentenceTur.gf index adb83f08..218a4680 100644 --- a/src/turkish/SentenceTur.gf +++ b/src/turkish/SentenceTur.gf @@ -4,10 +4,30 @@ concrete SentenceTur of Sentence = CatTur ** open Prelude, ResTur in { PredVP np vp = mkClause (np.s ! Nom) np.a vp ; + PredSCVP sc vp = variants {} ; + -- TODO: Check how correct this is. EmbedVP vp = {s = (vp.s ! Gerund Sg Acc)} ; -- TODO: rudimentary implementation; revise this. UseCl temp pol cl = {s = temp.s ++ cl.s ! temp.t; subord=cl.subord} ; + UseQCl _ _ = variants {} ; + + UseRCl _ _ _ = variants {} ; + + SlashVP _ _ = variants {} ; + AdvSlash _ _ = variants {} ; + SlashPrep _ _ = variants {} ; + SlashVS v = variants {} ; + + EmbedQS _ = variants {} ; + EmbedS _ = variants {} ; + + ImpVP _ = variants {} ; + + AdvS _ _ = variants {} ; + + UseSlash _ = variants {} ; + } diff --git a/src/turkish/VerbTur.gf b/src/turkish/VerbTur.gf index 53c23405..60318ea2 100644 --- a/src/turkish/VerbTur.gf +++ b/src/turkish/VerbTur.gf @@ -4,6 +4,15 @@ concrete VerbTur of Verb = CatTur ** open ResTur in { UseV v = v ; SlashV2a v = v ; + Slash2V3 v = variants {} ; + Slash3V3 v = variants {} ; + SlashV2A v = variants {} ; + SlashV2V v = variants {} ; + SlashV2S v = variants {} ; + SlashV2Q v = variants {} ; + SlashVV v = variants {} ; + SlashV2VNP = variants {} ; + ComplSlash vps np = { s = \\ vf => vps.c.s ++ np.s ! vps.c.c ++ vps.s ! vf ; } ; @@ -13,4 +22,20 @@ concrete VerbTur of Verb = CatTur ** open ResTur in { s = \\vf => s.subord ++ vs.s ! vf } ; + ComplVA _ _ = variants {} ; + ComplVV _ _ = variants {} ; + ComplVQ _ _ = variants {} ; + + UseComp _ = variants {} ; + CompCN _ = variants {} ; + CompNP _ = variants {} ; + CompAP _ = variants {} ; + CompAdv _ = variants {} ; + + ReflVP = variants {} ; + + AdvVP = variants {} ; + AdVVP = variants {} ; + + PassV2 = variants {} ; }