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:
+76
-3
@@ -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};
|
||||
{-
|
||||
|
||||
Reference in New Issue
Block a user