1
0
forked from GitHub/gf-rgl

Merge branch 'master' into master

This commit is contained in:
kitukb
2018-11-29 16:47:13 +03:00
committed by GitHub
153 changed files with 7454 additions and 194712 deletions

View File

@@ -21,7 +21,9 @@ incomplete concrete AdjectiveBantu of Adjective =
} ;
ComplA2 a np = {
s = \\g,n => a.s !AComp g n ++ a.c2 ++ np.s ! NCase Nom;
isPre = False
} ;
ReflA2 a ={

View File

@@ -13,8 +13,10 @@ incomplete concrete AdverbBantu of Adverb =
} ;
PrepNP prep np = let agr = complAgr np.a
in {s = prep.s!agr.n!agr.g ++ (np.s ! NCase Loc ) } ;
AdAdv = cc2 ;
PositAdAAdj a = {s = a.s !AAdj G1 Sg } ;

View File

@@ -12,7 +12,9 @@ resource CommonBantu = ParamX ** open Prelude in {
param
Case = Nom | Loc ;
NPCase = NCase Case | NPoss ;
CardOrd = NCard | NOrd ;
oper

View File

@@ -4,10 +4,11 @@ interface DiffBantu = open CommonBantu, Prelude in {
flags coding=utf8 ;
oper
Gender : PType ;
firstGender : Gender ;
secondGender : Gender ; -- G2
secondGender : Gender ; -- G2
Noun : Type = {s : Number => Case => Str ; g : Gender};
CNoun : Type = {s : Number => Case => Str ; g : Gender; s2 : Number => Str};
@@ -37,8 +38,10 @@ oper
} ;
verbAgr : Agr -> {g : Gender ; n : Number ; p : Person} = \a -> case a of {
Ag g n p => {g = g ; n = n ; p = p}
} ; --
detAgr : Agr -> {g : Gender ; p : Person} = \a -> case a of {
Ag g _ p => {g = g; p = p}
} ;
@@ -70,6 +73,7 @@ param
DetForm = Sub | Obj Gender ;
oper
conjThan : Str ; --one of them in bantu
conjThat : Str ;
@@ -82,8 +86,10 @@ param
DForm ;
AForm;
oper
ProunSgprefix : Gender -> Str ;
ProunPlprefix : Gender -> Str ;
Cardoneprefix : Gender -> Str;
Cardtwoprefix : Gender -> Str;
Allpredetprefix : Gender -> Str;

View File

@@ -23,7 +23,9 @@ lin
n=agr.n; g=agr.g
in {s = table {
NCase c => pron.s!Pers ;
NPoss => pron.s!Poss n g };
a = Ag agr.g agr.n agr.p;
} ;
-- Predet -> NP -> NP
@@ -140,11 +142,13 @@ lin
-- PossNP : CN -> NP -> CN
-- e.g. 'house of Paris', 'house of mine'
PossNP cn np =let agr = detAgr np.a in
{s = \\n,c => cn.s ! n ! Nom ++ possess_Prep.s! n!cn.g ++ np.s ! NPoss;
s2 =\\n => []; g = cn.g} ;
-- PartNP : CN -> NP -> CN
-- e.g. 'glass of wine'
PartNP cn np = {s = \\n,c => cn.s ! n ! Nom ++ part_Prep.s! n!cn.g ++ np.s ! NCase Nom ; s2 =\\n => []; g = cn.g} ;
-- CountNP : Det -> NP -> NP
-- e.g. 'three of them', 'some of the boys'
@@ -161,8 +165,10 @@ lin
DetDAP d = { s=d.s; n=d.n };
-- ApposCN cn np = let agr = complAgr np.a in
-- {s = \\n,c => np.s ! NCase Nom --++ possess_Prep.s!n!agr.g
-- ++ cn.s !n ! Nom ; s2 =\\n => ""; g = cn.g} ;
}

View File

@@ -18,7 +18,9 @@ oper
{s : NPCase => Str ; a : Agr} = \i,my,g,n,p ->
{ s = table {
NCase Nom => i ;
NCase Loc | NPoss => my -- works for normal genitives, "whose", etc.
} ;
a = Ag g n p ;
};