summaryrefslogtreecommitdiff
path: root/next-lib/src/turkish/ResTur.gf
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-03-27 08:43:43 +0000
committerkrasimir <krasimir@chalmers.se>2009-03-27 08:43:43 +0000
commit587549a871b86559c3e69b399e56a73e708dfd44 (patch)
treeb4ae65b57752c3f0801d63ddc14f9f586fbf420e /next-lib/src/turkish/ResTur.gf
parent5ced40f789bc8ef4ec824e6dca4aeb856bf5eac9 (diff)
some fragments of Turkish noun morphology
Diffstat (limited to 'next-lib/src/turkish/ResTur.gf')
-rw-r--r--next-lib/src/turkish/ResTur.gf27
1 files changed, 14 insertions, 13 deletions
diff --git a/next-lib/src/turkish/ResTur.gf b/next-lib/src/turkish/ResTur.gf
index 1fc1a8157..e2cb748c6 100644
--- a/next-lib/src/turkish/ResTur.gf
+++ b/next-lib/src/turkish/ResTur.gf
@@ -9,6 +9,14 @@ resource ResTur = ParamX ** open Prelude, Predef in {
Species = Indef | Def ;
+ oper
+ Agr = {n : Number ; p : Person} ;
+ Noun = {s : Number => Case => Str; gen : Number => Agr => Str} ;
+ Pron = {s : Case => Str; a : Agr} ;
+
+-- For $Verb$.
+
+ param
VForm =
VPres Number Person
| VPast Number Person
@@ -19,10 +27,6 @@ resource ResTur = ParamX ** open Prelude, Predef in {
;
oper
- Agr = {n : Number ; p : Person} ;
-
--- For $Verb$.
-
Verb : Type = {
s : VForm => Str
} ;
@@ -41,14 +45,13 @@ resource ResTur = ParamX ** open Prelude, Predef in {
}
} ;
- mkNP : (ben,beni,bana,banin,bende,benden:Str) -> Number -> Person ->
- {s : Case => Str ; a : Agr} =
- \ben,beni,bana,banin,bende,benden,n,p -> {
+ mkPron : (ben,beni,bana,banin,bende,benden:Str) -> Number -> Person -> Pron =
+ \ben,beni,bana,benim,bende,benden,n,p -> {
s = table {
Nom => ben ;
Acc => beni ;
Dat => bana ;
- Gen => banin ;
+ Gen => benim ;
Loc => bende ;
Abl => benden
} ;
@@ -86,14 +89,12 @@ resource ResTur = ParamX ** open Prelude, Predef in {
case base of {
_+c@("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")+
("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")* => c ;
- _ => error "harmony4"
+ _ => error "harmony2"
} ;
h : Str =
case c of {
- ("ı"|"a") => "ı" ;
- ("i"|"e") => "i" ;
- ("u"|"o") => "u" ;
- ("ü"|"ö") => "ü"
+ ("a"|"ı"|"u"|"o") => "a" ;
+ ("e"|"i"|"ü"|"ö") => "e"
} ;
suffix : Str =
case suffix0 of {