forked from GitHub/gf-rgl
worked on the Relative Pronoun (RP) found produced by the function IdRP
This commit is contained in:
@@ -29,7 +29,7 @@ lincat
|
||||
NP = Res.NounPhrase; -- noun phrase (subject or object) e.g. "the red house"
|
||||
Pron = Res.Pronoun ; -- personal pronoun e.g. "she"
|
||||
Det = Res.Determiner ; -- determiner phrase e.g. "those seven"
|
||||
Quant = SS ; -- quantifier ('nucleus' of Det) e.g. "this/these"
|
||||
Quant = {s : Str ; s2 :Res.Agreement => Str; doesAgree : Bool} ; -- quantifier ('nucleus' of Det) e.g. "this/these"
|
||||
Num = Res.Numer ; -- number determining element e.g. "seven"
|
||||
AP = {s : Str ; post : Str; isPre : Bool; isProper : Bool; isPrep: Bool} ;--Res.AdjectivalPhrase;
|
||||
A = Res.Adjective;
|
||||
@@ -41,6 +41,8 @@ lincat
|
||||
Conj = Res.Conjunction; -- Conjunction: Type = {s : AgrConj =>Str ;s2 : Str ; n : Number} ; -- conjunction e.g. "and"
|
||||
-- see Structural for explanation of this structure
|
||||
Predet = {s : Str ; s2 : Str; isMWE : Bool; isInflected : Bool}; -- predeterminer (prefixed Quant) e.g. "all"
|
||||
RP = {s : Res.RCase => Res.Agreement => Str ; rObjVariant2: Res.Agreement => Str} ;
|
||||
|
||||
{-
|
||||
--1 Cat: the Category System
|
||||
|
||||
|
||||
@@ -75,6 +75,8 @@ lin
|
||||
--AdvNP : NP -> Adv -> NP ; -- Paris today
|
||||
AdvNP np adv = {s= \\c => np.s ! c ++ adv.s; agr = np.agr };
|
||||
--PPartNP : NP -> V2 -> NP ; -- the man seen use the Passive form of the verb see. abantu abarebirwe
|
||||
PPartNP np v2 =
|
||||
{s= \\c => np.s!c ++ mkSubjClitic np.agr ++ v2.s ++ Predef.BIND ++ v2.morphs!VFPastPart!RestOfVerb; agr = np.agr};
|
||||
|
||||
{-What the hell does this mean?-}
|
||||
ExtAdvNP np adv = {s= \\c => np.s ! c ++ embedInCommas adv.s; agr = np.agr}; -- how do I do the adverbial clause?
|
||||
|
||||
@@ -2,6 +2,26 @@
|
||||
|
||||
concrete RelativeCgg of Relative = CatCgg ** open ResCgg in {
|
||||
|
||||
{-
|
||||
--IdRP : RP ; -- which
|
||||
|
||||
Apparently IdRP means Identity Relative Pronoun i.e. the most atomic part
|
||||
of a relative pronoun. The abstract syntax seems to alude that more
|
||||
Relative pronouns can be formed when such a relative subject or object marker is affixed to
|
||||
a prepositional Phrase.
|
||||
In Runynakore and Rukiga, relative pronouns depend on
|
||||
Noun Class , Gender and the case of the noun they
|
||||
refer to.
|
||||
|
||||
Since this involves a table of two tables, we use ResCgg to prepare all possibilities
|
||||
|
||||
|
||||
-}
|
||||
|
||||
IdRP = {s = mkmkRPs; rObjVariant2 = mkRObjV2}; --: RP ; -- which
|
||||
|
||||
|
||||
|
||||
{-
|
||||
--1 Relative clauses and pronouns
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ param
|
||||
RI_ZERO | KU_ZERO | MU_ZERO | RU_ZERO |
|
||||
KA_ZERO |ZERO_BAA | N_ZERO;
|
||||
Case = Acc | Nom ; -- we need to include Gen because we shall need it with Gen Pronouns
|
||||
|
||||
RCase = RSuj | RObj |RGen;
|
||||
PersonalPronounType = SubjM | Obj | RelSubj | RelObj |
|
||||
AdjPron2 | -- aAdjectival Prefixes with initial vowel with the semantics of "the" e.g. -- omuntu o-mu-rungi
|
||||
AdjPron | -- without initial vowel i.e. -- omuntu mu-rungi
|
||||
@@ -46,7 +46,7 @@ param
|
||||
Agreement = AgP3 Number Gender | AgMUBAP1 Number |AgMUBAP2 Number ;
|
||||
AgrExist = AgrNo | AgrYes Agreement;
|
||||
Position = PostDeterminer | PreDeterminer ;
|
||||
|
||||
Variants = V1|V2;
|
||||
--Functional forms of the regular verb
|
||||
Mood = Infinitive | Imperative | Subjunctive | Perfective;
|
||||
VerbCat = Simple | Prepositional | Causative;
|
||||
@@ -441,38 +441,140 @@ oper
|
||||
_ => mkClitic "XXXPredPref" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
-- TThis is for demonstrative pronouns which can also be use as Quantifiers
|
||||
-- How can it be done without code repeation?
|
||||
mkThese = table{
|
||||
--AgMUBAP1 Sg => mkClitic "ogu";
|
||||
AgMUBAP1 Pl => mkClitic "aba" ;
|
||||
--AgMUBAP2 Sg => mkClitic "ogu"; --probably an error check your grammar book
|
||||
AgMUBAP2 Pl => mkClitic "aba" ;
|
||||
--AgP3 Sg MU_BA => mkClitic "ogu";
|
||||
AgP3 Pl MU_BA => mkClitic "aba" ;
|
||||
AgP3 Pl ZERO_BU => mkClitic "obu" ;
|
||||
--AgP3 Sg BU_MA => mkClitic "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "aga";
|
||||
AgP3 ( Pl) HA => mkClitic "aha" ; -- of place HA
|
||||
AgP3 ( Pl) MU => mkClitic "omu" ; -- of place MU
|
||||
AgP3 ( Pl) KU => mkClitic "oku" ; -- of place KU
|
||||
--AgP3 Sg (I_ZERO | I_MA | RI_MA) =>mkClitic "eri" ;
|
||||
--AgP3 Sg (KA_ZERO | KA_BU) =>mkClitic "aka" ;
|
||||
--AgP3 Sg KI_BI => mkClitic "eki" ;
|
||||
--AgP3 Sg (KU_ZERO | KU_MA) => mkClitic "oku" ;
|
||||
--AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "ogu" ;
|
||||
--AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => mkClitic "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) =>mkClitic "otu" ;
|
||||
--AgP3 Sg (ZERO_ZERO | N_N) =>mkClitic "egi" ;
|
||||
AgP3 Pl ZERO_MI =>mkClitic "egi" ;
|
||||
AgP3 Pl MU_MI => mkClitic "egi";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) =>mkClitic "ezi" ;
|
||||
--AgP3 Sg GU_GA => mkClitic "ogu" ;
|
||||
AgP3 Pl GU_GA => mkClitic "aga" ;
|
||||
_ => mkClitic "XXXThese" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
-- TThis is for demonstrative pronouns which can also be use as Quantifiers
|
||||
-- How can it be done without code repeation?
|
||||
mkThisTheseQuantorDem :Agreement -> Str = \a -> case a of {
|
||||
AgMUBAP1 n => mkClitics "ogu" "aba" n;
|
||||
--AgMUBAP1 Pl => "aba" ;
|
||||
AgMUBAP2 n => mkClitics "ogu" "aba" n; --probably an error check your grammar book
|
||||
--AgMUBAP2 Pl => "aba" ;
|
||||
AgP3 n MU_BA => mkClitics "ogu" "aba" n;
|
||||
--AgP3 Pl MU_BA => "aba" ;
|
||||
AgP3 Pl ZERO_BU => mkClitic "obu" ;
|
||||
AgP3 Sg BU_MA => mkClitic "bwo" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => mkClitic "bwo" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "byo" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "go";
|
||||
AgP3 (Sg | Pl) HA => mkClitic "ho" ; -- of place HA
|
||||
AgP3 (Sg | Pl) MU => mkClitic "mwo" ; -- of place MU
|
||||
AgP3 (Sg | Pl) KU => mkClitic "yo" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) =>mkClitic "ryo" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) =>mkClitic "ko" ;
|
||||
AgP3 Sg KI_BI => mkClitic "kyo" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => mkClitic "kwo" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "gwo" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => mkClitic "rwo" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) =>mkClitic "two" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) =>mkClitic "yo" ;
|
||||
AgP3 Pl ZERO_MI =>mkClitic "yo" ;
|
||||
AgP3 Pl MU_MI => mkClitic "yo";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) =>mkClitic "zo" ;
|
||||
AgP3 Sg GU_GA => mkClitic "gwo" ;
|
||||
AgP3 Pl GU_GA => mkClitic "go" ;
|
||||
_ => mkClitic "XXXThis_That" -- error checking for any case not catered for
|
||||
mkThis = table{
|
||||
AgMUBAP1 Sg => mkClitic "ogu";
|
||||
--AgMUBAP1 Pl => mkClitic "aba" ;
|
||||
AgMUBAP2 Sg => mkClitic "ogu"; --probably an error check your grammar book
|
||||
--AgMUBAP2 Pl => mkClitic "aba" ;
|
||||
AgP3 Sg MU_BA => mkClitic "ogu";
|
||||
--AgP3 Pl MU_BA => mkClitic "aba" ;
|
||||
--AgP3 Pl ZERO_BU => mkClitic "obu" ;
|
||||
AgP3 Sg BU_MA => mkClitic "obu" ;
|
||||
--AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||
--AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||
--AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "aga";
|
||||
AgP3 (Sg ) HA => mkClitic "aha" ; -- of place HA
|
||||
AgP3 (Sg ) MU => mkClitic "omu" ; -- of place MU
|
||||
AgP3 (Sg ) KU => mkClitic "oku" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) =>mkClitic "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) =>mkClitic "aka" ;
|
||||
AgP3 Sg KI_BI => mkClitic "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => mkClitic "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => mkClitic "oru" ;
|
||||
--AgP3 Pl (ZERO_TU | KA_TU) =>mkClitic "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) =>mkClitic "egi" ;
|
||||
--AgP3 Pl ZERO_MI =>mkClitic "egi" ;
|
||||
--AgP3 Pl MU_MI => mkClitic "egi";
|
||||
--AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) =>mkClitic "ezi" ;
|
||||
AgP3 Sg GU_GA => mkClitic "ogu" ;
|
||||
--AgP3 Pl GU_GA => mkClitic "aga" ;
|
||||
_ => mkClitic "XXXThis" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
-- TThis is for demonstrative pronouns which can also be use as Quantifiers
|
||||
-- How can it be done without code repeation?
|
||||
mkThose = table{
|
||||
--AgMUBAP1 Sg => mkClitic "ogu";
|
||||
AgMUBAP1 Pl => mkClitic "abo" ;
|
||||
--AgMUBAP2 Sg => mkClitic "ogu"; --probably an error check your grammar book
|
||||
AgMUBAP2 Pl => mkClitic "abo" ;
|
||||
--AgP3 Sg MU_BA => mkClitic "ogu";
|
||||
AgP3 Pl MU_BA => mkClitic "abo" ;
|
||||
AgP3 Pl ZERO_BU => mkClitic "obwo" ;
|
||||
--AgP3 Sg BU_MA => mkClitic "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => mkClitic "obwo" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebyo" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "ago";
|
||||
AgP3 ( Pl) HA => mkClitic "aho" ; -- of place HA
|
||||
AgP3 ( Pl) MU => mkClitic "omwo" ; -- of place MU
|
||||
AgP3 ( Pl) KU => mkClitic "okwo" ; -- of place KU
|
||||
--AgP3 Sg (I_ZERO | I_MA | RI_MA) =>mkClitic "eri" ;
|
||||
--AgP3 Sg (KA_ZERO | KA_BU) =>mkClitic "aka" ;
|
||||
--AgP3 Sg KI_BI => mkClitic "eki" ;
|
||||
--AgP3 Sg (KU_ZERO | KU_MA) => mkClitic "oku" ;
|
||||
--AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "ogu" ;
|
||||
--AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => mkClitic "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) =>mkClitic "otwo" ;
|
||||
--AgP3 Sg (ZERO_ZERO | N_N) =>mkClitic "egi" ;
|
||||
AgP3 Pl ZERO_MI =>mkClitic "egyo" ;
|
||||
AgP3 Pl MU_MI => mkClitic "egyo";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) =>mkClitic "ezo" ;
|
||||
--AgP3 Sg GU_GA => mkClitic "ogu" ;
|
||||
AgP3 Pl GU_GA => mkClitic "ago" ;
|
||||
_ => mkClitic "XXXThose" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
-- TThis is for demonstrative pronouns which can also be use as Quantifiers
|
||||
-- How can it be done without code repeation?
|
||||
mkThat = table {
|
||||
AgMUBAP1 Sg => mkClitic "ogwo";
|
||||
--AgMUBAP1 Pl => mkClitic "aba" ;
|
||||
AgMUBAP2 Sg => mkClitic "ogu"; --probably an error check your grammar book
|
||||
--AgMUBAP2 Pl => mkClitic "aba" ;
|
||||
AgP3 Sg MU_BA => mkClitic "ogu";
|
||||
--AgP3 Pl MU_BA => mkClitic "aba" ;
|
||||
--AgP3 Pl ZERO_BU => mkClitic "obu" ;
|
||||
AgP3 Sg BU_MA => mkClitic "obwo" ;
|
||||
--AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||
--AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||
--AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "aga";
|
||||
AgP3 (Sg ) HA => mkClitic "aho" ; -- of place HA
|
||||
AgP3 (Sg ) MU => mkClitic "omwo" ; -- of place MU
|
||||
AgP3 (Sg ) KU => mkClitic "okwo" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) =>mkClitic "eryo" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) =>mkClitic "ako" ;
|
||||
AgP3 Sg KI_BI => mkClitic "ekyo" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => mkClitic "okwo" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "ogwo" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => mkClitic "orwo" ;
|
||||
--AgP3 Pl (ZERO_TU | KA_TU) =>mkClitic "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) =>mkClitic "egyo" ;
|
||||
--AgP3 Pl ZERO_MI =>mkClitic "egi" ;
|
||||
--AgP3 Pl MU_MI => mkClitic "egi";
|
||||
--AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) =>mkClitic "ezi" ;
|
||||
AgP3 Sg GU_GA => mkClitic "ogwo" ;
|
||||
--AgP3 Pl GU_GA => mkClitic "aga" ;
|
||||
_ => mkClitic "XXXThat" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
@@ -540,6 +642,103 @@ oper
|
||||
|
||||
};
|
||||
|
||||
mkRPs : RCase => Agreement =>Str = table{
|
||||
RSubj => table {
|
||||
AgMUBAP1 Sg => mkClitic "o";
|
||||
AgMUBAP1 Pl => mkClitic "aba" ;
|
||||
AgMUBAP2 Sg => mkClitic "o";
|
||||
AgMUBAP2 Pl => mkClitic "aba" ;
|
||||
AgP3 Sg MU_BA => mkClitic "o";
|
||||
AgP3 Pl MU_BA => mkClitic "aba" ;
|
||||
AgP3 Pl ZERO_BU => mkClitic "obu" ;
|
||||
AgP3 Sg BU_MA => mkClitic "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "aga";
|
||||
AgP3 (Sg ) HA => mkClitic "aha" ; -- of place HA
|
||||
AgP3 (Sg ) MU => mkClitic "aha" ; -- of place MU
|
||||
AgP3 (Sg ) KU => mkClitic "e" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) =>mkClitic "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) =>mkClitic "aka" ;
|
||||
AgP3 Sg KI_BI => mkClitic "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => mkClitic "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => mkClitic "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) =>mkClitic "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) =>mkClitic "e" ;
|
||||
AgP3 Pl ZERO_MI =>mkClitic "e" ;
|
||||
AgP3 Pl MU_MI => mkClitic "e";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) =>mkClitic "ezi" ;
|
||||
AgP3 Sg GU_GA => mkClitic "ogu" ;
|
||||
AgP3 Pl GU_GA => mkClitic "aga" ;
|
||||
_ => mkClitic "XXXThat" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
RObj => table {
|
||||
AgMUBAP1 Sg => mkClitic "ou";
|
||||
AgMUBAP1 Pl => mkClitic "abu" ; --note: abu or abi is used. GF does not allow free variation. However, abu is more natural
|
||||
AgMUBAP2 Sg => mkClitic "ou"; --probably an error check your grammar book
|
||||
AgMUBAP2 Pl => mkClitic "abu" ;
|
||||
AgP3 Sg MU_BA => mkClitic "o";
|
||||
AgP3 Pl MU_BA => mkClitic "abu" ;
|
||||
AgP3 Pl ZERO_BU => mkClitic "obu" ;
|
||||
AgP3 Sg BU_MA => mkClitic "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "agu";
|
||||
AgP3 (Sg ) HA => mkClitic "ahu" ; -- of place HA
|
||||
AgP3 (Sg ) MU => mkClitic "ahu" ; -- of place MU
|
||||
AgP3 (Sg ) KU => mkClitic "ei" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) =>mkClitic "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) =>mkClitic "aku" ;
|
||||
AgP3 Sg KI_BI => mkClitic "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => mkClitic "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => mkClitic "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) =>mkClitic "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) =>mkClitic "ei" ;
|
||||
AgP3 Pl ZERO_MI =>mkClitic "ei" ;
|
||||
AgP3 Pl MU_MI => mkClitic "ei";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) =>mkClitic "ezi" ;
|
||||
AgP3 Sg GU_GA => mkClitic "ogu" ;
|
||||
AgP3 Pl GU_GA => mkClitic "agu" ;
|
||||
_ => mkClitic "XXXThat" -- error checking for any case not catered for
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
mkRObjV2 : Agreement=> Str =table {
|
||||
AgMUBAP1 Sg => mkClitic "ou";
|
||||
AgMUBAP1 Pl => mkClitic "abi" ; --note: abu or abi is used. GF does not allow free variation. However, abu is more natural
|
||||
AgMUBAP2 Sg => mkClitic "ou"; --probably an error check your grammar book
|
||||
AgMUBAP2 Pl => mkClitic "abi" ;
|
||||
AgP3 Sg MU_BA => mkClitic "ou";
|
||||
AgP3 Pl MU_BA => mkClitic "abi" ;
|
||||
AgP3 Pl ZERO_BU => mkClitic "obu" ;
|
||||
AgP3 Sg BU_MA => mkClitic "obu" ;
|
||||
AgP3 Pl (KA_BU | RU_BU) => mkClitic "obu" ;
|
||||
AgP3 Pl (KI_BI | ZERO_BI) => mkClitic "ebi" ;
|
||||
AgP3 Pl (ZERO_MA | KU_MA | RI_MA | I_MA | BU_MA) => mkClitic "agi";
|
||||
AgP3 (Sg ) HA => mkClitic "ahi" ; -- of place HA
|
||||
AgP3 (Sg ) MU => mkClitic "ahu" ; -- of place MU
|
||||
AgP3 (Sg ) KU => mkClitic "ei" ; -- of place KU
|
||||
AgP3 Sg (I_ZERO | I_MA | RI_MA) =>mkClitic "eri" ;
|
||||
AgP3 Sg (KA_ZERO | KA_BU) =>mkClitic "aki" ;
|
||||
AgP3 Sg KI_BI => mkClitic "eki" ;
|
||||
AgP3 Sg (KU_ZERO | KU_MA) => mkClitic "oku" ;
|
||||
AgP3 Sg (MU_MI | MU_ZERO) => mkClitic "ogu" ;
|
||||
AgP3 Sg (RU_ZERO | RU_BU | RU_MA| RU_N) => mkClitic "oru" ;
|
||||
AgP3 Pl (ZERO_TU | KA_TU) =>mkClitic "otu" ;
|
||||
AgP3 Sg (ZERO_ZERO | N_N) =>mkClitic "ei" ;
|
||||
AgP3 Pl ZERO_MI =>mkClitic "ei" ;
|
||||
AgP3 Pl MU_MI => mkClitic "ei";
|
||||
AgP3 Pl (ZERO_ZERO | ZERO_N | N_N | RU_N) =>mkClitic "ezi" ;
|
||||
AgP3 Sg GU_GA => mkClitic "ogu" ;
|
||||
AgP3 Pl GU_GA => mkClitic "agi" ;
|
||||
_ => mkClitic "XXXThat" -- error checking for any case not catered for
|
||||
|
||||
};
|
||||
|
||||
-- type for Determier necessary for catCgg.gf
|
||||
Determiner : Type = {s : Str ; ntype : NounState ; num : Number ; pos : Position };
|
||||
mkDet : Str -> NounState -> Number -> Position -> Determiner
|
||||
@@ -736,18 +935,18 @@ oper
|
||||
--IDobjM => [];
|
||||
RestOfVerb =>"a"
|
||||
};
|
||||
VFPastPart => table{
|
||||
PreVerb => [];
|
||||
PriNegM => [];
|
||||
--ObjRel => [];
|
||||
--SubjMarker =[];
|
||||
SecNegM => "ta";
|
||||
TAMarker => "ku";
|
||||
PersistiveMarker => [];
|
||||
--DObjM => [];
|
||||
--IDobjM => [];
|
||||
RestOfVerb =>"a"
|
||||
};
|
||||
VFPastPart => table{
|
||||
PreVerb => [];
|
||||
PriNegM => [];
|
||||
--ObjRel => [];
|
||||
--SubjMarker =[];
|
||||
SecNegM => "ta";
|
||||
TAMarker => "ku";
|
||||
PersistiveMarker => [];
|
||||
--DObjM => [];
|
||||
--IDobjM => [];
|
||||
RestOfVerb =>"irwe"
|
||||
};
|
||||
|
||||
--mkVerbPast:Str -> Str =\root -> Predef.BIND ++"ti" ++ Predef.BIND ++ "PriNegM" ++ Predef.BIND ++ "TM1" ++ Predef.BIND ++ "Empy" ++ Predef.BIND ++ "TM2" ++ Predef.BIND ++ "Empty" ++ Predef.BIND ++ "stem" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire";
|
||||
VFPast => table{
|
||||
|
||||
@@ -3,6 +3,16 @@
|
||||
concrete StructuralCgg of Structural = CatCgg **
|
||||
open ResCgg, ParadigmsCgg, (C = ConstructX), Prelude in {
|
||||
|
||||
|
||||
{-variants
|
||||
NOTE: Please add them to the abstract syntax, ask aarne
|
||||
or creat you own abstract Lexicon which inherits from the
|
||||
standard one. See how english does it. i.e. use DictCggAbs.gf for the funs.
|
||||
and DictCgg.gf for the lins.
|
||||
|
||||
Actually use and extend module for Structural
|
||||
-}
|
||||
|
||||
lin
|
||||
|
||||
a_Det = {s =[] ; ntype = Complete; num = Sg; pos = PreDeterminer}; --: Det ; indefinite singular ---s
|
||||
@@ -119,22 +129,20 @@ here_Adv = {s = "hanu"; agr = AgrNo};
|
||||
{-End of Adverbs Adverbs-}
|
||||
|
||||
{-Begining of Quantifiers-}
|
||||
|
||||
{-End of Quantifiers-}
|
||||
|
||||
{-variants
|
||||
NOTE: Please add them to the abstract syntax, ask aarne
|
||||
or creat you own abstract Lexicon which inherits from the
|
||||
standard one. See how english does it. i.e. use DictCggAbs.gf for the funs.
|
||||
and DictCgg.gf for the lins.
|
||||
|
||||
Actually use and extend module for Structural
|
||||
-}
|
||||
|
||||
{-
|
||||
For DetQuant function to work, we need sample quatitifiers in Runynakore. Roximal, Medial, Distant
|
||||
For DetQuant function to work, we need sample quatitifiers in Runynakore. Proximal, Medial, Distant
|
||||
We need a table to provide all of these.
|
||||
-}
|
||||
that_Quant = {s =[]; s2 = mkThat; doesAgree = True}; --: Quant ;
|
||||
this_Quant = {s =[]; s2 = mkThis; doesAgree = True}; --: Quant ;
|
||||
these_Quant = {s =[]; s2 = mkThese; doesAgree = True};
|
||||
those_Quant = {s =[]; s2 = mkThose; doesAgree = True};
|
||||
no_Quant = {s ="tihariho"; s2 =\\_=> []; doesAgree = False};--: Quant ;
|
||||
{-End of Quantifiers-}
|
||||
|
||||
|
||||
|
||||
|
||||
{-
|
||||
--1 Structural: Structural Words
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user