forked from GitHub/gf-rgl
=Changes to make additional Tenses work
This commit is contained in:
5
src/rukiga/AllCgg.gf
Normal file
5
src/rukiga/AllCgg.gf
Normal file
@@ -0,0 +1,5 @@
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
|
||||
concrete AllCgg of AllCggAbs =
|
||||
LangCgg, SentenceExtraCgg,LexiconExtraCgg
|
||||
** {} ;
|
||||
7
src/rukiga/AllCggAbs.gf
Normal file
7
src/rukiga/AllCggAbs.gf
Normal file
@@ -0,0 +1,7 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
abstract AllCggAbs =
|
||||
Lang,
|
||||
SentenceExtra,
|
||||
LexiconExtra
|
||||
** {} ;
|
||||
34
src/rukiga/LexiconExtra.gf
Normal file
34
src/rukiga/LexiconExtra.gf
Normal file
@@ -0,0 +1,34 @@
|
||||
abstract LexiconExtra =Cat **{
|
||||
|
||||
fun
|
||||
creator_PN : PN;
|
||||
jesus_PN : PN;
|
||||
lord_PN : PN;
|
||||
christ_PN : PN;
|
||||
paul_PN : PN;
|
||||
peter_PN : PN;
|
||||
--john_PN : PN;
|
||||
jerusalem_PN : PN;
|
||||
abraham_PN : PN;
|
||||
moses_PN : PN;
|
||||
simon_PN : PN;
|
||||
jacob_PN : PN;
|
||||
creator_PN : PN;
|
||||
satan_PN : PN;
|
||||
galilee_PN : PN;
|
||||
pilate_PN : PN;
|
||||
mary_PN : PN;
|
||||
david_PN : PN;
|
||||
jesus_teacher_PN : PN;
|
||||
angel_PN : PN;
|
||||
herod_PN : PN;
|
||||
isreal_PN : PN;
|
||||
judas_PN : PN;
|
||||
joseph_PN : PN;
|
||||
philip_PN : PN;
|
||||
barnabas_PN : PN;
|
||||
saul_PN : PN;
|
||||
elijah_PN : PN;
|
||||
egypt_PN : PN;
|
||||
|
||||
}
|
||||
34
src/rukiga/LexiconExtraCgg.gf
Normal file
34
src/rukiga/LexiconExtraCgg.gf
Normal file
@@ -0,0 +1,34 @@
|
||||
concrete LexiconExtraCgg of LexiconExtra = CatCgg **
|
||||
open ParadigmsCgg, ResCgg, Prelude in {
|
||||
|
||||
lin
|
||||
creator_PN = mkN "Ruhanga" ZERO_BAA;
|
||||
jesus_PN = mkN "Yesu" ZERO_BAA;
|
||||
lord_PN = mkN "Mukama" ZERO_BAA;
|
||||
christ_PN = mkN "Kristo" ZERO_BAA;
|
||||
paul_PN = mkN "Paulo" ZERO_BAA;
|
||||
peter_PN = mkN "Petero" ;
|
||||
john_PN = mkN "Yohana" ZERO_BAA;
|
||||
jerusalem_PN = mkN "Yerusalemu" ZERO_BAA;
|
||||
abraham_PN = mkN "Aburahamu" ZERO_BAA;
|
||||
moses_PN = mkN "Musa" ZERO_BAA;
|
||||
simon_PN = mkN "Simoni" ZERO_BAA;
|
||||
jacob_PN = mkN "Yakobo" ZERO_BAA;
|
||||
creator_PN = mkN "Nyakubaho" ZERO_ZERO;
|
||||
satan_PN = mkN "Sitaane" ZERO_ZERO;
|
||||
galilee_PN = mkN "Galilaaya" ZERO_ZAA;
|
||||
pilate (pontius)_PN = mkN "pilaato" ZERO_BAA;
|
||||
mary_PN = mkN "Mariya" ;
|
||||
david_PN = mkN "Daudi" ZERO_BAA;
|
||||
jesus_teacher_PN = mkN "Mwegyesa" ;
|
||||
angel_PN = mkN "Maraika" ZERO_BAA;
|
||||
herod_PN = mkN "Herode" ZERO_BAA;
|
||||
isreal_PN = mkN "Isiraeli" ZERO_ZAA;
|
||||
judas_PN = mkN "Yuda" ZERO_BAA;
|
||||
joseph_PN = mkN "Yosefu" ZERO_BAA;
|
||||
philip_PN = mkN "Filipo" ;
|
||||
barnabas_PN = mkN "Barinaba" ZERO_BAA;
|
||||
saul_PN = mkN "Saulo" ZERO_BA;
|
||||
elijah_PN = mkN "Eliya" ZERO_BAA;
|
||||
egypt_PN = mkN "Misiri" ZERO_ZAA;
|
||||
}
|
||||
9
src/rukiga/SentenceExtra.gf
Normal file
9
src/rukiga/SentenceExtra.gf
Normal file
@@ -0,0 +1,9 @@
|
||||
abstract SentenceExtra = Cat, TenseExtra ** {
|
||||
|
||||
fun
|
||||
UseClExtra : TempExtra -> Pol -> Cl ->S; -- Maria naagura
|
||||
|
||||
UseQClExtra : TempExtra -> Pol -> QCl -> QS ; -- Maria naagura?
|
||||
UseRClExtra : TempExtra -> Pol -> RCl -> RS ; -- ngu Maria naagura
|
||||
UseSlashExtra : TempExtra -> Pol -> ClSlash -> SSlash ; -- (ngu) Maria tiaagura = tyaagura
|
||||
}
|
||||
280
src/rukiga/SentenceExtraCgg.gf
Normal file
280
src/rukiga/SentenceExtraCgg.gf
Normal file
@@ -0,0 +1,280 @@
|
||||
concrete SentenceExtraCgg of SentenceExtra = CatCgg, TenseExtraCgg **
|
||||
open Prelude, ResCgg in {
|
||||
|
||||
|
||||
|
||||
lin
|
||||
UseClExtra temp pol cl = let
|
||||
subj = cl.s;
|
||||
vMorphs = mkVerbMorphs;
|
||||
clitic = mkSubjClitic cl.subjAgr;
|
||||
presSimul = vMorphs ! VFPres; --this is not delivering the string
|
||||
presAnt = vMorphs ! VFPastPart; --this is not delivering the string
|
||||
root = cl.root;
|
||||
presRestOfVerb = cl.pres;
|
||||
pastRestOfVerb = cl.perf; --morphs ! VFPastPart ! RestOfVerb;
|
||||
|
||||
compl = cl.compl
|
||||
|
||||
in
|
||||
case <temp.t, temp.a, Pos> of {
|
||||
<RemotePast, Performative,Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "ka" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Perfomative,Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ra" ++ Predef.BIND++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ra" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, (Perfect | Resultative),Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, (Perfect | Resultative),Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Retrospective, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++Predef.BIND ++ "aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++Predef.BIND ++ "aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Retrospective, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ Predef.BIND++ "ta" ++Predef.BIND ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ Predef.BIND++ "ta" ++Predef.BIND ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Habitual, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Habitual, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Progressive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "kaba ni" ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba ni" ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Progressive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta riku" ++Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta riku" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Persistive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++"kyaa" ++Predef.BIND++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++"kyaa" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemotePast, Persistive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta ki" ++Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaba" ++ clitic ++ "ta ki" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Performative,Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Performative,Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, (Perfect |Resultative),Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "baire" ++clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "baire" ++clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, (Perfect |Resultative),Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "baire" ++clitic ++ Predef.BIND ++"ta" ++ Predef.BIND++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++clitic ++ "baire" ++clitic ++ Predef.BIND ++"ta" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Retrospective,Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "bire" ++clitic ++"aa"++ Predef.BIND++ root ++ Predef.BIND ++ "ire" ++ compl}; --I had already bought
|
||||
False => {s = subj ++ clitic ++ "bire" ++clitic ++"aa"++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl} --I had already bought
|
||||
};
|
||||
<NearPast, Retrospective,Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "bire" ++clitic ++"ta ka"++ Predef.BIND++ Predef.BIND ++"ta" ++ Predef.BIND++ root ++ Predef.BIND ++ "ire" ++ compl};-- I had not yet bought
|
||||
False => {s = subj ++clitic ++ "bire" ++clitic ++"ta ka"++ Predef.BIND++ Predef.BIND ++"ta" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl} -- -- I had not yet bought
|
||||
};
|
||||
|
||||
<(NearPast | MemorialPres|ExpPres|NearFut), Habitual,Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<(NearPast | MemorialPres|ExpPres|NearFut), Habitual,Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Progressive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "beire ni" ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "beire ni" ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Progressive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "beire" ++ clitic ++ "ta riku" ++Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "beire" ++ clitic ++ "ta riku" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Persistive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "bire" ++ clitic ++ "kyaa" ++ Predef.BIND ++root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "bire" ++ clitic ++ "kyaa" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearPast, Persistive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "bire" ++ clitic ++ "ta ki" ++Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "bire" ++ clitic ++ "ta ki" ++Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Performative, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Performative, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "aa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, (Perfect | Resultative), Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "aba" ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aba" ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, (Perfect | Resultative), Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "aba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Restrospective, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "aaba" ++ clitic ++"aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba" ++ clitic ++"aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Restrospective, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Progressive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "aaba ni" ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba ni" ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Progressive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta riku"++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta riku"++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Persistive, Pos> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "kaa"++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "kaa"++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<MemorialPres, Persistive, Neg> => case cl.isPresBlank of{
|
||||
True => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta ki"++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "aaba" ++ clitic ++ "ta ki"++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Performative,(Pos|Neg)> =>{s="ImpossibleInLanguage"}; -- with GF could allow one to throw Error messages that can be caught
|
||||
<ExpPres, (Perfect |Resultative), Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, (Perfect |Resultative), Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++"ti"++Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++"ti"++Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Retrospective, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "naa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "naa" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Retrospective, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ka" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ka" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Progressive, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Progressive, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ri ku" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ri ku" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Persistive, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "kaa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "kaa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<ExpPres, Persistive, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ri ku" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "ri ku" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Performative, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za ku" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za ku" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
-- Uses the subjunctive e.g a + e = e
|
||||
<NearFut, Performative, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "raa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "e" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "raa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++Predef.BIND ++"e" ++ compl} -- my own way of performing the subjuctive i.e a+e =e
|
||||
};
|
||||
<NearFut, (Perfect | Resultative), Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "raaba" ++ clitic ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "raaba" ++ clitic ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, (Perfect | Resultative), Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "raaba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "raaba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Retrospective, Pos> =>case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ Predef.BIND ++ clitic ++ "aa" ++Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ Predef.BIND ++ clitic ++ "aa" ++Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Retrospective, Neg> =>case cl.isPerfBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ Predef.BIND ++ clitic ++ "taka" ++Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ Predef.BIND ++ clitic ++ "taka" ++Predef.BIND ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Progressive, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba ni" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba ni" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Progressive, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "tariku" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "tariku" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Persistive, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "kyaa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "kyaa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<NearFut, Persistive, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "taki" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++"za kuba" ++ clitic ++ "taki" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Performative, Pos> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "rya" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "rya" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Performative, Neg> => case cl.isPresBlank of {
|
||||
True => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "rya" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "rya" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, (Perfect | Resultative), Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, (Perfect | Resultative), Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "ta" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "ta" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Restrospective, Pos> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "aa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "aa"++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Restrospective, Neg> => case cl.isPerfBlank of {
|
||||
True => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "taka" ++ Predef.BIND ++ root ++ Predef.BIND ++ "ire" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "ryaba" ++ clitic ++ "taka" ++ Predef.BIND++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Habitual, Pos> =>case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "raa" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "raa" ++ Predef.BIND++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Habitual, Neg> =>{s="Non Existent. Can someone suggest?"};
|
||||
<RemoteFut, Progressive, Pos> =>case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "riba ni" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "riba ni" ++ Predef.BIND ++ clitic ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Progressive, Neg> =>case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "riba" ++ clitic ++ "ta riku" ++ Predef.BIND++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "riba" ++ clitic ++ "ta riku" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Persistive, Pos> =>case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "riba" ++ Predef.BIND ++ clitic ++"kya" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "riba" ++ Predef.BIND ++ clitic ++"kya" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
};
|
||||
<RemoteFut, Persistive, Neg> =>case cl.isPresBlank of {
|
||||
True => {s = subj ++ clitic ++ "riba" ++ Predef.BIND ++ clitic ++"taki" ++ Predef.BIND ++ root ++ Predef.BIND ++ "a" ++ compl};
|
||||
False => {s = subj ++ clitic ++ "riba" ++ Predef.BIND ++ clitic ++"taki" ++ Predef.BIND ++ root ++ Predef.BIND ++ presRestOfVerb ++ compl}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
26
src/rukiga/TenseExtra.gf
Normal file
26
src/rukiga/TenseExtra.gf
Normal file
@@ -0,0 +1,26 @@
|
||||
abstract TenseExtra = {
|
||||
cat
|
||||
TempExtra;
|
||||
TenseExtra;
|
||||
Asp;
|
||||
fun
|
||||
TTAsp : TenseExtra -> Asp -> TempExtra ; -- [combination of tense and Apect, e.g. ExPres Performative]
|
||||
|
||||
--PPos : Pol ; -- I sleep [positive polarity]
|
||||
--PNeg : Pol ; -- I don't sleep [negative polarity]
|
||||
|
||||
TExPres : TenseExtra ; -- I sleep/have slept [present]
|
||||
|
||||
TMPres : TenseExtra ; -- I slept [past, "imperfect"] --# notpresent
|
||||
TNFut : TenseExtra ; -- I will sleep [future] --# notpresent
|
||||
TNPast : TenseExtra ; -- I would sleep [conditional] --# notpresent
|
||||
TRPast : TenseExtra ;
|
||||
TRFut : TenseExtra ;
|
||||
APerform : Asp ; -- I sleep/slept [simultaneous, not compound]
|
||||
APerf : Asp ; -- I have slept/had slept [anterior, "compound", "perfect"] --# notpresent
|
||||
AResult : Asp ;
|
||||
ARetrosp : Asp ;
|
||||
AHabitual : Asp ;
|
||||
AProg : Asp ;
|
||||
APersist : Asp ;
|
||||
}
|
||||
Reference in New Issue
Block a user