forked from GitHub/gf-rgl
=ReImplemented UseCl to cater for all 3 Tense and 1 Coditional mood Form
This commit is contained in:
@@ -1223,10 +1223,10 @@ mkSubjPrefix : Agreement -> Str =\a ->case a of {
|
|||||||
};
|
};
|
||||||
VFPresPart => table{
|
VFPresPart => table{
|
||||||
PreVerb => [];
|
PreVerb => [];
|
||||||
PriNegM => "ti";
|
PriNegM => [];
|
||||||
--ObjRel => [];
|
--ObjRel => [];
|
||||||
--SubjMarker =[];
|
--SubjMarker =[];
|
||||||
SecNegM => [];
|
SecNegM => "ta";
|
||||||
TAMarker => "riku";
|
TAMarker => "riku";
|
||||||
PersistiveMarker => [];
|
PersistiveMarker => [];
|
||||||
--DObjM => [];
|
--DObjM => [];
|
||||||
|
|||||||
@@ -10,32 +10,71 @@ lin
|
|||||||
-- } ;
|
-- } ;
|
||||||
--2 Sentences
|
--2 Sentences
|
||||||
--UseCl : Temp -> Pol -> Cl -> S ; -- she had not slept
|
--UseCl : Temp -> Pol -> Cl -> S ; -- she had not slept
|
||||||
|
--Temp = {s : Str ; t : R.Tense ; a : R.Anteriority} ;
|
||||||
UseCl temp pol cl = let
|
UseCl temp pol cl = let
|
||||||
subj = cl.s;
|
subj = cl.s;
|
||||||
clitic = mkSubjClitic cl.subjAgr;
|
clitic = mkSubjClitic cl.subjAgr;
|
||||||
simul = cl.pres; --morphs ! VFPres; --this is not delivering the string
|
presSimul = cl.morphs ! VFPres; --this is not delivering the string
|
||||||
ant = cl.morphs ! VFPastPart; --this is not delivering the string
|
presAnt = cl.morphs ! VFPastPart; --this is not delivering the string
|
||||||
root = cl.root;
|
root = cl.root;
|
||||||
presRestOfVerb = cl.morphs ! VFPres ! RestOfVerb;
|
presRestOfVerb = cl.morphs ! VFPres ! RestOfVerb;
|
||||||
pastRestOfVerb = cl.perf; --morphs ! VFPastPart ! RestOfVerb;
|
pastRestOfVerb = cl.perf; --morphs ! VFPastPart ! RestOfVerb;
|
||||||
|
|
||||||
compl = cl.compl
|
compl = cl.compl
|
||||||
in
|
in
|
||||||
case <temp.a, pol.p> of {
|
case <temp.t,temp.a, pol.p> of {
|
||||||
<Simul, Pos> => {s = subj ++ clitic ++ --Predef.BIND ++
|
<Pres,Simul, Pos> => {s = subj ++ clitic ++ --Predef.BIND ++
|
||||||
root ++ Predef.BIND ++ presRestOfVerb ++ compl};
|
root ++ Predef.BIND ++ presRestOfVerb ++ compl};
|
||||||
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||||
<Simul, Neg> => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ --Predef.BIND ++
|
<Pres,Simul, Neg> => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ --Predef.BIND ++
|
||||||
root ++ presRestOfVerb ++ compl};
|
root ++ presRestOfVerb ++ compl};
|
||||||
<Anter, Pos> => {s = subj ++ clitic ++ --Predef.BIND ++
|
<Pres,Anter, Pos> => {s = subj ++ clitic ++ --Predef.BIND ++
|
||||||
ant!TAMarker ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl};
|
cl.morphs!VFPresAnt!TAMarker ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl};
|
||||||
<Anter, Neg> =>{s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ --Predef.BIND ++
|
<Pres,Anter, Neg> =>{s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ --Predef.BIND ++
|
||||||
ant!TAMarker ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
cl.morphs!VFPresAnt!TAMarker ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl};
|
||||||
|
|
||||||
|
|
||||||
|
<Past,Simul, Pos> => {s = subj ++ clitic ++ --Predef.BIND ++
|
||||||
|
root ++ Predef.BIND ++ pastRestOfVerb ++ compl};
|
||||||
|
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||||
|
<Past,Simul, Neg> => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ --Predef.BIND ++
|
||||||
|
root ++ pastRestOfVerb ++ compl};
|
||||||
|
<Past,Anter, Pos> => {s = subj ++ clitic ++ "bire" ++ clitic ++ --Predef.BIND ++
|
||||||
|
cl.morphs!VFPastAnt!TAMarker ++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl};
|
||||||
|
<Past,Anter, Neg> =>{s = subj ++ clitic ++ "bire" ++ clitic ++ "ta"--Predef.BIND ++ ant!TAMarker
|
||||||
|
++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl};
|
||||||
|
|
||||||
|
<Fut,Simul, Pos> => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za ku" ++ Predef.BIND ++ --choice of za over ija
|
||||||
|
root ++ Predef.BIND ++ presRestOfVerb ++ compl};
|
||||||
|
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||||
|
<Fut,Simul, Neg> => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "kuza ku" ++ Predef.BIND ++
|
||||||
|
root ++ presRestOfVerb ++ compl};
|
||||||
|
<Fut,Anter, Pos> => {s = subj ++ "ni" ++ Predef.BIND ++clitic ++ "za kuba" ++ Predef.BIND ++ --choice of za over ija
|
||||||
|
root ++ Predef.BIND ++ pastRestOfVerb ++ compl};
|
||||||
|
<Fut,Anter, Neg> =>{s = subj ++ "ni" ++ Predef.BIND ++ clitic ++ "za kuba" ++ clitic ++ "taka" ++ Predef.BIND ++
|
||||||
|
root ++ pastRestOfVerb ++ compl};
|
||||||
|
|
||||||
|
|
||||||
|
<Cond,Simul, Pos> => {s = subj ++ clitic ++ "kaa" ++Predef.BIND ++
|
||||||
|
root ++ Predef.BIND ++ presRestOfVerb ++ compl};
|
||||||
|
{-Note: when I use pol.s instead of ti, the word alignment instead becomes worse-}
|
||||||
|
<Cond,Simul, Neg> => {s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "kaa" ++ Predef.BIND ++
|
||||||
|
root ++ presRestOfVerb ++ compl};
|
||||||
|
<Cond,Anter, Pos> => {s = subj ++ clitic ++ "kaa"--Predef.BIND ++
|
||||||
|
++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl};
|
||||||
|
<Cond,Anter, Neg> =>{s = subj ++ "ti" ++ Predef.BIND ++ clitic ++ "kaa" ++Predef.BIND
|
||||||
|
++ root ++ Predef.BIND ++ pastRestOfVerb ++ compl}
|
||||||
}; --: Temp -> Pol -> QCl -> QS ; -- has John walked
|
}; --: Temp -> Pol -> QCl -> QS ; -- has John walked
|
||||||
|
|
||||||
|
-- These are the 2 x 4 x 4 = 16 forms generated by different
|
||||||
|
-- combinations of tense, polarity, and
|
||||||
|
-- anteriority, which are defined in [``Common`` Common.html].
|
||||||
UseQCl = UseCl; -- : Temp -> Pol -> Cl -> S ; -- John has not walked
|
UseQCl = UseCl; -- : Temp -> Pol -> Cl -> S ; -- John has not walked
|
||||||
QuestCl qcl = qcl; --: Cl -> QCl ; -- does John (not) walk
|
QuestCl qcl = qcl; --: Cl -> QCl ; -- does John (not) walk
|
||||||
|
|
||||||
|
--UseRCl : Temp -> Pol -> RCl -> RS ; -- that had not slept
|
||||||
|
--UseRCl temp pol rcl =
|
||||||
|
|
||||||
PredVP np vp = case vp.isCompApStem of{
|
PredVP np vp = case vp.isCompApStem of{
|
||||||
False => {
|
False => {
|
||||||
s = np.s ! Nom; --: NP -> VP -> Cl ; -- John walks / John does not walk
|
s = np.s ! Nom; --: NP -> VP -> Cl ; -- John walks / John does not walk
|
||||||
@@ -122,7 +161,6 @@ lin
|
|||||||
adV = vpslash.adV;
|
adV = vpslash.adV;
|
||||||
containsAdV = vpslash.containsAdV
|
containsAdV = vpslash.containsAdV
|
||||||
};
|
};
|
||||||
--SlashVP np vpslash =
|
|
||||||
|
|
||||||
--AdvSlash : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today
|
--AdvSlash : ClSlash -> Adv -> ClSlash ; -- (whom) he sees today
|
||||||
--SlashPrep : Cl -> Prep -> ClSlash ; -- (with whom) he walks
|
--SlashPrep : Cl -> Prep -> ClSlash ; -- (with whom) he walks
|
||||||
|
|||||||
Reference in New Issue
Block a user