forked from GitHub/gf-rgl
134 lines
5.1 KiB
Plaintext
134 lines
5.1 KiB
Plaintext
concrete StructuralPes of Structural = CatPes **
|
|
open MorphoPes, ParadigmsPes, Prelude, NounPes, (R=ResPes) in {
|
|
|
|
flags optimize=all ;
|
|
coding = utf8;
|
|
|
|
lin
|
|
above_Prep = mkPrep "بالای" ;
|
|
after_Prep = mkPrep ["بعد از"] ;
|
|
all_Predet = ss (zwnj "همه" "ی") ;
|
|
almost_AdA, almost_AdN = ss "تقریباً" ;
|
|
although_Subj = mkSubj "با وجود این" ;
|
|
always_AdV = ss "همیشه" ;
|
|
and_Conj = sd2 [] "و" ** {n = Pl} ;
|
|
because_Subj = mkSubj "برای این" ;
|
|
before_Prep = mkPrep ["قبل از"] ;
|
|
behind_Prep = mkPrep "پشت" ;
|
|
between_Prep = mkPrep "بین" ;
|
|
both7and_DConj = sd2 "هم" ["و هم"] ** {n = Pl} ;
|
|
but_PConj = ss "اما" ;
|
|
by8agent_Prep = mkPrep "توسط" ;
|
|
by8means_Prep = mkPrep "با" ;
|
|
-- can8know_VV,can_VV = mkVV (mkV "سکن") ;
|
|
can_VV = mkVV (mkV_1 "توانستن") ; ---- AR
|
|
during_Prep = mkPrep ["در طول"] ;
|
|
either7or_DConj = sd2 "یا" "یا" ** {n = Sg} ;
|
|
-- everybody_NP = R.indeclNP "هر کwی";
|
|
every_Det = mkDet "هر" Sg ;
|
|
everything_NP = DetCN (mkDet "همه" Sg) (UseN (mkN "چیز")) ;
|
|
everywhere_Adv = ss ["هر جا"] ;
|
|
few_Det = mkDet ["تعداد کمی"] Pl True; -- check
|
|
for_Prep = mkPrep "برای" Ezafe ;
|
|
from_Prep = mkPrep "از" ;
|
|
he_Pron = R.agr2pron ! Ag Sg P3 ;
|
|
here_Adv = ss "اینجا" ;
|
|
here7to_Adv = ss "اینجا" ;
|
|
here7from_Adv = ss "اینجا" ;
|
|
how_IAdv = ss "چطور" ;
|
|
how8many_IDet = {s = "چند" ; n = Pl ; isNum = True} ;
|
|
how8much_IAdv = ss "چقدر" ;
|
|
if_Subj = mkSubj subjunctive "اگر" ;
|
|
in8front_Prep = mkPrep "جلوی" ;
|
|
i_Pron = R.agr2pron ! Ag Sg P1;
|
|
in_Prep = mkPrep "در" ;
|
|
it_Pron = R.agr2pron ! Ag Sg P3;
|
|
less_CAdv = {s = "کمتر" ; p = ""} ;
|
|
many_Det = let isNum, isNeg = False in mkDet "بسیار" Pl isNum isNeg Ezafe ;
|
|
more_CAdv = {s = "بیشتر" ; p = "" } ;
|
|
most_Predet = ss "اکثر";
|
|
much_Det = mkDet ["مقدار زیادی"] Pl ;
|
|
must_VV =
|
|
let must : VV = mkVV False subjunctive (defV "بایستن" "باید" "باید") ; -- "بایست" is different meaning?
|
|
in must ** {isDef=True} ;
|
|
-- TODO: past tense forms with مجبور+beVerb
|
|
no_Utt = ss "نه" ;
|
|
on_Prep = mkPrep "روی" ;
|
|
only_Predet = ss "فقط" ;
|
|
or_Conj = sd2 [] "یا" ** {n = Sg} ;
|
|
otherwise_PConj = ss ["درغیراین صورت"] ;
|
|
part_Prep = mkPrep "از" Ezafe ;
|
|
please_Voc = ss "لطفاً" ;
|
|
possess_Prep = mkPrep [] Ezafe ;
|
|
quite_Adv = ss "کاملاً" ;
|
|
she_Pron = R.agr2pron ! Ag Sg P3 ;
|
|
so_AdA = ss "بسیار" ;
|
|
somebody_NP = R.indeclNP "کwی" ;
|
|
someSg_Det = mkDet "مقداری" Sg True ;
|
|
somePl_Det = mkDet "چند" Pl True ;
|
|
something_NP = R.indeclNP "چیزی" ;
|
|
somewhere_Adv = ss "جایی" ;
|
|
that_Quant = mkQuant "آن" "آن";
|
|
that_Subj = mkSubj "آن";
|
|
there_Adv = ss "آنجا" ;
|
|
there7to_Adv = ss "آنجا" ;
|
|
there7from_Adv = ss "آنجا" ;
|
|
therefore_PConj = ss ["به همین دلیل"] ;
|
|
they_Pron = R.agr2pron ! Ag Pl P3 ;
|
|
this_Quant = mkQuant "این" "این" ;
|
|
through_Prep = mkPrep ["از طریق"] ;
|
|
too_AdA = ss "خیلی" ;
|
|
to_Prep = mkPrep "به" ** {lock_Prep = <>};
|
|
under_Prep = mkPrep "زیر" ** {lock_Prep = <>};
|
|
very_AdA = ss "خیلی" ;
|
|
want_VV = mkVV False subjunctive (mkV "خواستن" "خواه") ; --not aux
|
|
we_Pron = R.agr2pron ! Ag Pl P1 ;
|
|
whatSg_IP = {s = ["چه چیزی"] ; n = Sg } ;
|
|
whatPl_IP = {s = ["چه چیزهایی"] ; n = Pl } ;
|
|
when_IAdv = ss "کی" ;
|
|
when_Subj = mkSubj "وقتی" ;
|
|
where_IAdv = ss "کجا" ;
|
|
which_IQuant = {s = "کدام" ; n = Sg} ;
|
|
whichPl_IDet = {s = "کدام" ; n = Pl ; isNum = False} ;
|
|
whichSg_IDet = { s = "کدام" ; n = Sg ; isNum = False} ;
|
|
whoSg_IP = {s = ["چه کسی"] ; n = Sg} ;
|
|
whoPl_IP = {s = ["چه کسانی"] ;n = Pl} ;
|
|
why_IAdv = ss "چرا" ;
|
|
without_Prep = mkPrep "بدون" ;
|
|
with_Prep = mkPrep "با";
|
|
-- yes_Phr = ss "بله" ;
|
|
yes_Utt = ss "بله" ;
|
|
youSg_Pron = R.agr2pron ! Ag Sg P2 ;
|
|
youPl_Pron = R.agr2pron ! Ag Pl P2 ;
|
|
youPol_Pron = R.agr2pron ! Ag Pl P2 ;
|
|
no_Quant = mkQuant "هیچ" "هیچ" Clitic True ;
|
|
not_Predet = {s="نه"} ;
|
|
if_then_Conj = sd2 "اگر" "آنگاه" ** {n = Sg} ;
|
|
at_least_AdN = ss "حداقل" ;
|
|
at_most_AdN = ss "حداکثر";
|
|
nothing_NP = R.indeclNP "هیچ چیز" ** {isNeg = True} ;
|
|
except_Prep = mkPrep ["به جز"] ;
|
|
nobody_NP = R.indeclNP "هیچ کس";
|
|
|
|
as_CAdv = {s = ["به اندازه ی"] ; p = ""} ;
|
|
|
|
---- have_V2 = mkV2 (mkV "داشتن" "دار") "را" ;
|
|
|
|
language_title_Utt = ss "فارسی" ;
|
|
|
|
---- AR from Nasrin
|
|
|
|
-- have_V2: "have" as an independent verb.
|
|
-- MorphoPes.haveVerb: "have" as auxiliary.
|
|
have_V2 = haveVerb ** {
|
|
s = table {
|
|
VImp Pos Sg => "داشته باش" ;
|
|
VImp Pos Pl => "داشته باشید" ;
|
|
VImp Neg Sg => "نداشته باش" ;
|
|
VImp Neg Pl => "نداشته باشید" ;
|
|
VSubj p agr => "داشته" ++ subjAux p agr ;
|
|
x => haveVerb.s ! x } ;
|
|
c2 = prepOrRa [] -- "را" ; ---- AR 18/9/2017: usually no ra acc. to Nasrin, but this is tricky
|
|
} ;
|
|
}
|