worked on the Relative Pronoun (RP) found produced by the function IdRP

This commit is contained in:
David Bamutura
2019-05-05 16:01:46 +02:00
parent b18ffa9d0b
commit 7d49c87d1e
5 changed files with 288 additions and 57 deletions

View File

@@ -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

View File

@@ -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?

View File

@@ -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

View File

@@ -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{

View File

@@ -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
--