1
0
forked from GitHub/gf-rgl

added an API for Turkish

This commit is contained in:
krangelov
2020-03-25 15:51:05 +01:00
parent fcae1c65f1
commit da377fa4e7
13 changed files with 128 additions and 3 deletions

View File

@@ -42,5 +42,5 @@ Swa,Swahili,swahili,,,,n,n,n,y,n
Swe,Swedish,swedish,Scand,,y,,,,y,y Swe,Swedish,swedish,Scand,,y,,,,y,y
Tel,Telugu,telugu,,,y,n,n,n,,n Tel,Telugu,telugu,,,y,n,n,n,,n
Tha,Thai,thai,,to_thai,,,,,,y Tha,Thai,thai,,to_thai,,,,,,y
Tur,Turkish,turkish,,,,,n,n,,n Tur,Turkish,turkish,,,y,,,n,,n
Urd,Urdu,urdu,Hindustani,,,,,,,y Urd,Urdu,urdu,Hindustani,,,,,,,y
1 Code Name Directory Functor Unlexer Present All Try Symbolic Compatibility Synopsis
42 Swe Swedish swedish Scand y y y
43 Tel Telugu telugu y n n n n
44 Tha Thai thai to_thai y
45 Tur Turkish turkish y n n n
46 Urd Urdu urdu Hindustani y

View File

@@ -0,0 +1,9 @@
--# -path=.:alltenses:prelude
resource CombinatorsTur = Combinators with
(Cat = CatTur),
(Structural = StructuralTur),
(Noun = NounTur),
(Constructors = ConstructorsTur) **
{
}

View File

@@ -0,0 +1,3 @@
--# -path=.:alltenses:prelude
resource ConstructorsTur = Constructors with (Grammar = GrammarTur) ;

4
src/api/SyntaxTur.gf Normal file
View File

@@ -0,0 +1,4 @@
--# -path=.:alltenses:prelude
instance SyntaxTur of Syntax = ConstructorsTur, CatTur, StructuralTur, CombinatorsTur ;

11
src/api/TryTur.gf Normal file
View File

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

View File

@@ -1,8 +1,6 @@
concrete AdverbTur of Adverb = CatTur ** open ResTur, Prelude in { concrete AdverbTur of Adverb = CatTur ** open ResTur, Prelude in {
lin lin
PrepNP prep np = {s = np.s ! prep.c ++ prep.s} ; PrepNP prep np = {s = np.s ! prep.c ++ prep.s} ;
always_AdV = {s = "her zaman"} ;
AdAdv = cc2 ; AdAdv = cc2 ;
@@ -19,4 +17,7 @@ concrete AdverbTur of Adverb = CatTur ** open ResTur, Prelude in {
} ; } ;
SubjS s1 s2 = {s = s1.s ++ s2.subord} ; SubjS s1 s2 = {s = s1.s ++ s2.subord} ;
PositAdvAdj _ = variants {} ;
} }

View File

@@ -2,18 +2,37 @@ concrete ConjunctionTur of Conjunction =
CatTur ** open ResTur, Coordination, Prelude in { CatTur ** open ResTur, Coordination, Prelude in {
lin lin
ConjNP _ _ = variants {} ;
ConsNP _ _ = variants {} ;
BaseNP _ _ = variants {} ;
ConsAP _ _ = variants {} ;
-- TODO: ap2.s seems to irrelevant; investigate why. -- TODO: ap2.s seems to irrelevant; investigate why.
BaseAP ap1 ap2 = { BaseAP ap1 ap2 = {
s = ap1.s ! Sg ! Nom s = ap1.s ! Sg ! Nom
} ; } ;
ConjAP _ _ = variants {} ;
BaseAdV adv1 adv2 = { BaseAdV adv1 adv2 = {
s = adv1.s s = adv1.s
} ; } ;
ConsAdv _ _ = variants {} ;
BaseAdv adv1 adv2 = { BaseAdv adv1 adv2 = {
s = adv1.s s = adv1.s
} ; } ;
ConjAdv _ _ = variants {} ;
ConjRS _ _ = variants {} ;
ConsRS _ _ = variants {} ;
BaseRS _ _ = variants {} ;
ConjS _ _ = variants {} ;
ConsS _ _ = variants {} ;
BaseS _ _ = variants {} ;
} }

View File

@@ -1,5 +1,14 @@
concrete IdiomTur of Idiom = CatTur ** open Prelude, ResTur in { 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 {} ;
} }

View File

@@ -52,6 +52,8 @@ concrete NounTur of Noun = CatTur ** open ResTur, SuffixTur, HarmonyTur, Prelude
UseN2 n = n; UseN2 n = n;
Use2N3 n = variants {} ;
MassNP cn = { s = cn.s ! Sg; a = { n = Sg; p = P1 } } ; MassNP cn = { s = cn.s ! Sg; a = { n = Sg; p = P1 } } ;
ComplN2 f x = ComplN2 f x =

View File

@@ -1,4 +1,19 @@
concrete QuestionTur of Question = CatTur ** open ResTur, Prelude in { 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 {} ;
} }

View File

@@ -1,4 +1,11 @@
concrete RelativeTur of Relative = CatTur ** open ResTur in { concrete RelativeTur of Relative = CatTur ** open ResTur in {
lin
RelCl = variants {} ;
RelVP = variants {} ;
RelSlash = variants {} ;
FunRP = variants {} ;
IdRP = variants {} ;
} }

View File

@@ -4,10 +4,30 @@ concrete SentenceTur of Sentence = CatTur ** open Prelude, ResTur in {
PredVP np vp = mkClause (np.s ! Nom) np.a vp ; PredVP np vp = mkClause (np.s ! Nom) np.a vp ;
PredSCVP sc vp = variants {} ;
-- TODO: Check how correct this is. -- TODO: Check how correct this is.
EmbedVP vp = {s = (vp.s ! Gerund Sg Acc)} ; EmbedVP vp = {s = (vp.s ! Gerund Sg Acc)} ;
-- TODO: rudimentary implementation; revise this. -- TODO: rudimentary implementation; revise this.
UseCl temp pol cl = {s = temp.s ++ cl.s ! temp.t; subord=cl.subord} ; 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 {} ;
} }

View File

@@ -4,6 +4,15 @@ concrete VerbTur of Verb = CatTur ** open ResTur in {
UseV v = v ; UseV v = v ;
SlashV2a 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 = { ComplSlash vps np = {
s = \\ vf => vps.c.s ++ np.s ! vps.c.c ++ vps.s ! vf ; 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 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 {} ;
} }