blob: 969a17bee308deaaaf6e8ee84e133c0301d83e26 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
resource ParadigmsTur = open
Predef,
Prelude,
ResTur
in {
oper
regV : Str -> Verb = \inf ->
let base : Str
= case inf of {
base+"mak" => base ;
base+"mek" => base
}
in { s = table {
VPres Sg P1 => harmony4 (harmony4 base "iyor") "im" ;
VPres Sg P2 => harmony4 (harmony4 base "iyor") "sin" ;
VPres Sg P3 => harmony4 base "iyor" ;
VPres Pl P1 => harmony4 (harmony4 base "iyor") "iz" ;
VPres Pl P2 => harmony4 (harmony4 (harmony4 base "iyor") "sin") "iz" ;
VPres Pl P3 => harmony4 (harmony4 base "iyor") "ler" ;
VPast Sg P1 => harmony4 base "dim" ;
VPast Sg P2 => harmony4 base "din" ;
VPast Sg P3 => harmony4 base "di" ;
VPast Pl P1 => harmony4 base "dik" ;
VPast Pl P2 => harmony4 (harmony4 base "din") "iz" ;
VPast Pl P3 => harmony4 base "diler" ;
VFuture Sg P1 => harmony4 (harmony2 base "ecek") "im" ;
VFuture Sg P2 => harmony4 (harmony2 base "ecek") "sin" ;
VFuture Sg P3 => harmony2 base "ecek" ;
VFuture Pl P1 => harmony4 (harmony2 base "ecek") "iz" ;
VFuture Pl P2 => harmony4 (harmony2 base "ecek") "siniz" ;
VFuture Pl P3 => harmony4 (harmony2 base "ecek") "ler" ;
VAorist Sg P1 => harmony4 base "im" ;
VAorist Sg P2 => harmony4 base "sin" ;
VAorist Sg P3 => base ;
VAorist Pl P1 => harmony4 base "iz" ;
VAorist Pl P2 => harmony4 (harmony4 base "sin") "iz" ;
VAorist Pl P3 => harmony4 base "ler" ;
VImperative => base ;
VInfinitive => inf
}
} ;
add_number : Number -> Str -> Str = \n,base ->
case n of {
Sg => base ;
Pl => harmony2 base "ler"
} ;
regN : Str -> Noun = \base -> {
s = \\n => table {
Nom => add_number n base ;
Acc => harmony4 (add_number n base) "i" ;
Dat => harmony2 (add_number n base) "e" ;
Gen => harmony4 (add_number n base) "in" ;
Loc => harmony2 (add_number n base) "de" ;
Ablat => add_number n base ;
Abess => add_number n base
} ;
gen = \\n => table {
{n=Sg; p=P1} => harmony4 (add_number n base) "im" ;
{n=Sg; p=P2} => harmony4 (add_number n base) "in" ;
{n=Sg; p=P3} => harmony4 (add_number n base) "i" ;
{n=Pl; p=P1} => harmony4 (add_number n base) "imiz" ;
{n=Pl; p=P2} => harmony4 (add_number n base) "iniz" ;
{n=Pl; p=P3} => harmony4 (add_number n base) "i"
}
} ;
}
|