diff options
| author | krasimir <krasimir@chalmers.se> | 2009-03-27 08:43:43 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2009-03-27 08:43:43 +0000 |
| commit | 587549a871b86559c3e69b399e56a73e708dfd44 (patch) | |
| tree | b4ae65b57752c3f0801d63ddc14f9f586fbf420e /next-lib/src/turkish/ResTur.gf | |
| parent | 5ced40f789bc8ef4ec824e6dca4aeb856bf5eac9 (diff) | |
some fragments of Turkish noun morphology
Diffstat (limited to 'next-lib/src/turkish/ResTur.gf')
| -rw-r--r-- | next-lib/src/turkish/ResTur.gf | 27 |
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 { |
