next-lib renamed to lib, lib to old-lib

This commit is contained in:
aarne
2009-06-22 15:39:08 +00:00
parent 90bd07b1cf
commit 2116f41bc2
1433 changed files with 8 additions and 8 deletions

View File

@@ -0,0 +1,106 @@
--# -path=.:../abstract:../common:../../prelude
resource ResTur = ParamX ** open Prelude, Predef in {
--2 For $Noun$
param
Case = Nom | Acc | Dat | Gen | Loc | Ablat | Abess ;
Species = Indef | Def ;
VForm =
VPres Number Person
| VPast Number Person
| VFuture Number Person
| VAorist Number Person
| VImperative
| VInfinitive
;
oper
Agr = {n : Number ; p : Person} ;
-- For $Verb$.
Verb : Type = {
s : VForm => Str
} ;
--2 For $Numeral$
param
DForm = unit | ten ;
-- For $Numeral$.
oper
mkNum : Str -> Str -> {s : DForm => Str} =
\two, twenty ->
{s = table {
unit => two ;
ten => twenty
}
} ;
mkNP : (ben,beni,bana,banin,bende,benden:Str) -> Number -> Person ->
{s : Case => Str ; a : Agr} =
\ben,beni,bana,banin,bende,benden,n,p -> {
s = table {
Nom => ben ;
Acc => beni ;
Dat => bana ;
Gen => banin ;
Loc => bende ;
Abl => benden
} ;
a = {n=n; p=p} ;
} ;
oper
harmony4 : Str -> Str -> Str
= \base,suffix0 ->
let c : Str =
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"
} ;
h : Str =
case c of {
("ı"|"a") => "ı" ;
("i"|"e") => "i" ;
("u"|"o") => "u" ;
("ü"|"ö") => "ü"
} ;
suffix : Str =
case suffix0 of {
s1@(("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")*)
+ ("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")
+s2 => s1+h+s2 ;
s => s
}
in base + suffix ;
harmony2 : Str -> Str -> Str
= \base,suffix0 ->
let c : Str =
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"
} ;
h : Str =
case c of {
("ı"|"a") => "ı" ;
("i"|"e") => "i" ;
("u"|"o") => "u" ;
("ü"|"ö") => "ü"
} ;
suffix : Str =
case suffix0 of {
s1@(("b"|"v"|"d"|"z"|"j"|"c"|"g"|"ğ"|"l"|"r"|"m"|"n"|"y"|"p"|"f"|"t"|"s"|"ş"|"ç"|"k"|"h")*)
+ ("ı"|"a"|"i"|"e"|"u"|"o"|"ü"|"ö")
+s2 => s1+h+s2 ;
s => s
}
in base + suffix ;
}