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