diff --git a/next-lib/src/turkish/CatTur.gf b/next-lib/src/turkish/CatTur.gf index 8b7dcd394..08ae99b3b 100644 --- a/next-lib/src/turkish/CatTur.gf +++ b/next-lib/src/turkish/CatTur.gf @@ -5,8 +5,12 @@ concrete CatTur of Cat = CommonX ** open ResTur, Prelude in { lincat -- Noun + CN = {s : Number => Case => Str} ; NP = {s : Case => Str ; a : Agr} ; Pron = ResTur.Pron ; + Det = {s : Str; n : Number} ; + Num = {s : Str; n : Number} ; + Quant = {s : Str} ; -- Open lexical classes, e.g. Lexicon V, VS, VQ, VA = Verb ; diff --git a/next-lib/src/turkish/GrammarTur.gf b/next-lib/src/turkish/GrammarTur.gf index ca6feea69..8d6c94b9f 100644 --- a/next-lib/src/turkish/GrammarTur.gf +++ b/next-lib/src/turkish/GrammarTur.gf @@ -1,6 +1,7 @@ --# -path=.:../abstract:../common:prelude concrete GrammarTur of Grammar = + NounTur, NumeralTur, StructuralTur ** { diff --git a/next-lib/src/turkish/NounTur.gf b/next-lib/src/turkish/NounTur.gf new file mode 100644 index 000000000..d3e0528dc --- /dev/null +++ b/next-lib/src/turkish/NounTur.gf @@ -0,0 +1,27 @@ +concrete NounTur of Noun = CatTur ** open ResTur, Prelude in { + + flags optimize=all_subs ; + + lin + DetCN det cn = { + s = \\c => det.s ++ cn.s ! det.n ! c ; + a = agrP3 det.n + } ; + + DetQuant quant num = { + s = quant.s ++ num.s ; + n = num.n + } ; + + NumSg = {s = []; n = Sg} ; + NumPl = {s = []; n = Pl} ; + + DefArt = { + s = [] + } ; + IndefArt = { + s = [] + } ; + + UseN n = n ; +} diff --git a/next-lib/src/turkish/ResTur.gf b/next-lib/src/turkish/ResTur.gf index baacf68a7..abc574cab 100644 --- a/next-lib/src/turkish/ResTur.gf +++ b/next-lib/src/turkish/ResTur.gf @@ -17,6 +17,9 @@ resource ResTur = ParamX ** open Prelude, Predef in { Noun = {s : Number => Case => Str; gen : Number => Agr => Str} ; Pron = {s : Case => Str; a : Agr} ; + agrP3 : Number -> Agr ; + agrP3 n = {n = n; p = P3} ; + -- For $Verb$. param