forked from GitHub/gf-rgl
(Ara) Remove parameters that are already in CommonX
This commit is contained in:
@@ -16,13 +16,13 @@ concrete CatAra of Cat = CommonX - [Utt] ** open ResAra, Prelude, ParamX in {
|
||||
|
||||
-- Sentence
|
||||
|
||||
Cl = ResAra.Cl ; -- {s : ResAra.Tense => Polarity => Order => Str} ;
|
||||
Cl = ResAra.Cl ; -- {s : Tense => Polarity => Order => Str} ;
|
||||
ClSlash = ResAra.ClSlash ;
|
||||
Imp = {s : Polarity => Gender => ResAra.Number => Str} ;
|
||||
|
||||
-- Question
|
||||
|
||||
QCl = ResAra.QCl ; -- {s : ResAra.Tense => Polarity => QForm => Str} ;
|
||||
QCl = ResAra.QCl ; -- {s : Tense => Polarity => QForm => Str} ;
|
||||
IDet = ResAra.IDet ; -- {s : Gender => State => Case => Str ; n : Number} ;
|
||||
IP = ResAra.IP ; -- {s : (isPred : Bool) => State => Case => Str ; n : Number} ;
|
||||
IComp = ResAra.IComp ; --
|
||||
|
||||
@@ -44,7 +44,7 @@ concrete QuestionAra of Question = CatAra ** open ResAra, ParamX, Prelude, VerbA
|
||||
|
||||
CompIAdv iadv = { s = \\_ => iadv.s ; n = ResAra.Sg } ;
|
||||
|
||||
-- QCl = {s : R.Tense => Polarity => QForm => Str} ;
|
||||
-- QCl = {s : Tense => Polarity => QForm => Str} ;
|
||||
QuestSlash ip cl = { ----IL just guessing
|
||||
s = \\t,p,qf =>
|
||||
let o = case qf of { QDir => Nominal ; _ => Verbal } ; -- purely guessing
|
||||
|
||||
@@ -19,7 +19,6 @@ resource ResAra = PatternsAra ** open Prelude, Predef, OrthoAra, ParamX in {
|
||||
Gender = Masc | Fem ;
|
||||
Case = Nom | Acc | Gen
|
||||
| Bare ; -- 1st person poss. suff. overrides case
|
||||
Person = P1 | P2 | P3 ;
|
||||
Species = NoHum | Hum ;
|
||||
State = Def | Indef | Const
|
||||
| Poss ; -- ة turns into ت
|
||||
@@ -27,7 +26,6 @@ resource ResAra = PatternsAra ** open Prelude, Predef, OrthoAra, ParamX in {
|
||||
-- case vowel retained
|
||||
Mood = Ind | Cnj | Jus ;
|
||||
Voice = Act | Pas ;
|
||||
Tense = Pres | Past | Fut ;
|
||||
Order = Verbal | Nominal ;
|
||||
|
||||
oper
|
||||
|
||||
@@ -39,20 +39,20 @@ concrete SentenceAra of Sentence = CatAra ** open
|
||||
yaktubu = vp.s ! pgn ! VPImpf Ind ;
|
||||
yaktuba = vp.s ! pgn ! VPImpf Cnj ;
|
||||
yaktub = vp.s ! pgn ! VPImpf Jus ;
|
||||
vStr : ResAra.Tense -> Polarity -> Str =
|
||||
vStr : ParamX.Tense -> Polarity -> Str =
|
||||
\tn,pl -> case<vp.isPred,tn,pl> of {
|
||||
<False, ResAra.Pres, Pos> => yaktubu ;
|
||||
<False, ResAra.Pres, Neg> => "لَا" ++ yaktubu ;
|
||||
<True, ResAra.Pres, Pos> => "" ; --no verb "to be" in present
|
||||
<True, ResAra.Pres, Neg> => "لَيسَ" ;--same here, just add negation particle
|
||||
<_, ResAra.Past, Pos> => kataba ;
|
||||
<_, ResAra.Past, Neg> => "لَمْ" ++ yaktub ;
|
||||
<_, ResAra.Fut, Pos> => "سَ" ++ yaktubu ;
|
||||
<_, ResAra.Fut, Neg> => "لَنْ" ++ yaktuba
|
||||
<False, Pres, Pos> => yaktubu ;
|
||||
<False, Pres, Neg> => "لَا" ++ yaktubu ;
|
||||
<True, Pres, Pos> => "" ; --no verb "to be" in present
|
||||
<True, Pres, Neg> => "لَيسَ" ;--same here, just add negation particle
|
||||
<_, Past, Pos> => kataba ;
|
||||
<_, Past, Neg> => "لَمْ" ++ yaktub ;
|
||||
<_, _Fut, Pos> => "سَ" ++ yaktubu ;
|
||||
<_, _Fut, Neg> => "لَنْ" ++ yaktuba
|
||||
};
|
||||
pred : ResAra.Tense -> Polarity -> Str =
|
||||
pred : ParamX.Tense -> Polarity -> Str =
|
||||
\tn,pl -> case <vp.isPred,tn,pl> of {
|
||||
<True, ResAra.Pres, Pos> => vp.pred.s ! gn ! Nom; --xabar marfooc
|
||||
<True, Pres, Pos> => vp.pred.s ! gn ! Nom; --xabar marfooc
|
||||
_ => vp.pred.s ! gn ! Acc --xabar kaana wa laysa manSoob
|
||||
};
|
||||
|
||||
@@ -113,19 +113,20 @@ concrete SentenceAra of Sentence = CatAra ** open
|
||||
--
|
||||
|
||||
UseCl t p cl =
|
||||
{s = case <t.t,t.a> of { --- IL guessed tenses
|
||||
<(Pres|Cond),Simul> => cl.s ! ResAra.Pres ! p.p ! Verbal ;
|
||||
<Fut ,_ > => cl.s ! ResAra.Fut ! p.p ! Verbal ;
|
||||
<_ ,_ > => cl.s ! ResAra.Past ! p.p ! Verbal
|
||||
{s = t.s ++ p.s ++
|
||||
case <t.t,t.a> of { --- IL guessed tenses
|
||||
<(Pres|Cond),Simul> => cl.s ! Pres ! p.p ! Nominal ;
|
||||
<Fut ,_ > => cl.s ! Fut ! p.p ! Nominal ;
|
||||
<_ ,_ > => cl.s ! Past ! p.p ! Nominal
|
||||
}
|
||||
};
|
||||
|
||||
UseQCl t p qcl =
|
||||
{s = \\q =>
|
||||
case <t.t,t.a> of { --- IL guessed tenses
|
||||
<(Pres|Cond),Simul> => qcl.s ! ResAra.Pres ! p.p ! q ;
|
||||
<Fut ,_ > => qcl.s ! ResAra.Fut ! p.p ! q ;
|
||||
<_ ,_ > => qcl.s ! ResAra.Past ! p.p ! q
|
||||
{s = \\q => t.s ++ p.s ++
|
||||
case <t.t,t.a> of { --- IL guessed tenses
|
||||
<(Pres|Cond),Simul> => qcl.s ! Pres ! p.p ! q ;
|
||||
<Fut ,_ > => qcl.s ! Fut ! p.p ! q ;
|
||||
<_ ,_ > => qcl.s ! Past ! p.p ! q
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user