1
0
forked from GitHub/gf-rgl
Files
gf-rgl/src/persian/StructuralPes.gf
2019-03-01 15:22:23 +01:00

142 lines
5.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
concrete StructuralPes of Structural = CatPes **
open MorphoPes, ParadigmsPes, Prelude, NounPes, (R=ResPes) in {
flags optimize=all ;
coding = utf8;
lin
above_Prep = ss "بالای" ;
after_Prep = ss ["بعد از"] ;
all_Predet = ss ["همه ی"] ;
almost_AdA, almost_AdN = ss "تقریباً" ;
although_Subj = mkSubj "با وجود این" ;
always_AdV = ss "همیشه" ;
and_Conj = sd2 [] "و" ** {n = Pl} ;
because_Subj = mkSubj "برای این" ;
before_Prep = ss ["قبل از"] ;
behind_Prep = ss "پشت" ;
between_Prep = ss "بین" ;
both7and_DConj = sd2 "هم" ["و هم"] ** {n = Pl} ;
but_PConj = ss "اما" ;
by8agent_Prep = ss "توسط" ;
by8means_Prep = ss "با" ;
-- can8know_VV,can_VV = mkVV (mkV "سکن") ;
can_VV = mkVV (mkV_1 "توانستن") ; ---- AR
during_Prep = ss ["در طول"] ;
either7or_DConj = sd2 "یا" "یا" ** {n = Sg} ;
-- everybody_NP = R.indeclNP "هر کwی";
every_Det = mkDet "هر" Sg ;
-- everything_NP = R.indeclNP ["هر XE"]));
everywhere_Adv = ss ["هر جا"] ;
few_Det = mkDet ["تعداد کمی"] Pl True; -- check
for_Prep = ss "برای" ;
from_Prep = ss "از" ;
he_Pron = personalPron "او" "ش" 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 = ss "جلوی" ;
i_Pron = personalPron "من" "م" Sg P1;
in_Prep = ss "در" ;
it_Pron = personalPron "آن" "ش" Sg P3;
less_CAdv = {s = "کمتر" ; p = ""} ;
many_Det = mkDet ["تعداد زیادی"] Pl True; -- check
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 = ss "روی" ;
only_Predet = ss "فقط" ;
or_Conj = sd2 [] "یا" ** {n = Sg} ;
otherwise_PConj = ss ["درغیراین صورت"] ;
part_Prep = ss "از" ; -- TODO: the object following it should be in Ezafa form
please_Voc = ss "لطفاً" ;
possess_Prep = ss "" ; -- will be handeled in Ezafeh
quite_Adv = ss "کاملاً" ;
she_Pron = personalPron "او" "ش" 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 = personalPron "آن ها" "شان" Pl P3 ;
this_Quant = mkQuant "این" "این" ;
through_Prep = ss ["از طریق"] ;
too_AdA = ss "خیلی" ;
to_Prep = ss "به" ** {lock_Prep = <>};
under_Prep = ss "زیر" ** {lock_Prep = <>};
very_AdA = ss "خیلی" ;
want_VV = mkVV False subjunctive (mkV "خواستن" "خواه") ; --not aux
we_Pron = personalPron "ما" "مان" 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 = ss "بدون" ;
with_Prep = ss "با";
-- yes_Phr = ss "بله" ;
yes_Utt = ss "بله" ;
youSg_Pron = personalPron "تو" "ت" Sg P2 ;
youPl_Pron = personalPron "شما" "تان" Pl P2 ;
youPol_Pron = personalPron "شما" "تان" Pl P2 ;
-- no_Quant = demoPN "هیچ" ;
not_Predet = {s="نه"} ;
if_then_Conj = sd2 "اگر" "آنگاه" ** {n = Sg} ;
at_least_AdN = ss "حداقل" ;
at_most_AdN = ss "حداکثر";
nothing_NP = R.indeclNP "هیچ" ;
except_Prep = ss ["به جز"] ;
nobody_NP = R.indeclNP "هیچ کس";
as_CAdv = {s = ["به اندازه ی"] ; p = ""} ;
---- have_V2 = mkV2 (mkV "داشتن" "دار") "را" ;
language_title_Utt = ss "پeرسن" ;
---- 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 _ (Ag Sg P1) => "داشته باشم" ;
VSubj _ (Ag Sg P2) => "داشته باشی" ;
VSubj _ (Ag Sg P3) => "داشته باشد" ;
VSubj _ (Ag Pl P1) => "داشته باشیم" ;
VSubj _ (Ag Pl P2) => "داشته باشید" ;
VSubj _ (Ag Pl P3) => "داشته باشند" ;
x => haveVerb.s ! x } ;
c2 = {
s = [] ;
ra = [] --- "را" ; ---- AR 18/9/2017: usually no ra acc. to Nasrin, but this is tricky
}
} ;
}