summaryrefslogtreecommitdiff
path: root/next-lib/src
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-05-07 10:28:47 +0000
committerkrasimir <krasimir@chalmers.se>2009-05-07 10:28:47 +0000
commit95d8fd3be47992a408599fc4874553dd32326cba (patch)
treefd38683198fd4690cc4854567f7c990092de94c2 /next-lib/src
parentb0cbba9e0de788a3c3ff5f3819aa6c91b140fe9f (diff)
Turkish: scratch the NP category
Diffstat (limited to 'next-lib/src')
-rw-r--r--next-lib/src/turkish/CatTur.gf4
-rw-r--r--next-lib/src/turkish/GrammarTur.gf1
-rw-r--r--next-lib/src/turkish/NounTur.gf27
-rw-r--r--next-lib/src/turkish/ResTur.gf3
4 files changed, 35 insertions, 0 deletions
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