1
0
forked from GitHub/gf-rgl

Atempted at implementing all the remaining Functions under Noun.gf and its dependencies in CatCgg.gf, LexiconCgg.gf, ParadigmCgg.gf, StructuralCgg.gf and ResCgg.gf

This commit is contained in:
David Bamutura
2019-05-15 06:29:19 +02:00
parent 52639b0d3b
commit 08d1598319
6 changed files with 234 additions and 25 deletions
+76 -3
View File
@@ -346,7 +346,77 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
_ => mkClitic "SubjNotKnown" --for checking if there is some class unaccounted for
};
mkSubjCliticTableSg : Agreement => Str = table {
AgMUBAP1 Sg => mkClitic "n" ;
--AgMUBAP1 Pl => "tu" ;
AgMUBAP2 Sg => mkClitic "o" ;
--AgMUBAP2 Pl => "mu" ;
AgP3 Sg MU_BA => mkClitic "a";
--AgP3 Pl MU_BA => "ba" ;
AgP3 Sg KI_BI => mkClitic "ki" ;
--AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "bi" ;
AgP3 Sg (RU_N | RU_MA | RU_ZERO | RU_BU) => mkClitic "ru" ;
--AgP3 Pl RU_N => mkClitic "zi"; --| "i";
AgP3 Sg N_N => mkClitic "e";
--AgP3 Pl N_N => mkClitic "zi"; --| "i";
AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "gu" ;
--AgP3 Pl MU_MI => "e" ;
AgP3 Sg (RI_MA | RI_ZERO | I_ZERO) =>mkClitic "ri";
--AgP3 Pl (RI_MA | BU_MA | KU_MA | ZERO_MA | I_MA |RU_MA) => mkClitic "ga" ;
AgP3 Sg (KA_BU | KA_ZERO | KA_TU) => mkClitic "ka" ;
--AgP3 Pl (KA_BU | RU_BU) => mkClitic "bu" ;
AgP3 Sg ZERO_BU => mkClitic "bu" ;
--AgP3 Pl ZERO_BU => mkClitic "bu" ;
AgP3 Sg ZERO_BI => mkClitic "bi" ;
AgP3 Sg ZERO_MA => mkClitic "ga" ;
--AgP3 Pl RI_ZERO => mkClitic "ga" ;
AgP3 Sg KU_ZERO => mkClitic "ku" ;
--AgP3 Pl KU_ZERO => mkClitic "ku" ;
--AgP3 Pl MU_ZERO => mkClitic "gu" ;
--AgP3 Pl RU_ZERO => mkClitic "ru" ;
AgP3 Sg ZERO_TU => mkClitic "tu" ;
--AgP3 Pl ZERO_TU => mkClitic "tu" ;
AgP3 Sg (ZERO_MI | ZERO_ZERO) => mkClitic "" ;
--AgP3 Pl ZERO_MI => mkClitic "e" ;
--AgP3 Pl KA_ZERO => mkClitic "" ;
_ => mkClitic "Non-Signular" --for checking if there is some class unaccounted for
};
mkSubjCliticTablePl : Agreement => Str = table {
--AgMUBAP1 Sg => mkClitic "n" ;
AgMUBAP1 Pl => mkClitic "tu" ;
--AgMUBAP2 Sg => mkClitic "o" ;
AgMUBAP2 Pl => mkClitic "mu" ;
--AgP3 Sg MU_BA => mkClitic "a";
AgP3 Pl MU_BA => mkClitic "ba" ;
--AgP3 Sg KI_BI => mkClitic "ki" ;
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "bi" ;
--AgP3 Sg (RU_N | RU_MA | RU_ZERO | RU_BU) => mkClitic "ru" ;
AgP3 Pl RU_N => mkClitic "zi"; --| "i";
--AgP3 Sg N_N => mkClitic "e";
AgP3 Pl N_N => mkClitic "zi"; --| "i";
--AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "gu" ;
AgP3 Pl MU_MI => "e" ;
--AgP3 Sg (RI_MA | RI_ZERO | I_ZERO) =>mkClitic "ri";
AgP3 Pl (RI_MA | BU_MA | KU_MA | ZERO_MA | I_MA |RU_MA) => mkClitic "ga" ;
--AgP3 Sg (KA_BU | KA_ZERO | KA_TU) => mkClitic "ka" ;
AgP3 Pl (KA_BU | RU_BU) => mkClitic "bu" ;
--AgP3 Sg ZERO_BU => mkClitic "bu" ;
AgP3 Pl ZERO_BU => mkClitic "bu" ;
--AgP3 Sg ZERO_BI => mkClitic "bi" ;
--AgP3 Sg ZERO_MA => mkClitic "ga" ;
AgP3 Pl RI_ZERO => mkClitic "ga" ;
--AgP3 Sg KU_ZERO => mkClitic "ku" ;
AgP3 Pl KU_ZERO => mkClitic "ku" ;
AgP3 Pl MU_ZERO => mkClitic "gu" ;
AgP3 Pl RU_ZERO => mkClitic "ru" ;
--AgP3 Sg ZERO_TU => mkClitic "tu" ;
AgP3 Pl ZERO_TU => mkClitic "tu" ;
--AgP3 Sg (ZERO_MI | ZERO_ZERO) => mkClitic "" ;
AgP3 Pl ZERO_MI => mkClitic "e" ;
AgP3 Pl KA_ZERO => mkClitic "" ;
_ => mkClitic "Plural" --for checking if there is some class unaccounted for
};
{-Object particle may be used as
1. a prefix: e.g mu-kwate = catch him,
2. an infix: o-mu-kwate = you catch him
@@ -969,10 +1039,13 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
PolTemp = {s : Agreement => Str * Str ; end : Str} ; -- a tupple of two strings
-- Structural
Preposition = {s,other : Str}; -- prepositions sometimes have two kinds
mkPrep : Str -> Str -> Preposition = \ first, other -> {
-- prepositions sometimes have two kinds, near or far i.e omu or omuri
-- ho
Preposition = {s,other : Str; isGenPrep : Bool};
mkPrep : Str -> Str ->Bool -> Preposition = \ first, other, isGenPrep -> {
s = first ;
other = other
other = other;
isGenPrep = isGenPrep
};
NounPhrase : Type = {s :Case => Str; agr : Agreement};
{-