forked from GitHub/gf-core
refinements-2010-12-16
This commit is contained in:
@@ -24,8 +24,9 @@ incomplete concrete CatHindustani of Cat =
|
||||
---- Question
|
||||
QCl = {s : CommonHindustani.VPHTense => Polarity => QForm => Str} ;
|
||||
IP = {s: Case => Str ; g : Gender ; n : Number};
|
||||
IDet = {s :Gender => Str ; n : Number} ;
|
||||
IQuant = {s : Number => Str} ;
|
||||
IDet = {s :Gender => Case => Str ; n : Number} ;
|
||||
-- IQuant = {s : Number => Str} ;
|
||||
IQuant = {s : Number => Gender => Case => Str} ;
|
||||
|
||||
---- Relative
|
||||
|
||||
|
||||
@@ -158,12 +158,12 @@ resource CommonHindustani = ParamX ** open Prelude,Predef in {
|
||||
Adjective = { s: Number => Gender => Case => Degree => Str };
|
||||
regAdjective : Str -> Adjective;
|
||||
regAdjective x = case x of {
|
||||
acch + ("a"|"aN") => mkAdjective x ("bht" ++ x) ("sab sE" ++ x) (acch + "E") ("bht" ++ acch + "E") ("sab sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sab sE" ++ acch + "E")
|
||||
(acch + "y") ("bht" ++ acch + "y") ("sab sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sab sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sab sE" ++ acch + "y")
|
||||
(acch +"E") ("bht" ++ acch + "E") ("sab sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sab sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sab sE" ++ acch + "E")
|
||||
(acch + "y") ("bht" ++ acch + "y") ("sab sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sab sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sab sE" ++ acch + "y");
|
||||
acch + ("a"|"aN") => mkAdjective x ("bht" ++ x) ("sb sE" ++ x) (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E")
|
||||
(acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y")
|
||||
(acch +"E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E")
|
||||
(acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y");
|
||||
|
||||
_ => mkAdjective x x x x x x x x x
|
||||
_ => mkAdjective x x x x x x x x x
|
||||
x x x x x x x x x
|
||||
x x x x x x x x x
|
||||
x x x x x x x x x
|
||||
@@ -259,6 +259,8 @@ resource CommonHindustani = ParamX ** open Prelude,Predef in {
|
||||
VPTense VPFutr (Ag g n p) => {fin = copula CFuture n p g ; inf = v.s ! VF Subj p n g } ;
|
||||
VPTense VPPerf (Ag g n p) => { fin = [] ; inf = v.s ! Root ++ cka g n } ;
|
||||
VPStem => {fin = [] ; inf = v.s ! Root};
|
||||
VPInf => {fin = v.s ! Inf_Obl ; inf = v.s ! Root}; -- for V2V like sonE ky altja krna , check if it is being used anywhere else
|
||||
VPImp => {fin = v.s ! VF Subj Pers3_Near Pl Masc ; inf = v.s ! Root};
|
||||
_ => {fin = [] ; inf = v.s ! Root}
|
||||
};
|
||||
obj = {s = [] ; a = defaultAgr} ;
|
||||
|
||||
@@ -19,7 +19,7 @@ incomplete concrete NounHindustani of Noun =
|
||||
} ;
|
||||
|
||||
PPartNP np v2 = {
|
||||
s = \\c => v2.s ! VF Imperf Pers1 Sg Fem ++ np.s ! c ;
|
||||
s = \\c => v2.s ! VF Perf (fromAgr np.a).p (fromAgr np.a).n (fromAgr np.a).g ++ np.s ! c ;
|
||||
a = np.a
|
||||
} ;
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ incomplete concrete PhraseHindustani of Phrase =
|
||||
UttIP ip = {s = ip.s ! Dir} ; --- Acc also
|
||||
UttIAdv iadv = iadv ;
|
||||
UttNP np = {s = np.s ! NPC Dir} ;
|
||||
UttVP vp = {s = infVP False vp (agrP3 Masc Sg)} ;
|
||||
UttVP vp = {s = vp.ad ++ infVP False vp (agrP3 Masc Sg) ++ vp.embComp} ;
|
||||
UttAdv adv = {s = adv.s ! Masc} ;
|
||||
UttCN cn = {s = cn.s ! Sg ! Dir};
|
||||
UttCard n = n ;
|
||||
|
||||
@@ -19,8 +19,8 @@ incomplete concrete QuestionHindustani of Question =
|
||||
qp1 = qp.s ! Dir;
|
||||
qp2 = qp.s ! Obl ++ nE
|
||||
in { s = \\t,p,o => case t of {
|
||||
VPImpPast => qp2 ++ cl.s ! t ! p ! ODir;
|
||||
_ => qp1 ++ cl.s ! t ! p ! ODir
|
||||
VPImpPast => case vp.subj of {VIntrans => qp1 ++ cl.s ! t ! p ! ODir; _ => qp2 ++ cl.s ! t ! p ! ODir};
|
||||
_ => qp1 ++ cl.s ! t ! p ! ODir
|
||||
}
|
||||
};
|
||||
QuestSlash ip slash =
|
||||
@@ -46,7 +46,7 @@ incomplete concrete QuestionHindustani of Question =
|
||||
}
|
||||
};
|
||||
|
||||
PrepIP p ip = {s = ip.s ! Voc ++ p.s ! ip.g} ;
|
||||
PrepIP p ip = {s = ip.s ! Obl ++ p.s ! ip.g} ;
|
||||
|
||||
AdvIP ip adv = {
|
||||
s = \\c => adv.s ! ip.g ++ ip.s ! c ;
|
||||
@@ -55,19 +55,19 @@ incomplete concrete QuestionHindustani of Question =
|
||||
} ;
|
||||
|
||||
IdetCN idet cn = {
|
||||
s = \\c => idet.s ! cn.g ++ cn.s ! idet.n ! c ;
|
||||
s = \\c => idet.s ! cn.g ! c ++ cn.s ! idet.n ! c ;
|
||||
g = cn.g;
|
||||
n = idet.n;
|
||||
} ;
|
||||
|
||||
IdetIP idet = {
|
||||
s = \\_ => idet.s ! Masc ;
|
||||
s = \\c => idet.s ! Masc ! c ;
|
||||
n = idet.n;
|
||||
g = Masc;
|
||||
} ;
|
||||
|
||||
IdetQuant iqant num = {
|
||||
s = \\g => iqant.s ! num.n ++ num.s ;
|
||||
s = \\g,c => iqant.s ! num.n ! g ! c ++ num.s ;
|
||||
n = num.n
|
||||
} ;
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ incomplete concrete RelativeHindustani of Relative =
|
||||
} ;
|
||||
|
||||
RelSlash rp slash = {
|
||||
s = \\t,p,o,agr => rp.s ! (giveNumber agr) ! Dir ++ slash.c2.s ++ slash.s ! t ! p ! o ;--case t of {
|
||||
s = \\t,p,o,agr => rp.s ! (giveNumber agr) ! Obl ++ slash.c2.s ++ slash.s ! t ! p ! o ;--case t of {
|
||||
-- VPImpPast => rp.s ! (giveNumber agr) Obl ++ slash.c2.s ++ slash.s ! t ! p ! o ;
|
||||
-- _ => rp.s ! (giveNumber agr) Dir ++ slash.c2.s ++ slash.s ! t ! p ! o
|
||||
-- };
|
||||
|
||||
@@ -267,7 +267,7 @@ param
|
||||
VPPerfPresCont => {fin = copula CPresent n p g ; inf = (vp.s ! VPStem).inf ++ raha g n } ;
|
||||
VPPerfPastCont => {fin = copula CPast n p g ; inf = (vp.s ! VPStem).inf ++ raha g n } ;
|
||||
VPPerfFutCont => {fin = copula CFuture n p g ; inf = (vp.s ! VPStem).inf ++ raha g n ++ hw p n } ;
|
||||
VPSubj => {fin = insertSubj p (vp.s ! VPStem).inf ; inf = "xayd" }
|
||||
VPSubj => {fin = insertSubj p (vp.s ! VPStem).inf ; inf = "Xayd" }
|
||||
|
||||
};
|
||||
|
||||
@@ -337,7 +337,7 @@ param
|
||||
infVV : Bool -> VPH -> Str = \isAux,vp ->
|
||||
case isAux of {False => vp.obj.s ++ (vp.comp ! (toAgr Sg Pers1 Masc)) ++ vp.inf ; True => vp.obj.s ++ (vp.comp ! (toAgr Sg Pers1 Masc)) ++ (vp.s ! VPImp).fin } ;
|
||||
infV2V : Bool -> VPH -> Str = \isAux,vp ->
|
||||
case isAux of {False => vp.obj.s ++ (vp.comp ! (toAgr Sg Pers1 Masc)) ++ vp.inf ++ "ky" ; True => vp.obj.s ++ (vp.comp ! (toAgr Sg Pers1 Masc)) ++ (vp.s ! VPImp).fin ++ "ky"};
|
||||
case isAux of {False => vp.obj.s ++ (vp.comp ! (toAgr Sg Pers1 Masc)) ++ (vp.s ! VPInf).fin ++ "ky" ; True => vp.obj.s ++ (vp.comp ! (toAgr Sg Pers1 Masc)) ++ (vp.s ! VPImp).fin ++ "ky"};
|
||||
|
||||
|
||||
insertObject : NP -> VPHSlash -> VPH = \np,vps -> {
|
||||
|
||||
@@ -34,7 +34,7 @@ incomplete concrete VerbHindustani of Verb = CatHindustani ** open CommonHindust
|
||||
ReflVP v = insertObjPre (\\_ => RefPron) v ;
|
||||
PassV2 v = predV v ; -- need to be fixed
|
||||
CompAP ap ={s = \\a => ap.s ! giveNumber a ! giveGender a ! Dir ! Posit } ;
|
||||
CompNP np = {s = \\_ => np.s ! NPObj} ;
|
||||
CompNP np = {s = \\_ => np.s ! NPC Dir} ;
|
||||
CompAdv adv = {s = \\a => adv.s ! giveGender a} ;
|
||||
CompCN cn = {s = \\a => cn.s ! giveNumber a ! Dir} ;
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
||||
VPPerfPresCont => {fin = copula CPresent n p g ; inf = (vp.s ! VPStem).inf ++ raha g n } ;
|
||||
VPPerfPastCont => {fin = copula CPast n p g ; inf = (vp.s ! VPStem).inf ++ raha g n } ;
|
||||
VPPerfFutCont => {fin = copula CFuture n p g ; inf = (vp.s ! VPStem).inf ++ raha g n ++ hw p n } ;
|
||||
VPSubj => {fin = insertSubj p (vp.s ! VPStem).inf ; inf = "ژاید" }
|
||||
VPSubj => {fin = insertSubj p (vp.s ! VPStem).inf ; inf = "شاید" }
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ concrete IdiomUrd of Idiom = CatUrd ** open Prelude,Predef, ResUrd,ParamX,Common
|
||||
|
||||
ExistNP np =
|
||||
mkSClause "وہاں" (agrP3 (fromAgr np.a).g (fromAgr np.a).n)
|
||||
(insertObj (\\_ => np.s ! NPC Obl) (predAux auxBe)) ;
|
||||
(insertObj (\\_ => np.s ! NPC Dir) (predAux auxBe)) ;
|
||||
|
||||
ExistIP ip =
|
||||
let cl = mkSClause ("وہاں" ++ ip.s ! Dir) (agrP3 ip.g ip.n) (predAux auxBe);
|
||||
@@ -30,9 +30,10 @@ concrete IdiomUrd of Idiom = CatUrd ** open Prelude,Predef, ResUrd,ParamX,Common
|
||||
-- ProgrVP vp = insertObj (\\a => vp.obj.s ++ vp.ad ++ vp.comp ! a ++ (vp.s ! VPStem).inf ++ raha (fromAgr a).g (fromAgr a).n ) (predAux auxBe) ;
|
||||
ProgrVP vp = (predProg vp) ;
|
||||
|
||||
|
||||
ImpPl1 vp = {s = "آو" ++ infVP True vp (agrP1 Masc Pl)} ;
|
||||
ImpP3 np vp = {s = np.s!NPC Dir ++ "كو" ++ (vp.s ! VPImp ).inf ++ "دو"};
|
||||
-- ImpPl1 vp = {s = "آو" ++ infVP True vp (agrP1 Masc Pl)} ; -- inf form is not used e.g Aw swna instead Aw swyyN (Imp.fin)
|
||||
ImpPl1 vp = {s = "آو" ++ (vp.s ! VPImp).fin} ;
|
||||
-- ImpP3 np vp = {s = np.s!NPC Dir ++ "كو" ++ (vp.s ! VPImp ).inf ++ "دو"}; here VPImp form is not correct e.g jan ko sw do, rather jan ko swnE do, and swnE is stored in vp.VPInf.fin
|
||||
ImpP3 np vp = {s = np.s!NPC Dir ++ "كو" ++ (vp.s ! VPInf ).fin ++ "دو"};
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -17,30 +17,30 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
ask_V2Q = mkV2 (mkV "پوچھنا") ;
|
||||
baby_N = mkN "بچہ" ;
|
||||
bad_A = mkA "برا" ;
|
||||
bank_N = mkN "بانك" ;
|
||||
bank_N = mkN "بینك" ;
|
||||
beautiful_A = mkA "خوبصورت" ;
|
||||
become_VA = mkV "بننا";
|
||||
beer_N = mkN "بععر" ;
|
||||
beer_N = mkN "بییر" ;
|
||||
beg_V2V = mkV2V (compoundV "التجا" (mkV "كرنا")) "سے" "كہ" False;
|
||||
big_A = mkA "بڑا" ;
|
||||
bike_N = mkN "سایچل" feminine ;
|
||||
bike_N = mkN "سایكل" feminine ;
|
||||
bird_N = mkN "پرندہ" ;
|
||||
black_A = mkA "كالا" ;
|
||||
blue_A = mkA "نیلا" ;
|
||||
boat_N = mkN "كشتی" ;
|
||||
book_N = mkN "كتاب" feminine ;
|
||||
boot_N = mkN "جوتا" ;
|
||||
boss_N = mkN "صاہب" ;
|
||||
boss_N = mkN "صاحب" ;
|
||||
boy_N = mkN "لڑكا" ;
|
||||
bread_N = mkN "روتی" ;
|
||||
bread_N = mkN "روٹی" ;
|
||||
break_V2 = mkV2 (mkV "توڑنا") ;
|
||||
broad_A = mkA "كھلا" ;
|
||||
brother_N2 = mkN2 (mkN "بھای") (mkPrep "كا" "كا") "كے" ; --not correct
|
||||
brown_A = mkA "نسواری" ;
|
||||
butter_N = mkN "مكھن" ;
|
||||
buy_V2 = mkV2 (mkV "خریدنا");
|
||||
buy_V2 = mkV2 (mkV "خریدنا") "كو";
|
||||
camera_N = mkN "كیمرہ" ;
|
||||
cap_N = mkN "توپی" ;
|
||||
cap_N = mkN "ٹوپی" ;
|
||||
car_N = mkN "گاڑی" ;
|
||||
carpet_N = mkN "تپائی" ;
|
||||
cat_N = mkN "بلی" ;
|
||||
@@ -49,7 +49,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
cheese_N = mkN "پنیر" feminine ;
|
||||
child_N = mkN "بچہ" ;
|
||||
church_N = mkCmpdNoun "گرجا" (mkN "گھر") ;
|
||||
city_N = mkN "شہر" ;
|
||||
city_N = mkN "شہر" ;
|
||||
clean_A = mkA "صاف" ;
|
||||
clever_A = mkA "ہوشیار" ;
|
||||
close_V2 = mkV2 (compoundV "بند" do_V2);
|
||||
@@ -65,7 +65,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
distance_N3 = mkN3 (mkN "فاصلہ") (mkPrep "كا" "كا") "كے" "سے" ;
|
||||
doctor_N = mkN "معالج" ;
|
||||
dog_N = mkN "كتا" ;
|
||||
door_N = mkN "دروزہ" ;
|
||||
door_N = mkN "دروازہ" ;
|
||||
drink_V2 = mkV2 (mkV "پینا");
|
||||
easy_A2V = mkA "آسان" "" ;
|
||||
eat_V2 = mkV2 (mkV "كھانا") "" ;
|
||||
@@ -73,13 +73,13 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
enemy_N = mkN "دشمن" ;
|
||||
factory_N = mkN "كارخانہ" ;
|
||||
father_N2 = mkN2 (mkN "ابا") (mkPrep "كا" "كا") "كے" ;
|
||||
fear_VS = mkV "درنا";
|
||||
fear_VS = mkV "ڈرنا";
|
||||
find_V2 = mkV2 (mkV "پانا") ;
|
||||
fish_N = mkN "مچھلی" ;
|
||||
floor_N = mkN "فرش" ;
|
||||
forget_V2 = mkV2 (mkV "بھولنا") ;
|
||||
fridge_N = mkN "فریگ" ;
|
||||
-- friend_N = mkN "دوست" masculine ;
|
||||
fridge_N = mkN "فریج" ;
|
||||
friend_N = mkN "دوست" masculine ;
|
||||
fruit_N = mkN "پھل" ;
|
||||
-- fun_AV = mkAV (regA "f?ن") ;
|
||||
garden_N = mkN "باغ" ;
|
||||
@@ -91,7 +91,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
green_A = mkA "سبز" ;
|
||||
harbour_N = mkCmpdNoun "بندر" (mkN "گاہ") ;
|
||||
hate_V2 = mkV2 (compoundV "نفرت" do_V2) ;
|
||||
hat_N = mkN "توپی" ;
|
||||
hat_N = mkN "ٹوپی" ;
|
||||
-- have_V2 = dirV2 (mk5V "ہa?ع" "ہاس" "ہاد" "ہاد" "ہa??نگ") ;
|
||||
hear_V2 = mkV2 (mkV "سننا") ;
|
||||
hill_N = mkN "پہاڑی" ;
|
||||
@@ -118,8 +118,8 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
lose_V2 = mkV2 (compoundV "كھو" do_V2) ;
|
||||
love_N = mkN "محبت" ;
|
||||
love_V2 = mkV2 (compoundV "پیار" do_V2) "كو";
|
||||
man_N = mkN "آدمی" ; -- not correct according to rules should be discussed
|
||||
married_A2 = mkA "شادy?كرنا" "سے" ;
|
||||
man_N = mkN "آدمی" "آدمی" "آدمی" "آدمی" "آدمیوں" "آدمیو" masculine ;
|
||||
married_A2 = mkA "[شادی كرنa]" "سے" ;
|
||||
meat_N = mkN "گوشت" ;
|
||||
milk_N = mkN "دودھ" ;
|
||||
moon_N = mkN "چاند" ;
|
||||
@@ -162,10 +162,10 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
seek_V2 = mkV2 (compoundV "تلاش" do_V2) ;
|
||||
see_V2 = mkV2 (mkV "دیكھنا") ;
|
||||
sell_V3 = mkV3 (mkV "بیچنا") "كو" "";
|
||||
send_V3 = mkV3 (mkV "بھیجنا") "كو" "";
|
||||
send_V3 = mkV3 (mkV "بھیجنا") "كو" "كو";
|
||||
sheep_N = mkN "بھیڑ" feminine ;
|
||||
ship_N = mkN "جہاز" ;
|
||||
shirt_N = mkN "قمیض" feminine;
|
||||
shirt_N = mkN "قمیص" feminine;
|
||||
shoe_N = mkN "جوتا" ;
|
||||
shop_N = mkN "دوكان" feminine ;
|
||||
short_A = mkA "چھوٹا" ;
|
||||
@@ -177,7 +177,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
sock_N = mkN "جراب" feminine ;
|
||||
speak_V2 = mkV2 (mkV "بولنا") ;
|
||||
star_N = mkN "ستارا" ;
|
||||
steel_N = mkN "ستیل" ;
|
||||
steel_N = mkN "سٹیل" ;
|
||||
stone_N = mkN "پتھر" ;
|
||||
stove_N = mkN "چولہا" ;
|
||||
student_N = mkCmpdNoun "طالب" (mkN "علم") ;
|
||||
@@ -186,10 +186,10 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
switch8off_V2 = mkV2 (mkV "چلانا") ;
|
||||
switch8on_V2 = mkV2 (compoundV "بند" do_V2) ;
|
||||
table_N = mkN "میز" feminine ;
|
||||
talk_V3 = mkV3 (mkV "بولنا") "سے" "كE?بارE?معں";
|
||||
teacher_N = mkN "?ستاد" ;
|
||||
talk_V3 = mkV3 (mkV "بولنا") "سے" "[كے بارے میN]";
|
||||
teacher_N = mkN "استاد" ;
|
||||
teach_V2 = mkV2 (mkV "پڑھنا") ;
|
||||
television_N = mkN "تعلیویزن" ;
|
||||
television_N = mkN "تیلیویژن" ;
|
||||
thick_A = mkA "موٹا" ;
|
||||
thin_A = mkA "پتلا" ;
|
||||
train_N = mkN "گاڑی" ;
|
||||
@@ -211,14 +211,14 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
wine_N = mkN "شراب" feminine ;
|
||||
win_V2 = mkV2 (mkV "جیتنا") ;
|
||||
woman_N = mkN "عورت" feminine ;
|
||||
wonder_VQ = compoundV "حعران" (mkV "ہونا") ;
|
||||
wonder_VQ = compoundV "حیران" (mkV "ہونا") ;
|
||||
wood_N = mkN "لكڑی" ;
|
||||
write_V2 = mkV2 (mkV "لكھنا") ;
|
||||
yellow_A = mkA "پیلا" ;
|
||||
young_A = mkA "جوان" ;
|
||||
do_V2 = mkV2 (mkV "كرنا") ;
|
||||
now_Adv = mkAdv "اب" ;
|
||||
already_Adv = mkAdv "پہلE?ہی" ;
|
||||
already_Adv = mkAdv "[پہلے ہy]" ;
|
||||
song_N = mkN "گانا" ;
|
||||
add_V3 = mkV3 (compoundV "اضافہ" do_V2) "" "" ;
|
||||
number_N = mkN "ہندسہ" ;
|
||||
@@ -229,9 +229,9 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
left_Ord = {s = "بایاں" ; n = singular};
|
||||
right_Ord = {s= "دایاں" ; n = singular};
|
||||
far_Adv = mkAdv "دور" ;
|
||||
correct_A = mkA "صیہ" ;
|
||||
correct_A = mkA "صیح" ;
|
||||
dry_A = mkA "خشك" ;
|
||||
dull_A = mkA "ناl?ك" ;
|
||||
dull_A = mkA "نالایق" ;
|
||||
full_A = mkA "مكمل" ;
|
||||
heavy_A = mkA "بھاری" ;
|
||||
near_A = mkA "قریب" ;
|
||||
@@ -257,26 +257,26 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
earth_N = mkN "زمین" feminine ;
|
||||
egg_N = mkN "انڈہ" ;
|
||||
eye_N = mkN "آنكھ" feminine ;
|
||||
fat_N = mkN "موتا" ;
|
||||
fat_N = mkN "موٹا" ;
|
||||
feather_N = mkN "پر" ;
|
||||
fingernail_N = mkN "ناخن" ;
|
||||
fire_N = mkN "آگ" feminine ;
|
||||
flower_N = mkN "پھول" ;
|
||||
fog_N = mkN "دھند" feminine ;
|
||||
foot_N = mkN "پاوں" ; -- not properly covered need to be discussed
|
||||
forest_N = mkN "نجگل" ;
|
||||
grass_N = mkN "گھس" feminine ;
|
||||
guts_N = mkN "g?ت" ; -- FIXME: no singular
|
||||
forest_N = mkN "جنگل" ;
|
||||
grass_N = mkN "گھاس" feminine ;
|
||||
guts_N = mkN "گٹ" ; -- FIXME: no singular
|
||||
hair_N = mkN "بال" ;
|
||||
hand_N = mkN "ہاتھ" ;
|
||||
head_N = mkN "سر" ;
|
||||
heart_N = mkN "دل" ;
|
||||
horn_N = mkN "گھنتی" ;
|
||||
horn_N = mkN "گھنٹی" ;
|
||||
husband_N = mkN "شوہر" ;
|
||||
ice_N = mkN "برف" feminine ;
|
||||
knee_N = mkN "كہنی" ;
|
||||
leaf_N = mkN "پتہ" ;
|
||||
leg_N = mkN "تانگ" feminine ;
|
||||
leg_N = mkN "ٹانگ" feminine ;
|
||||
liver_N = mkN "جگر" ;
|
||||
louse_N = mkN "گھر" ;
|
||||
mouth_N = mkN "منہ" ;
|
||||
@@ -287,7 +287,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
person_N = mkN "شخص" ;
|
||||
rain_N = mkN "بارش" feminine ;
|
||||
road_N = mkN "سڑك" ;
|
||||
root_N = mkN "گڑ" feminine ;
|
||||
root_N = mkN "جڑ" feminine ;
|
||||
rope_N = mkN "رسی" ;
|
||||
salt_N = mkN "نمك" feminine ;
|
||||
sand_N = mkN "ریت" feminine ;
|
||||
@@ -317,7 +317,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
give_V3 = mkV3 (mkV "دینا") "كو" "";
|
||||
laugh_V = mkV "ہنسنا" ;
|
||||
-- lie_N = mkN "جھوت" masculine ;
|
||||
lie_V = compoundV "جھوت" (mkV "بولنا" );
|
||||
lie_V = compoundV "جھوٹ" (mkV "بولنا" );
|
||||
play_V = mkV "كھیلنا" ;
|
||||
sew_V = mkV "سینا" ;
|
||||
sing_V = mkV "گانا" ;
|
||||
@@ -330,12 +330,12 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
think_V = mkV "سوچنا" ;
|
||||
turn_V = mkV "مڑنا";
|
||||
vomit_V = compoundV "التی" (mkV "كرنا") ;
|
||||
bite_V2 = mkV2 (mkV "كاتنا") ;
|
||||
bite_V2 = mkV2 (mkV "كاٹنا") ;
|
||||
count_V2 = mkV2 (mkV "گننا") ;
|
||||
cut_V2 = mkV2 (mkV "كاتنا") ;
|
||||
fear_V2 = mkV2 (mkV "ڈرنا") ;
|
||||
fight_V2 = mkV2 (mkV "لڑنا") ;
|
||||
hit_V2 = mkV2 (compoundV "تھوكر" (mkV "مارنا" ));
|
||||
hit_V2 = mkV2 (compoundV "ٹھوكر" (mkV "مارنا" ));
|
||||
hold_V2 = mkV2 (mkV "پكڑنا") ;
|
||||
hunt_V2 = mkV2 (compoundV "شكار" do_V2);
|
||||
kill_V2 = mkV2 (compoundV "مار" (mkV "ڈالنا" )) ;
|
||||
@@ -343,7 +343,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
push_V2 = mkV2 (mkV "دھكیلنا") "كو" ;
|
||||
rub_V2 = mkV2 (mkV "رگڑنا") ;
|
||||
scratch_V2 = mkV2 (mkV "كھرچنا") "كو" ;
|
||||
split_V2 = mkV2 (mkV "بانتا") "كو" ;
|
||||
split_V2 = mkV2 (mkV "بانٹنا") "كو" ;
|
||||
-- squeeze_V2 = dirV2 (regV "سq?ععزع") ;
|
||||
-- stab_V2 = dirV2 (regDuplV "ستاب") ;
|
||||
suck_V2 = mkV2 (mkV "چوسنا") ;
|
||||
|
||||
@@ -170,7 +170,7 @@ oper
|
||||
(bhao) (bhao) (bhao)
|
||||
Masc ;
|
||||
----2 Determiners
|
||||
IDeterminer = {s:Gender => Str ; n : Number};
|
||||
IDeterminer = {s:Gender => Case => Str ; n : Number};
|
||||
makeDet : Str -> Str -> Str -> Str -> Number -> Determiner = \s1,s2,s3,s4,n -> {
|
||||
s = table {
|
||||
Sg => table {
|
||||
@@ -188,11 +188,37 @@ oper
|
||||
|
||||
makeIDet : Str -> Str -> Number -> IDeterminer = \s1,s2,n -> {
|
||||
s = table {
|
||||
Masc => s1;
|
||||
Fem => s2
|
||||
Masc => table {_ =>s1};
|
||||
Fem => table {_ =>s2}
|
||||
};
|
||||
n = n
|
||||
};
|
||||
};
|
||||
|
||||
-- IQuant
|
||||
|
||||
makeIQuant : Str -> {s : Number => Gender => Case => Str} = \str -> {
|
||||
s = table {
|
||||
Sg => table {
|
||||
Masc => table {
|
||||
Dir => str ++ "سا" ;
|
||||
_ => str ++ "سے"
|
||||
|
||||
};
|
||||
Fem => table {
|
||||
_ => str ++ "سی"
|
||||
}
|
||||
};
|
||||
Pl => table {
|
||||
Masc => table {
|
||||
_ => str ++ "سے"
|
||||
};
|
||||
Fem => table {
|
||||
_ => str ++ "سی"
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
-- Proposition
|
||||
|
||||
@@ -379,7 +405,7 @@ oper
|
||||
<Imperf,Pers2_Respect,Pl,Fem> => root+"تیں";
|
||||
<Imperf,_,Sg,Masc> => root+"تا";
|
||||
<Imperf,_,Sg,Fem> => root+"تی";
|
||||
<Imperf,_,Pl,Masc> => root+"تع";
|
||||
<Imperf,_,Pl,Masc> => root+"تے";
|
||||
<Imperf,_,Pl,Fem> => root+"تیں"
|
||||
}
|
||||
|
||||
|
||||
@@ -27,46 +27,42 @@ oper
|
||||
--2 Nouns
|
||||
|
||||
mkN = overload {
|
||||
mkN : Str -> N
|
||||
mkN : Str -> N -- Regular nouns like lRka, gender is judged from noun ending
|
||||
= \s -> regNoun s ** {lock_N = <>} ;
|
||||
mkN : Str -> Gender -> N
|
||||
mkN : Str -> Gender -> N -- nouns whose gender is irregular like Admy
|
||||
= \s,g -> reggNoun s g ** {lock_N = <>} ;
|
||||
mkN : (x1,_,_,_,_,x6 : Str) -> Gender -> N
|
||||
mkN : (x1,_,_,_,_,x6 : Str) -> Gender -> N -- worst case
|
||||
= \sd,so,sv,pd,po,pv,g -> mkNoun sd so sv pd po pv g ** {lock_N = <>} ;
|
||||
} ;
|
||||
mkN2 : N -> Prep -> Str -> N2;
|
||||
mkN2 : N -> Prep -> Str -> N2; -- e.g maN ky
|
||||
mkN2 = \n,p,c -> n ** {lock_N2 = <> ; c2 = p.s ! n.g ; c3 = c } ;
|
||||
|
||||
mkN3 : N -> Prep -> Str -> Str-> N3 ;
|
||||
mkN3 : N -> Prep -> Str -> Str-> N3 ; -- e.g faSlh - sE - ka
|
||||
mkN3 = \n,p,q,r -> n ** {lock_N3 = <> ; c2 = p.s ! n.g ; c3 = q ; c4 = r} ;
|
||||
|
||||
|
||||
|
||||
-- Compound Nouns
|
||||
|
||||
mkCmpdNoun : Str -> N -> N
|
||||
mkCmpdNoun : Str -> N -> N -- e.g t-alb elm
|
||||
= \s,noun -> {s =\\n,c => s ++ noun.s ! n ! c ; g = noun.g ; lock_N = <>};
|
||||
|
||||
|
||||
-- Proper names
|
||||
mkPN : Str -> PN
|
||||
= \s -> let n = regNoun s in {s = n.s ! Sg ; g = n.g ; lock_PN = <>} ;
|
||||
personalPN : Str -> Str -> Str -> Str -> Number -> Gender -> UPerson -> Pron --%
|
||||
= \s1,s2,s3,sp,nn,g,p -> let n = mkPron s1 s2 s3 in {s = n.s ; a = toAgr nn p g ; ps = sp ; lock_Pron = <>};
|
||||
demoPN : Str -> Str -> Str -> Quant --%
|
||||
= \s1,s2,s3 -> let n = makeDemonPronForm s1 s2 s3 in {s = n.s ; a = defaultAgr ; lock_Quant = <>};
|
||||
mkDet : Str -> Str -> Str -> Str -> Number -> Det --%
|
||||
= \s1,s2,s3,s4,nb -> let dt = makeDet s1 s2 s3 s4 nb in {s = dt.s ; n = nb ; lock_Det = <>};
|
||||
mkIP : (x1,x2,x3:Str) -> Number -> Gender -> IP --%
|
||||
= \s1,s2,s3,n,g -> let p = mkIntPronForm s1 s2 s3 in { s = p.s ; n = n ; g = g ; lock_IP = <>};
|
||||
mkPN : Str -> PN = \s -> let n = regNoun s in {s = n.s ! Sg ; g = n.g ; lock_PN = <>} ;
|
||||
personalPN : Str -> Str -> Str -> Str -> Number -> Gender -> UPerson -> Pron = \s1,s2,s3,sp,nn,g,p -> let n = mkPron s1 s2 s3 in {s = n.s ; a = toAgr nn p g ; ps = sp ; lock_Pron = <>};
|
||||
demoPN : Str -> Str -> Str -> Quant = \s1,s2,s3 -> let n = makeDemonPronForm s1 s2 s3 in {s = n.s ; a = defaultAgr ; lock_Quant = <>};
|
||||
mkDet : Str -> Str -> Str -> Str -> Number -> Det = \s1,s2,s3,s4,nb -> let dt = makeDet s1 s2 s3 s4 nb in {s = dt.s ; n = nb ; lock_Det = <>};
|
||||
mkIP : (x1,x2,x3:Str) -> Number -> Gender -> IP = \s1,s2,s3,n,g -> let p = mkIntPronForm s1 s2 s3 in { s = p.s ; n = n ; g = g ; lock_IP = <>};
|
||||
|
||||
-- AdN
|
||||
mkAdN : Str -> AdN --%
|
||||
= \s -> {s = s ; p = False ; lock_AdN = <>} ;
|
||||
mkAdN : Str -> AdN = \s -> {s = s ; p = False ; lock_AdN = <>} ;
|
||||
--2 Adjectives
|
||||
|
||||
mkA = overload {
|
||||
mkA : Str-> A
|
||||
mkA : Str-> A -- e.g ach'a
|
||||
= \s -> regAdjective s ** {lock_A = <>} ;
|
||||
mkA : Str -> Str -> A2
|
||||
mkA : Str -> Str -> A2 -- e.g sE Xady krna
|
||||
= \a,c -> let n = regAdjective a in {s = n.s; c2 = c} ** {lock_A2 = <>} ;
|
||||
} ;
|
||||
mkA2 : A -> Str -> A2 ;
|
||||
@@ -74,42 +70,42 @@ oper
|
||||
|
||||
--2 Verbs
|
||||
|
||||
mkV : Str -> V
|
||||
mkV : Str -> V -- regular verbs like swna
|
||||
= \s -> mkVerb s ** {lock_V = <>} ;
|
||||
|
||||
mkV2 = overload {
|
||||
mkV2 : Str -> V2
|
||||
mkV2 : Str -> V2 -- e.g pyna
|
||||
= \s -> mkVerb s ** {c2 = {s = [] ; c = VTrans} ; lock_V2 = <>} ;
|
||||
mkV2 : V -> V2
|
||||
mkV2 : V -> V2 -- e.g pyna
|
||||
= \v -> v ** {c2 = {s = [] ; c = VTrans} ; lock_V2 = <>} ;
|
||||
mkV2 : V -> Str -> V2
|
||||
mkV2 : V -> Str -> V2 -- e.g bnd krna
|
||||
= \v,p -> v ** {c2 = {s = p ; c = VTrans} ; lock_V2 = <>} ;
|
||||
} ;
|
||||
dirV2 : V -> V2 = \v -> v ** {c2 = {s = [] ; c = VTrans} ; lock_V2 = <>} ; --%
|
||||
dirV2 : V -> V2 = \v -> v ** {c2 = {s = [] ; c = VTrans} ; lock_V2 = <>} ;
|
||||
|
||||
mkV3 : V -> Str -> Str -> V3;
|
||||
mkV3 : V -> Str -> Str -> V3; -- e.g bycna
|
||||
mkV3 v p q = v ** { c2 = p ; c3 = q ; lock_V3 = <>} ;
|
||||
mkV2V : V -> Str -> Str -> Bool -> V2V ;
|
||||
mkV2V : V -> Str -> Str -> Bool -> V2V ; -- e.g eltja krna - sE - kw
|
||||
mkV2V v s1 s2 b = v ** {isAux = b ; c1 = s1 ; c2 = s2 ; lock_V2V = <>} ;
|
||||
dirdirV3 : V -> V3 ;
|
||||
dirdirV3 v = v ** { c2 = [] ; c3 = [] ; lock_V3 = <>} ;
|
||||
|
||||
-- compund verbs
|
||||
compoundV = overload {
|
||||
compoundV : Str -> V -> V
|
||||
= \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
||||
compoundV : Str -> V2 -> V
|
||||
= \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
||||
compoundV : Str -> V -> V -- e.g barX hwna
|
||||
= \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
||||
compoundV : Str -> V2 -> V -- e.g bnd krna
|
||||
= \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
||||
};
|
||||
|
||||
|
||||
----2 Adverbs
|
||||
mkAdv : Str -> Adv
|
||||
= \str -> {s = \\_ => str ; lock_Adv = <>};
|
||||
mkAdv : Str -> Adv -- e.g yhaN
|
||||
= \str -> {s = \\_ => str ; lock_Adv = <>};
|
||||
|
||||
----2 Prepositions
|
||||
|
||||
mkPrep : Str -> Str -> Prep ;
|
||||
mkPrep : Str -> Str -> Prep ; -- e.g ka - ky
|
||||
mkPrep s1 s2 = makePrep s1 s2 ** {lock_Prep = <>};
|
||||
|
||||
--3 Determiners and quantifiers
|
||||
@@ -123,6 +119,8 @@ oper
|
||||
-- mkQuant : Pron -> Quant = \p -> {s = \\_,_,c => p.s!c ;a = p.a ; lock_Quant = <>};
|
||||
-- mkQuant : (no_sg, no_pl, none_sg, non_pl : Str) -> Quant = mkQuantifier;
|
||||
-- } ;
|
||||
mkIQuant : Str -> IQuant = \s -> makeIQuant s ;
|
||||
|
||||
|
||||
--2 Conjunctions
|
||||
mkConj : overload {
|
||||
@@ -131,13 +129,22 @@ oper
|
||||
mkConj : Str -> Str -> Conj ; -- both ... and (plural)
|
||||
mkConj : Str -> Str -> Number -> Conj ; -- either ... or (agrement number given as argument)
|
||||
} ;
|
||||
mkConj = overload {
|
||||
mkConj : Str -> Conj = \y -> mk2Conj [] y plural ;
|
||||
mkConj : Str -> Number -> Conj = \y,n -> mk2Conj [] y n ;
|
||||
mkConj : Str -> Str -> Conj = \x,y -> mk2Conj x y plural ;
|
||||
mkConj : Str -> Str -> Number -> Conj = mk2Conj ;
|
||||
} ;
|
||||
|
||||
mk2Conj : Str -> Str -> Number -> Conj = \x,y,n ->
|
||||
lin Conj (sd2 x y ** {n = n}) ;
|
||||
|
||||
-- mkV0 : V -> V0 ;
|
||||
mkVS : V -> VS;
|
||||
mkVS : V -> VS; -- e.g drna
|
||||
mkVS v = v ;
|
||||
-- mkV2S : V -> Prep -> V2S ;
|
||||
mkVV : V -> VV
|
||||
= \v -> lin VV (v ** {isAux = False});
|
||||
mkVV : V -> VV = -- e.g cahna
|
||||
\v -> lin VV (v ** {isAux = False});
|
||||
|
||||
mkAdA : Str -> AdA ;
|
||||
-- mkAdv x = lin Adv (ss x) ;
|
||||
@@ -148,7 +155,7 @@ oper
|
||||
-- mkV2V : V -> Prep -> Prep -> V2V ;
|
||||
-- mkVA : V -> VA ;
|
||||
-- mkV2A : V -> Prep -> V2A ;
|
||||
mkVQ : V -> VQ ;
|
||||
mkVQ : V -> VQ ; -- e.g janna
|
||||
mkVQ v = v ;
|
||||
-- mkV2Q : V -> Prep -> V2Q ;
|
||||
--
|
||||
@@ -181,18 +188,4 @@ oper
|
||||
-- nominative = Nom ;
|
||||
-- genitive = Gen ;
|
||||
|
||||
mkConj = overload {
|
||||
mkConj : Str -> Conj
|
||||
= \y -> mk2Conj [] y plural ;
|
||||
mkConj : Str -> Number -> Conj
|
||||
= \y,n -> mk2Conj [] y n ;
|
||||
mkConj : Str -> Str -> Conj
|
||||
= \x,y -> mk2Conj x y plural ;
|
||||
mkConj : Str -> Str -> Number -> Conj
|
||||
= mk2Conj ;
|
||||
} ;
|
||||
|
||||
mk2Conj : Str -> Str -> Number -> Conj = \x,y,n ->
|
||||
lin Conj (sd2 x y ** {n = n}) ;
|
||||
|
||||
}
|
||||
|
||||
@@ -9,12 +9,12 @@ concrete StructuralUrd of Structural = CatUrd **
|
||||
after_Prep = mkPrep ["كے بعد"] ["كے بعد"] ;
|
||||
all_Predet = ss "تمام" ;
|
||||
almost_AdA, almost_AdN = mkAdN "تقریبا" ;
|
||||
although_Subj = ss "اگرچh-" ;
|
||||
although_Subj = ss "اگرچہ" ;
|
||||
always_AdV = ss "ہمیشہ" ;
|
||||
and_Conj = sd2 [] "اور" ** {n = Pl} ;
|
||||
because_Subj = ss "كیونكh-" ;
|
||||
because_Subj = ss "كیونكہ" ;
|
||||
before_Prep = mkPrep "پہلے" "پہلے" ;
|
||||
behind_Prep = mkPrep "پیچh-ے" "پیچh-ے" ;
|
||||
behind_Prep = mkPrep "پیچھے" "پیچھے" ;
|
||||
between_Prep = mkPrep "درمیاں" "درمیاں" ;
|
||||
both7and_DConj = sd2 "دونوں" "اور" ** {n = Pl} ;
|
||||
but_PConj = ss "لیكن" ;
|
||||
@@ -40,12 +40,12 @@ concrete StructuralUrd of Structural = CatUrd **
|
||||
how8much_IAdv = ss "كتنا" ;
|
||||
if_Subj = ss "اگر" ;
|
||||
in8front_Prep = mkPrep ["كے سامنے"] ["كے سامنے"] ;
|
||||
i_Pron = personalPN "میں" "مجh-" "" "میرا" Sg Masc Pers1;
|
||||
in_Prep = mkPrep "معں" "معں" ;
|
||||
it_Pron = personalPN "یہ" "یہ" "یہ" "اس كا" Sg Masc Pers3_Near;
|
||||
i_Pron = personalPN "میں" "مجھ" "" "میرا" Sg Masc Pers1;
|
||||
in_Prep = mkPrep "میں" "میں" ;
|
||||
it_Pron = personalPN "یہ" "اس" "اس" "اس كا" Sg Masc Pers3_Near;
|
||||
less_CAdv = {s = "كم" ; p = ""} ;
|
||||
many_Det = mkDet "بہت زیادہ" "بہت زیادہ" "بہت زیادہ" "بہت زیادہ" Pl ;
|
||||
more_CAdv = {s = "زیادh-" ; p = "" } ;
|
||||
more_CAdv = {s = "زیادہ" ; p = "سے" } ;
|
||||
most_Predet = ss "زیادہ تر" ;
|
||||
much_Det = mkDet "بہت" "بہت" "بہت" "بہت" Sg ;
|
||||
-- must_VV = {
|
||||
@@ -64,20 +64,20 @@ concrete StructuralUrd of Structural = CatUrd **
|
||||
no_Utt = ss "نہیں" ;
|
||||
on_Prep = mkPrep "پر" "پر" ;
|
||||
-- one_Quant = demoPN "ایك" "ایك" "ایك" ; -- DEPRECATED
|
||||
only_Predet = ss "سرف" ;
|
||||
only_Predet = ss "صرف" ;
|
||||
or_Conj = sd2 [] "یا" ** {n = Sg} ;
|
||||
otherwise_PConj = ss "یا پh-ر" ;
|
||||
otherwise_PConj = ss "یا پھر" ;
|
||||
part_Prep = mkPrep "" "" ;
|
||||
please_Voc = ss "مہربانi" ;
|
||||
please_Voc = ss "مہربانی" ;
|
||||
possess_Prep = mkPrep "كا" "كی" ;
|
||||
quite_Adv = ss "كہامoسہ" ;
|
||||
quite_Adv = ss "خاموش" ;
|
||||
she_Pron = personalPN "وہ" "اس" "وہ" "اس كی" Sg Fem Pers3_Distant ;
|
||||
so_AdA = ss "سo" ;
|
||||
so_AdA = ss "[اس لیE]" ;
|
||||
somebody_NP = MassNP (UseN (ParadigmsUrd.mkN "كوی" "كوی" "كوی" "كوی" "كوی" "كوی" Masc ));
|
||||
someSg_Det = mkDet "كچh-" "كچh-" "كچh-" "كچh-" Sg ;
|
||||
somePl_Det = mkDet "كچh-" "كچh-" "كچh-" "كچh-" Pl ;
|
||||
something_NP = MassNP (UseN (ParadigmsUrd.mkN "كوی چیز" "كوی چیز" "كوی چیز" "كh- چیزیں" "كh- چیزوں" "كh- چیزو" Masc ));
|
||||
somewhere_Adv = mkAdv ["كہiن پر"] ;
|
||||
someSg_Det = mkDet "كچھ" "كچھ" "كچھ" "كچھ" Sg ;
|
||||
somePl_Det = mkDet "كچھ" "كچھ" "كچھ" "كچھ" Pl ;
|
||||
something_NP = MassNP (UseN (ParadigmsUrd.mkN "كوی چیز" "كوی چیز" "كوی چیز" "كھ چیزیں" "كھ چیزوں" "كھ چیزو" Masc ));
|
||||
somewhere_Adv = mkAdv ["كہیں پر"] ;
|
||||
that_Quant = demoPN "وہ" "اس" "ان" ;
|
||||
that_Subj = ss "كہ";
|
||||
there_Adv = mkAdv "وہاں" ;
|
||||
@@ -93,24 +93,25 @@ concrete StructuralUrd of Structural = CatUrd **
|
||||
very_AdA = ss "بہت" ;
|
||||
want_VV = mkV "چاہنا" ** { isAux = False} ;
|
||||
we_Pron = personalPN "ہم" "ہم" "ہم" "ہمارا" Pl Masc Pers1 ;
|
||||
whatSg_IP = mkIP "كیا" "كiس" "كiس" Sg Masc ;
|
||||
whatPl_IP = mkIP "كیا" "كiن" "كiن" Pl Masc ;
|
||||
whatSg_IP = mkIP "كیا" "كس" "كس" Sg Masc ;
|
||||
whatPl_IP = mkIP "كیا" "كن" "كن" Pl Masc ;
|
||||
when_IAdv = ss "كب" ;
|
||||
when_Subj = ss "كب" ;
|
||||
when_Subj = ss "جب" ;
|
||||
where_IAdv = ss "كہاں" ;
|
||||
which_IQuant = {s = \\_ => "كون سی"} ;
|
||||
-- which_IQuant = {s = \\_ => "كون سی"} ;
|
||||
which_IQuant = mkIQuant "كون" ;
|
||||
-- whichPl_IDet = makeDet "كون سا" "كون سی" "كون سے" "كون سی" ;
|
||||
-- whichSg_IDet = makeDet "كون سا" "كون سی" "كون سے" "كون سی" ;
|
||||
whoSg_IP = mkIP "كون" "كiس" "كiس" Sg Masc ;
|
||||
whoSg_IP = mkIP "كون" "كس" "كس" Sg Masc ;
|
||||
whoPl_IP = mkIP "كون" "كن" "كنہوں" Pl Masc ;
|
||||
why_IAdv = ss "كیوں" ;
|
||||
without_Prep = mkPrep ["كے بغیر"] ["كے بغیر"] ;
|
||||
with_Prep = mkPrep ["كے ساتh-"] ["كے ساتh-"] ;
|
||||
with_Prep = mkPrep ["كے ساتھ"] ["كے ساتھ"] ;
|
||||
-- yes_Phr = ss "ہاں" ;
|
||||
yes_Utt = ss "ہاں" ;
|
||||
youSg_Pron = personalPN "تم" "تم" "تم" "تمh-ارا" Sg Masc Pers2_Casual ;
|
||||
youPl_Pron = personalPN "تم" "تم" "تم" "تمh-ارا" Pl Masc Pers2_Casual ;
|
||||
youPol_Pron = personalPN "آپ" "آP" "آP" "آپ كا" Sg Masc Pers2_Respect ;
|
||||
youSg_Pron = personalPN "تو" "تو" "تو" "تیرا" Sg Masc Pers2_Casual ;
|
||||
youPl_Pron = personalPN "تم" "تم" "تم" "تمھارا" Pl Masc Pers2_Casual ;
|
||||
youPol_Pron = personalPN "آپ" "آپ" "آپ" "آپ كا" Sg Masc Pers2_Respect ;
|
||||
no_Quant = demoPN " كوی نہیں" "كوی نہیں" "كوی نہیں" ;
|
||||
not_Predet = {s="نہیں"} ;
|
||||
if_then_Conj = sd2 "اگر" "تو" ** {n = Sg} ;
|
||||
@@ -120,9 +121,9 @@ concrete StructuralUrd of Structural = CatUrd **
|
||||
except_Prep = mkPrep "سواے" "سواے" ;
|
||||
nobody_NP = MassNP (UseN (ParadigmsUrd.mkN "كوی نہیں" "كوی نہیں" "كوی نہیں" "كوی نہیں" "كوی نہیں" "كوی نہیں" Masc ));
|
||||
|
||||
as_CAdv = {s = "عتنا" ; p = "جتنا"} ;
|
||||
as_CAdv = {s = "اتنا" ; p = "جتنا"} ;
|
||||
|
||||
have_V2 = mkV2 (mkV "راكh-نا") "" ;
|
||||
have_V2 = mkV2 (mkV "راكھنا") "" ;
|
||||
|
||||
language_title_Utt = ss "اردو" ;
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
||||
VPPerfPresCont => {fin = copula CPresent n p g ; inf = (vp.s ! VPStem).inf ++ raha g n } ;
|
||||
VPPerfPastCont => {fin = copula CPast n p g ; inf = (vp.s ! VPStem).inf ++ raha g n } ;
|
||||
VPPerfFutCont => {fin = copula CFuture n p g ; inf = (vp.s ! VPStem).inf ++ raha g n ++ hw p n } ;
|
||||
VPSubj => {fin = insertSubj p (vp.s ! VPStem).inf ; inf = "xayd" }
|
||||
VPSubj => {fin = insertSubj p (vp.s ! VPStem).inf ; inf = "Xayd" }
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ concrete IdiomUrd of Idiom = CatUrd ** open Prelude,Predef, ResUrd,ParamX,Common
|
||||
|
||||
ExistNP np =
|
||||
mkSClause "whaN" (agrP3 (fromAgr np.a).g (fromAgr np.a).n)
|
||||
(insertObj (\\_ => np.s ! NPC Obl) (predAux auxBe)) ;
|
||||
(insertObj (\\_ => np.s ! NPC Dir) (predAux auxBe)) ;
|
||||
|
||||
ExistIP ip =
|
||||
let cl = mkSClause ("whaN" ++ ip.s ! Dir) (agrP3 ip.g ip.n) (predAux auxBe);
|
||||
@@ -30,9 +30,10 @@ concrete IdiomUrd of Idiom = CatUrd ** open Prelude,Predef, ResUrd,ParamX,Common
|
||||
-- ProgrVP vp = insertObj (\\a => vp.obj.s ++ vp.ad ++ vp.comp ! a ++ (vp.s ! VPStem).inf ++ raha (fromAgr a).g (fromAgr a).n ) (predAux auxBe) ;
|
||||
ProgrVP vp = (predProg vp) ;
|
||||
|
||||
|
||||
ImpPl1 vp = {s = "Aw" ++ infVP True vp (agrP1 Masc Pl)} ;
|
||||
ImpP3 np vp = {s = np.s!NPC Dir ++ "kw" ++ (vp.s ! VPImp ).inf ++ "dw"};
|
||||
-- ImpPl1 vp = {s = "Aw" ++ infVP True vp (agrP1 Masc Pl)} ; -- inf form is not used e.g Aw swna instead Aw swyyN (Imp.fin)
|
||||
ImpPl1 vp = {s = "Aw" ++ (vp.s ! VPImp).fin} ;
|
||||
-- ImpP3 np vp = {s = np.s!NPC Dir ++ "kw" ++ (vp.s ! VPImp ).inf ++ "dw"}; here VPImp form is not correct e.g jan ko sw do, rather jan ko swnE do, and swnE is stored in vp.VPInf.fin
|
||||
ImpP3 np vp = {s = np.s!NPC Dir ++ "kw" ++ (vp.s ! VPInf ).fin ++ "dw"};
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -17,30 +17,30 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
ask_V2Q = mkV2 (mkV "pwch'na") ;
|
||||
baby_N = mkN "bch" ;
|
||||
bad_A = mkA "bra" ;
|
||||
bank_N = mkN "bank" ;
|
||||
bank_N = mkN "bynk" ;
|
||||
beautiful_A = mkA "KwbSwrt" ;
|
||||
become_VA = mkV "bnna";
|
||||
beer_N = mkN "beer" ;
|
||||
beer_N = mkN "byyr" ;
|
||||
beg_V2V = mkV2V (compoundV "altja" (mkV "krna")) "sE" "kh" False;
|
||||
big_A = mkA "bRa" ;
|
||||
bike_N = mkN "saycl" feminine ;
|
||||
bike_N = mkN "saykl" feminine ;
|
||||
bird_N = mkN "prndh" ;
|
||||
black_A = mkA "kala" ;
|
||||
blue_A = mkA "nyla" ;
|
||||
boat_N = mkN "kXty" ;
|
||||
book_N = mkN "ktab" feminine ;
|
||||
boot_N = mkN "jwta" ;
|
||||
boss_N = mkN "Sahb" ;
|
||||
boss_N = mkN "SaHb" ;
|
||||
boy_N = mkN "lRka" ;
|
||||
bread_N = mkN "rwty" ;
|
||||
bread_N = mkN "rwTy" ;
|
||||
break_V2 = mkV2 (mkV "twRna") ;
|
||||
broad_A = mkA "kh'la" ;
|
||||
brother_N2 = mkN2 (mkN "bh'ay") (mkPrep "ka" "ka") "kE" ; --not correct
|
||||
brown_A = mkA "nswary" ;
|
||||
butter_N = mkN "mkh'n" ;
|
||||
buy_V2 = mkV2 (mkV "Krydna");
|
||||
buy_V2 = mkV2 (mkV "Krydna") "kw";
|
||||
camera_N = mkN "kymrh" ;
|
||||
cap_N = mkN "twpy" ;
|
||||
cap_N = mkN "Twpy" ;
|
||||
car_N = mkN "gaRy" ;
|
||||
carpet_N = mkN "tpay^y" ;
|
||||
cat_N = mkN "bly" ;
|
||||
@@ -49,7 +49,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
cheese_N = mkN "pnyr" feminine ;
|
||||
child_N = mkN "bch" ;
|
||||
church_N = mkCmpdNoun "grja" (mkN "gh'r") ;
|
||||
city_N = mkN "Xhr" ;
|
||||
city_N = mkN "Xhr" ;
|
||||
clean_A = mkA "Saf" ;
|
||||
clever_A = mkA "hwXyar" ;
|
||||
close_V2 = mkV2 (compoundV "bnd" do_V2);
|
||||
@@ -65,7 +65,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
distance_N3 = mkN3 (mkN "faSlh") (mkPrep "ka" "ka") "kE" "sE" ;
|
||||
doctor_N = mkN "mealj" ;
|
||||
dog_N = mkN "kta" ;
|
||||
door_N = mkN "drwzh" ;
|
||||
door_N = mkN "drwazh" ;
|
||||
drink_V2 = mkV2 (mkV "pyna");
|
||||
easy_A2V = mkA "Asan" "" ;
|
||||
eat_V2 = mkV2 (mkV "kh'ana") "" ;
|
||||
@@ -73,13 +73,13 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
enemy_N = mkN "dXmn" ;
|
||||
factory_N = mkN "karKanh" ;
|
||||
father_N2 = mkN2 (mkN "aba") (mkPrep "ka" "ka") "kE" ;
|
||||
fear_VS = mkV "drna";
|
||||
fear_VS = mkV "Drna";
|
||||
find_V2 = mkV2 (mkV "pana") ;
|
||||
fish_N = mkN "mch'ly" ;
|
||||
floor_N = mkN "frX" ;
|
||||
forget_V2 = mkV2 (mkV "bh'wlna") ;
|
||||
fridge_N = mkN "fryg" ;
|
||||
-- friend_N = mkN "dwst" masculine ;
|
||||
fridge_N = mkN "fryj" ;
|
||||
friend_N = mkN "dwst" masculine ;
|
||||
fruit_N = mkN "ph'l" ;
|
||||
-- fun_AV = mkAV (regA "f?n") ;
|
||||
garden_N = mkN "baG" ;
|
||||
@@ -91,7 +91,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
green_A = mkA "sbz" ;
|
||||
harbour_N = mkCmpdNoun "bndr" (mkN "gah") ;
|
||||
hate_V2 = mkV2 (compoundV "nfrt" do_V2) ;
|
||||
hat_N = mkN "twpy" ;
|
||||
hat_N = mkN "Twpy" ;
|
||||
-- have_V2 = dirV2 (mk5V "ha?e" "has" "had" "had" "ha??ng") ;
|
||||
hear_V2 = mkV2 (mkV "snna") ;
|
||||
hill_N = mkN "phaRy" ;
|
||||
@@ -118,8 +118,8 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
lose_V2 = mkV2 (compoundV "kh'w" do_V2) ;
|
||||
love_N = mkN "mHbt" ;
|
||||
love_V2 = mkV2 (compoundV "pyar" do_V2) "kw";
|
||||
man_N = mkN "Admy" ; -- not correct according to rules should be discussed
|
||||
married_A2 = mkA "Xady?krna" "sE" ;
|
||||
man_N = mkN "Admy" "Admy" "Admy" "Admy" "AdmywN" "Admyw" masculine ;
|
||||
married_A2 = mkA "[Xady krna]" "sE" ;
|
||||
meat_N = mkN "gwXt" ;
|
||||
milk_N = mkN "dwdh'" ;
|
||||
moon_N = mkN "cand" ;
|
||||
@@ -162,10 +162,10 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
seek_V2 = mkV2 (compoundV "tlaX" do_V2) ;
|
||||
see_V2 = mkV2 (mkV "dykh'na") ;
|
||||
sell_V3 = mkV3 (mkV "bycna") "kw" "";
|
||||
send_V3 = mkV3 (mkV "bh'yjna") "kw" "";
|
||||
send_V3 = mkV3 (mkV "bh'yjna") "kw" "kw";
|
||||
sheep_N = mkN "bh'yR" feminine ;
|
||||
ship_N = mkN "jhaz" ;
|
||||
shirt_N = mkN "qmyZ-" feminine;
|
||||
shirt_N = mkN "qmyS" feminine;
|
||||
shoe_N = mkN "jwta" ;
|
||||
shop_N = mkN "dwkan" feminine ;
|
||||
short_A = mkA "ch'wTa" ;
|
||||
@@ -177,7 +177,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
sock_N = mkN "jrab" feminine ;
|
||||
speak_V2 = mkV2 (mkV "bwlna") ;
|
||||
star_N = mkN "stara" ;
|
||||
steel_N = mkN "styl" ;
|
||||
steel_N = mkN "sTyl" ;
|
||||
stone_N = mkN "pth'r" ;
|
||||
stove_N = mkN "cwlha" ;
|
||||
student_N = mkCmpdNoun "t-alb" (mkN "elm") ;
|
||||
@@ -186,10 +186,10 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
switch8off_V2 = mkV2 (mkV "clana") ;
|
||||
switch8on_V2 = mkV2 (compoundV "bnd" do_V2) ;
|
||||
table_N = mkN "myz" feminine ;
|
||||
talk_V3 = mkV3 (mkV "bwlna") "sE" "kE?barE?meN";
|
||||
teacher_N = mkN "?stad" ;
|
||||
talk_V3 = mkV3 (mkV "bwlna") "sE" "[kE barE myN]";
|
||||
teacher_N = mkN "astad" ;
|
||||
teach_V2 = mkV2 (mkV "pRh'na") ;
|
||||
television_N = mkN "telywyzn" ;
|
||||
television_N = mkN "tylywyxn" ;
|
||||
thick_A = mkA "mwTa" ;
|
||||
thin_A = mkA "ptla" ;
|
||||
train_N = mkN "gaRy" ;
|
||||
@@ -211,14 +211,14 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
wine_N = mkN "Xrab" feminine ;
|
||||
win_V2 = mkV2 (mkV "jytna") ;
|
||||
woman_N = mkN "ewrt" feminine ;
|
||||
wonder_VQ = compoundV "Heran" (mkV "hwna") ;
|
||||
wonder_VQ = compoundV "Hyran" (mkV "hwna") ;
|
||||
wood_N = mkN "lkRy" ;
|
||||
write_V2 = mkV2 (mkV "lkh'na") ;
|
||||
yellow_A = mkA "pyla" ;
|
||||
young_A = mkA "jwan" ;
|
||||
do_V2 = mkV2 (mkV "krna") ;
|
||||
now_Adv = mkAdv "ab" ;
|
||||
already_Adv = mkAdv "phlE?hy" ;
|
||||
already_Adv = mkAdv "[phlE hy]" ;
|
||||
song_N = mkN "gana" ;
|
||||
add_V3 = mkV3 (compoundV "aZ-afh" do_V2) "" "" ;
|
||||
number_N = mkN "hndsh" ;
|
||||
@@ -229,9 +229,9 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
left_Ord = {s = "bayaN" ; n = singular};
|
||||
right_Ord = {s= "dayaN" ; n = singular};
|
||||
far_Adv = mkAdv "dwr" ;
|
||||
correct_A = mkA "Syh" ;
|
||||
correct_A = mkA "SyH" ;
|
||||
dry_A = mkA "KXk" ;
|
||||
dull_A = mkA "nal?k" ;
|
||||
dull_A = mkA "nalayq" ;
|
||||
full_A = mkA "mkml" ;
|
||||
heavy_A = mkA "bh'ary" ;
|
||||
near_A = mkA "qryb" ;
|
||||
@@ -257,26 +257,26 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
earth_N = mkN "zmyn" feminine ;
|
||||
egg_N = mkN "anDh" ;
|
||||
eye_N = mkN "Ankh'" feminine ;
|
||||
fat_N = mkN "mwta" ;
|
||||
fat_N = mkN "mwTa" ;
|
||||
feather_N = mkN "pr" ;
|
||||
fingernail_N = mkN "naKn" ;
|
||||
fire_N = mkN "Ag" feminine ;
|
||||
flower_N = mkN "ph'wl" ;
|
||||
fog_N = mkN "dh'nd" feminine ;
|
||||
foot_N = mkN "pawN" ; -- not properly covered need to be discussed
|
||||
forest_N = mkN "njgl" ;
|
||||
grass_N = mkN "gh's" feminine ;
|
||||
guts_N = mkN "g?t" ; -- FIXME: no singular
|
||||
forest_N = mkN "jngl" ;
|
||||
grass_N = mkN "gh'as" feminine ;
|
||||
guts_N = mkN "gT" ; -- FIXME: no singular
|
||||
hair_N = mkN "bal" ;
|
||||
hand_N = mkN "hath'" ;
|
||||
head_N = mkN "sr" ;
|
||||
heart_N = mkN "dl" ;
|
||||
horn_N = mkN "gh'nty" ;
|
||||
horn_N = mkN "gh'nTy" ;
|
||||
husband_N = mkN "Xwhr" ;
|
||||
ice_N = mkN "brf" feminine ;
|
||||
knee_N = mkN "khny" ;
|
||||
leaf_N = mkN "pth" ;
|
||||
leg_N = mkN "tang" feminine ;
|
||||
leg_N = mkN "Tang" feminine ;
|
||||
liver_N = mkN "jgr" ;
|
||||
louse_N = mkN "gh'r" ;
|
||||
mouth_N = mkN "mnh" ;
|
||||
@@ -287,7 +287,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
person_N = mkN "XKS" ;
|
||||
rain_N = mkN "barX" feminine ;
|
||||
road_N = mkN "sRk" ;
|
||||
root_N = mkN "gR" feminine ;
|
||||
root_N = mkN "jR" feminine ;
|
||||
rope_N = mkN "rsy" ;
|
||||
salt_N = mkN "nmk" feminine ;
|
||||
sand_N = mkN "ryt" feminine ;
|
||||
@@ -317,7 +317,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
give_V3 = mkV3 (mkV "dyna") "kw" "";
|
||||
laugh_V = mkV "hnsna" ;
|
||||
-- lie_N = mkN "jh'wt" masculine ;
|
||||
lie_V = compoundV "jh'wt" (mkV "bwlna" );
|
||||
lie_V = compoundV "jh'wT" (mkV "bwlna" );
|
||||
play_V = mkV "kh'ylna" ;
|
||||
sew_V = mkV "syna" ;
|
||||
sing_V = mkV "gana" ;
|
||||
@@ -330,12 +330,12 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
think_V = mkV "swcna" ;
|
||||
turn_V = mkV "mRna";
|
||||
vomit_V = compoundV "alty" (mkV "krna") ;
|
||||
bite_V2 = mkV2 (mkV "katna") ;
|
||||
bite_V2 = mkV2 (mkV "kaTna") ;
|
||||
count_V2 = mkV2 (mkV "gnna") ;
|
||||
cut_V2 = mkV2 (mkV "katna") ;
|
||||
fear_V2 = mkV2 (mkV "Drna") ;
|
||||
fight_V2 = mkV2 (mkV "lRna") ;
|
||||
hit_V2 = mkV2 (compoundV "th'wkr" (mkV "marna" ));
|
||||
hit_V2 = mkV2 (compoundV "Th'wkr" (mkV "marna" ));
|
||||
hold_V2 = mkV2 (mkV "pkRna") ;
|
||||
hunt_V2 = mkV2 (compoundV "Xkar" do_V2);
|
||||
kill_V2 = mkV2 (compoundV "mar" (mkV "Dalna" )) ;
|
||||
@@ -343,7 +343,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
||||
push_V2 = mkV2 (mkV "dh'kylna") "kw" ;
|
||||
rub_V2 = mkV2 (mkV "rgRna") ;
|
||||
scratch_V2 = mkV2 (mkV "kh'rcna") "kw" ;
|
||||
split_V2 = mkV2 (mkV "banta") "kw" ;
|
||||
split_V2 = mkV2 (mkV "banTna") "kw" ;
|
||||
-- squeeze_V2 = dirV2 (regV "sq?eeze") ;
|
||||
-- stab_V2 = dirV2 (regDuplV "stab") ;
|
||||
suck_V2 = mkV2 (mkV "cwsna") ;
|
||||
|
||||
@@ -170,7 +170,7 @@ oper
|
||||
(bhao) (bhao) (bhao)
|
||||
Masc ;
|
||||
----2 Determiners
|
||||
IDeterminer = {s:Gender => Str ; n : Number};
|
||||
IDeterminer = {s:Gender => Case => Str ; n : Number};
|
||||
makeDet : Str -> Str -> Str -> Str -> Number -> Determiner = \s1,s2,s3,s4,n -> {
|
||||
s = table {
|
||||
Sg => table {
|
||||
@@ -188,11 +188,37 @@ oper
|
||||
|
||||
makeIDet : Str -> Str -> Number -> IDeterminer = \s1,s2,n -> {
|
||||
s = table {
|
||||
Masc => s1;
|
||||
Fem => s2
|
||||
Masc => table {_ =>s1};
|
||||
Fem => table {_ =>s2}
|
||||
};
|
||||
n = n
|
||||
};
|
||||
};
|
||||
|
||||
-- IQuant
|
||||
|
||||
makeIQuant : Str -> {s : Number => Gender => Case => Str} = \str -> {
|
||||
s = table {
|
||||
Sg => table {
|
||||
Masc => table {
|
||||
Dir => str ++ "sa" ;
|
||||
_ => str ++ "sE"
|
||||
|
||||
};
|
||||
Fem => table {
|
||||
_ => str ++ "sy"
|
||||
}
|
||||
};
|
||||
Pl => table {
|
||||
Masc => table {
|
||||
_ => str ++ "sE"
|
||||
};
|
||||
Fem => table {
|
||||
_ => str ++ "sy"
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
-- Proposition
|
||||
|
||||
@@ -379,7 +405,7 @@ oper
|
||||
<Imperf,Pers2_Respect,Pl,Fem> => root+"tyN";
|
||||
<Imperf,_,Sg,Masc> => root+"ta";
|
||||
<Imperf,_,Sg,Fem> => root+"ty";
|
||||
<Imperf,_,Pl,Masc> => root+"te";
|
||||
<Imperf,_,Pl,Masc> => root+"tE";
|
||||
<Imperf,_,Pl,Fem> => root+"tyN"
|
||||
}
|
||||
|
||||
|
||||
@@ -9,12 +9,12 @@ concrete StructuralUrd of Structural = CatUrd **
|
||||
after_Prep = mkPrep ["kE bed"] ["kE bed"] ;
|
||||
all_Predet = ss "tmam" ;
|
||||
almost_AdA, almost_AdN = mkAdN "tqryba" ;
|
||||
although_Subj = ss "agrch-" ;
|
||||
although_Subj = ss "agrch" ;
|
||||
always_AdV = ss "hmyXh" ;
|
||||
and_Conj = sd2 [] "awr" ** {n = Pl} ;
|
||||
because_Subj = ss "kywnkh-" ;
|
||||
because_Subj = ss "kywnkh" ;
|
||||
before_Prep = mkPrep "phlE" "phlE" ;
|
||||
behind_Prep = mkPrep "pych-E" "pych-E" ;
|
||||
behind_Prep = mkPrep "pych'E" "pych'E" ;
|
||||
between_Prep = mkPrep "drmyaN" "drmyaN" ;
|
||||
both7and_DConj = sd2 "dwnwN" "awr" ** {n = Pl} ;
|
||||
but_PConj = ss "lykn" ;
|
||||
@@ -40,12 +40,12 @@ concrete StructuralUrd of Structural = CatUrd **
|
||||
how8much_IAdv = ss "ktna" ;
|
||||
if_Subj = ss "agr" ;
|
||||
in8front_Prep = mkPrep ["kE samnE"] ["kE samnE"] ;
|
||||
i_Pron = personalPN "myN" "mjh-" "" "myra" Sg Masc Pers1;
|
||||
in_Prep = mkPrep "meN" "meN" ;
|
||||
it_Pron = personalPN "yh" "yh" "yh" "as ka" Sg Masc Pers3_Near;
|
||||
i_Pron = personalPN "myN" "mjh'" "" "myra" Sg Masc Pers1;
|
||||
in_Prep = mkPrep "myN" "myN" ;
|
||||
it_Pron = personalPN "yh" "as" "as" "as ka" Sg Masc Pers3_Near;
|
||||
less_CAdv = {s = "km" ; p = ""} ;
|
||||
many_Det = mkDet "bht zyadh" "bht zyadh" "bht zyadh" "bht zyadh" Pl ;
|
||||
more_CAdv = {s = "zyadh-" ; p = "" } ;
|
||||
more_CAdv = {s = "zyadh" ; p = "sE" } ;
|
||||
most_Predet = ss "zyadh tr" ;
|
||||
much_Det = mkDet "bht" "bht" "bht" "bht" Sg ;
|
||||
-- must_VV = {
|
||||
@@ -64,20 +64,20 @@ concrete StructuralUrd of Structural = CatUrd **
|
||||
no_Utt = ss "nhyN" ;
|
||||
on_Prep = mkPrep "pr" "pr" ;
|
||||
-- one_Quant = demoPN "ayk" "ayk" "ayk" ; -- DEPRECATED
|
||||
only_Predet = ss "srf" ;
|
||||
only_Predet = ss "Srf" ;
|
||||
or_Conj = sd2 [] "ya" ** {n = Sg} ;
|
||||
otherwise_PConj = ss "ya ph-r" ;
|
||||
otherwise_PConj = ss "ya ph'r" ;
|
||||
part_Prep = mkPrep "" "" ;
|
||||
please_Voc = ss "mhrbani" ;
|
||||
please_Voc = ss "mhrbany" ;
|
||||
possess_Prep = mkPrep "ka" "ky" ;
|
||||
quite_Adv = ss "khamosh" ;
|
||||
quite_Adv = ss "KamwX" ;
|
||||
she_Pron = personalPN "wh" "as" "wh" "as ky" Sg Fem Pers3_Distant ;
|
||||
so_AdA = ss "so" ;
|
||||
so_AdA = ss "[as lyE]" ;
|
||||
somebody_NP = MassNP (UseN (ParadigmsUrd.mkN "kwy" "kwy" "kwy" "kwy" "kwy" "kwy" Masc ));
|
||||
someSg_Det = mkDet "kch-" "kch-" "kch-" "kch-" Sg ;
|
||||
somePl_Det = mkDet "kch-" "kch-" "kch-" "kch-" Pl ;
|
||||
something_NP = MassNP (UseN (ParadigmsUrd.mkN "kwy cyz" "kwy cyz" "kwy cyz" "kh- cyzyN" "kh- cyzwN" "kh- cyzw" Masc ));
|
||||
somewhere_Adv = mkAdv ["khin pr"] ;
|
||||
someSg_Det = mkDet "kch'" "kch'" "kch'" "kch'" Sg ;
|
||||
somePl_Det = mkDet "kch'" "kch'" "kch'" "kch'" Pl ;
|
||||
something_NP = MassNP (UseN (ParadigmsUrd.mkN "kwy cyz" "kwy cyz" "kwy cyz" "kh' cyzyN" "kh' cyzwN" "kh' cyzw" Masc ));
|
||||
somewhere_Adv = mkAdv ["khyN pr"] ;
|
||||
that_Quant = demoPN "wh" "as" "an" ;
|
||||
that_Subj = ss "kh";
|
||||
there_Adv = mkAdv "whaN" ;
|
||||
@@ -93,24 +93,25 @@ concrete StructuralUrd of Structural = CatUrd **
|
||||
very_AdA = ss "bht" ;
|
||||
want_VV = mkV "cahna" ** { isAux = False} ;
|
||||
we_Pron = personalPN "hm" "hm" "hm" "hmara" Pl Masc Pers1 ;
|
||||
whatSg_IP = mkIP "kya" "kis" "kis" Sg Masc ;
|
||||
whatPl_IP = mkIP "kya" "kin" "kin" Pl Masc ;
|
||||
whatSg_IP = mkIP "kya" "ks" "ks" Sg Masc ;
|
||||
whatPl_IP = mkIP "kya" "kn" "kn" Pl Masc ;
|
||||
when_IAdv = ss "kb" ;
|
||||
when_Subj = ss "kb" ;
|
||||
when_Subj = ss "jb" ;
|
||||
where_IAdv = ss "khaN" ;
|
||||
which_IQuant = {s = \\_ => "kwn sy"} ;
|
||||
-- which_IQuant = {s = \\_ => "kwn sy"} ;
|
||||
which_IQuant = mkIQuant "kwn" ;
|
||||
-- whichPl_IDet = makeDet "kwn sa" "kwn sy" "kwn sE" "kwn sy" ;
|
||||
-- whichSg_IDet = makeDet "kwn sa" "kwn sy" "kwn sE" "kwn sy" ;
|
||||
whoSg_IP = mkIP "kwn" "kis" "kis" Sg Masc ;
|
||||
whoSg_IP = mkIP "kwn" "ks" "ks" Sg Masc ;
|
||||
whoPl_IP = mkIP "kwn" "kn" "knhwN" Pl Masc ;
|
||||
why_IAdv = ss "kywN" ;
|
||||
without_Prep = mkPrep ["kE bGyr"] ["kE bGyr"] ;
|
||||
with_Prep = mkPrep ["kE sath-"] ["kE sath-"] ;
|
||||
with_Prep = mkPrep ["kE sath'"] ["kE sath'"] ;
|
||||
-- yes_Phr = ss "haN" ;
|
||||
yes_Utt = ss "haN" ;
|
||||
youSg_Pron = personalPN "tm" "tm" "tm" "tmh-ara" Sg Masc Pers2_Casual ;
|
||||
youPl_Pron = personalPN "tm" "tm" "tm" "tmh-ara" Pl Masc Pers2_Casual ;
|
||||
youPol_Pron = personalPN "Ap" "AP" "AP" "Ap ka" Sg Masc Pers2_Respect ;
|
||||
youSg_Pron = personalPN "tw" "tw" "tw" "tyra" Sg Masc Pers2_Casual ;
|
||||
youPl_Pron = personalPN "tm" "tm" "tm" "tmh'ara" Pl Masc Pers2_Casual ;
|
||||
youPol_Pron = personalPN "Ap" "Ap" "Ap" "Ap ka" Sg Masc Pers2_Respect ;
|
||||
no_Quant = demoPN " kwy nhyN" "kwy nhyN" "kwy nhyN" ;
|
||||
not_Predet = {s="nhyN"} ;
|
||||
if_then_Conj = sd2 "agr" "tw" ** {n = Sg} ;
|
||||
@@ -120,9 +121,9 @@ concrete StructuralUrd of Structural = CatUrd **
|
||||
except_Prep = mkPrep "swaE" "swaE" ;
|
||||
nobody_NP = MassNP (UseN (ParadigmsUrd.mkN "kwy nhyN" "kwy nhyN" "kwy nhyN" "kwy nhyN" "kwy nhyN" "kwy nhyN" Masc ));
|
||||
|
||||
as_CAdv = {s = "etna" ; p = "jtna"} ;
|
||||
as_CAdv = {s = "atna" ; p = "jtna"} ;
|
||||
|
||||
have_V2 = mkV2 (mkV "rakh-na") "" ;
|
||||
have_V2 = mkV2 (mkV "rakh'na") "" ;
|
||||
|
||||
language_title_Utt = ss "ardw" ;
|
||||
|
||||
|
||||
@@ -9,3 +9,4 @@ rf -file=src/LexiconUrd.gf | ps -env=quotes -to_urdu | wf -file=LexiconUrd.gf
|
||||
rf -file=src/MorphoUrd.gf | ps -env=quotes -to_urdu | wf -file=MorphoUrd.gf
|
||||
rf -file=src/StructuralUrd.gf | ps -env=quotes -to_urdu | wf -file=StructuralUrd.gf
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user