extensions from Codex

This commit is contained in:
Krasimir Angelov committed 2026-10-14 08:34:11 +02:00
1 parent 52790d5b43
commit 1cef16870e
36 files changed
+864 -236

No files matched your search

+1 -1
View File
@@ -1,2 +1,2 @@
concrete CatGus of Cat = CommonX - [Pol]
concrete CatGus of Cat = CommonX
** CatBantu with (ResBantu = ResGus);
+1 -1
View File
@@ -232,7 +232,7 @@ ProunPlprefix : Gender -> Str = \g ->
param
VForm = VInf
VForm = VInf | VImp Number
| VPres Gender Number Person
| VPast Gender Number Person
| VFut Gender Number Person
+1 -1
View File
@@ -1,4 +1,4 @@
--# -path=.:../abstract:../common:../api
--# -path=.:../abstract:../common:../bantu
concrete LangGus of Lang =
GrammarGus,
+10 -10
View File
@@ -297,27 +297,27 @@ iregA : Str-> Str -> {s : AForm => Str} = \seo,seoo -> {
AAdj g Pl => seoo} };
regV : Str -> Verb =
\vika -> {
s = table{ True => table{
\vika -> let forms = table{ Pos => table{
VInf => vika;
VImp _ => vika;
VPres g n p => Verbprefix g n p + vika;
VPast g n p => Verbprefix g n p + init vika + "ie" ;
VFut g n p => Verbfutureprefix g n p + vika
} ;
False =>table {
Neg =>table {
VInf => "ndi" + vika;
VPres g n p => neg (Ag g n p) False Pres + "na" + vika ;
VPast g n p => neg (Ag g n p) False Past + "ne" + vika ;
VFut g n p => neg (Ag g n p) False Fut + "ka" + vika
VImp _ => "ndi" + vika;
VPres g n p => neg (Ag g n p) Neg Pres + "na" + vika ;
VPast g n p => neg (Ag g n p) Neg Past + "ne" + vika ;
VFut g n p => neg (Ag g n p) Neg Fut + "ka" + vika
}
};
};
} in {s = forms ; passive = forms};
neg : Agr -> Bool ->Tense -> Str = \a,b,t -> let
neg : Agr -> Polarity ->Tense -> Str = \a,b,t -> let
g = getGender a;
n=getNumber a;
p=getPerson a
in case b of {True => [] ; False => negprefix g n t p} ;
in case b of {Pos => [] ; Neg => negprefix g n t p} ;
negprefix : Gender -> Number -> Tense -> Person -> Str =\g,n,t,p-> case <g,n,t,p> of {
<G1,Sg,_,P1> => "ndi";
+2 -2
View File
@@ -1,4 +1,4 @@
concrete NumeralGus of Numeral = CatGus [Numeral,Digits] ** open Prelude,
concrete NumeralGus of Numeral = CatGus [Numeral,Digits,Decimal] ** open Prelude,
DiffGus,MorphoGus in {
lincat
@@ -74,7 +74,7 @@ lin pot3plus n m = { s = table {
PosDecimal d = d ** {hasDot=False} ;
NegDecimal d = {
s = \\o,g => "-" ++ BIND ++ d.s ! o ! g ;
n = Pl
n = Pl ;
hasDot=False
} ;
IFrac d i = {
+7 -4
View File
@@ -9,8 +9,8 @@ resource ParadigmsGus = open
in {
oper
Gender : Type ;
omo_aba : Gender ;--%
Gender : PType ;
omo_aba : Gender ;--%
omo_eme : Gender ;
e_ci : Gender ;
eri_ama : Gender ;
@@ -23,7 +23,7 @@ oper
-- To abstract over number names, we define the following.
Number : Type ;
Number : PType ;
singular : Number ;
plural : Number ;
@@ -396,7 +396,10 @@ mkN2 = overload {
};
prefixV : Str -> V -> V = \p,v -> lin V { s = \\b,vform => p + v.s! b ! vform } ;
prefixV : Str -> V -> V = \p,v -> lin V {
s = \\b,vform => p + v.s ! b ! vform ;
passive = \\b,vform => p + v.passive ! b ! vform
} ;
mkV2 = overload {
mkV2 : V -> V2 = dirV2 ;
mkV2 : Str -> V2 = \s -> dirV2 (regV s) ;