mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-10-29 10:23:18 -06:00
extensions from Codex
This commit is contained in:
1 parent
52790d5b43
commit
1cef16870e
36 files changed
+864
-236
No files matched your search
@@ -1,2 +1,2 @@
|
||||
concrete CatGus of Cat = CommonX - [Pol]
|
||||
concrete CatGus of Cat = CommonX
|
||||
** CatBantu with (ResBantu = ResGus);
|
||||
@@ -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,4 +1,4 @@
|
||||
--# -path=.:../abstract:../common:../api
|
||||
--# -path=.:../abstract:../common:../bantu
|
||||
|
||||
concrete LangGus of Lang =
|
||||
GrammarGus,
|
||||
|
||||
+10
-10
@@ -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";
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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) ;
|
||||
|
||||
Reference in new issue
Block a user