forked from GitHub/gf-core
refinementsUrdPhrbook-2011-05-12
This commit is contained in:
@@ -1,29 +1,29 @@
|
|||||||
concrete GreetingsUrd of Greetings = SentencesUrd [mkGreeting] ** open Prelude in {
|
concrete GreetingsUrd of Greetings = SentencesUrd [mkGreeting] ** open (P=Prelude) in {
|
||||||
|
|
||||||
-- lincat
|
-- lincat
|
||||||
-- Greeting = {s : Str; lock_Text : {}} ;
|
-- Greeting = {s : Str; lock_Text : {}} ;
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
lin
|
lin
|
||||||
GBye = ss "خدا حافظ" ;
|
GBye = P.ss "خدا حافظ" ;
|
||||||
GCheers = ss "چیرز" ;
|
GCheers = P.ss "چیرز" ;
|
||||||
GDamn = ss "اف" ;
|
GDamn = P.ss "اف" ;
|
||||||
GExcuse, GExcusePol = ss "معاف كیجیے گا" ;
|
GExcuse, GExcusePol = P.ss "معاف كیجیے گا" ;
|
||||||
GGoodDay = ss "دن بخیر" ; ----
|
GGoodDay = P.ss "دن بخیر" ; ----
|
||||||
GGoodEvening = ss "شام بخیر" ;
|
GGoodEvening = P.ss "شام بخیر" ;
|
||||||
GGoodMorning = ss "صبح بخیر" ;
|
GGoodMorning = P.ss "صبح بخیر" ;
|
||||||
GGoodNight = ss "رات بخیر" ;
|
GGoodNight = P.ss "رات بخیر" ;
|
||||||
GGoodbye = ss "خدا حافظ" ;
|
GGoodbye = P.ss "خدا حافظ" ;
|
||||||
GHello = ss "اسلام علیكم" ;
|
GHello = P.ss "اسلام علیكم" ;
|
||||||
GHelp = ss "مدد" ;
|
GHelp = P.ss "مدد" ;
|
||||||
GHowAreYou = ss "آپ كیسی ہو" ;
|
GHowAreYou = P.ss "آپ كیسی ہو" ;
|
||||||
GLookOut = ss "دیكھ كر" ;
|
GLookOut = P.ss "دیكھ كر" ;
|
||||||
GNiceToMeetYou, GNiceToMeetYouPol = ss "آپ سے مل كر اچھا لگا" ;
|
GNiceToMeetYou, GNiceToMeetYouPol = P.ss "آپ سے مل كر اچھا لگا" ;
|
||||||
GPleaseGive, GPleaseGivePol = ss "مہربانی كر كے" ;
|
GPleaseGive, GPleaseGivePol = P.ss "مہربانی كر كے" ;
|
||||||
GSeeYouSoon = ss "ملتے ہیں" ;
|
GSeeYouSoon = P.ss "ملتے ہیں" ;
|
||||||
GSorry, GSorryPol = ss "معاف كیجیے گا" ;
|
GSorry, GSorryPol = P.ss "معاف كیجیے گا" ;
|
||||||
GThanks = ss "شكریہ" ;
|
GThanks = P.ss "شكریہ" ;
|
||||||
GTheCheck = ss "بل" ;
|
GTheCheck = P.ss "بل" ;
|
||||||
GCongratulations = ss "مبارك ہو";
|
GCongratulations = P.ss "مبارك ہو";
|
||||||
GHappyBirthday = ss "سالگرہ مبارك" ;
|
GHappyBirthday = P.ss "سالگرہ مبارك" ;
|
||||||
GGoodLuck = ss "گڈ لك" ;
|
GGoodLuck = P.ss "گڈ لك" ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,14 @@
|
|||||||
concrete SentencesUrd of Sentences = NumeralUrd ** SentencesI - [sing] with
|
concrete SentencesUrd of Sentences = NumeralUrd ** SentencesI - [sing,IFemale,YouFamFemale,YouPolFemale] with
|
||||||
(Syntax = SyntaxUrd),
|
(Syntax = SyntaxUrd),
|
||||||
(Symbolic = SymbolicUrd),
|
(Symbolic = SymbolicUrd),
|
||||||
(Lexicon = LexiconUrd)
|
(Lexicon = LexiconUrd) **
|
||||||
|
open
|
||||||
|
(P=ParadigmsUrd),
|
||||||
|
ParamX,
|
||||||
|
StringsUrdu,
|
||||||
|
CommonHindustani in {
|
||||||
|
lin IFemale = mkPerson (P.personalPN myN mjh "" myra myry myrE myry Sg Fem Pers1) ;
|
||||||
|
YouFamFemale = mkPerson (P.personalPN tw tw tw tyra tyry tyrE tyry Sg Fem Pers2_Casual) ;
|
||||||
|
YouPolFemale = mkPerson (P.personalPN ap ap ap apka apky apkE apky Pl Fem Pers2_Respect);
|
||||||
|
|
||||||
|
} ;
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
concrete WordsUrd of Words = SentencesUrd **
|
concrete WordsUrd of Words = SentencesUrd **
|
||||||
open
|
open
|
||||||
SyntaxUrd,
|
SyntaxUrd,
|
||||||
|
CommonHindustani,
|
||||||
ParadigmsUrd,
|
ParadigmsUrd,
|
||||||
(L = LexiconUrd),
|
(L = LexiconUrd),
|
||||||
(P = ParadigmsUrd),
|
(P = ParadigmsUrd),
|
||||||
@@ -65,12 +66,12 @@ flags coding = utf8 ;
|
|||||||
Pub = mkPlace "پب" "میں" ;
|
Pub = mkPlace "پب" "میں" ;
|
||||||
Restaurant = mkPlace "ہوٹل" "میں" ;
|
Restaurant = mkPlace "ہوٹل" "میں" ;
|
||||||
School = mkPlace "سكول" "میں" ;
|
School = mkPlace "سكول" "میں" ;
|
||||||
Shop = mkPlace "دوكان" "میں" ;
|
Shop = mkPlaceFem "دوكان" "میں" Fem;
|
||||||
Station = mkPlace "سٹیشن" "پر" ;
|
Station = mkPlace "سٹیشن" "پر" ;
|
||||||
Supermarket = mkPlace "سپر ماركیٹ" "میں" ;
|
Supermarket = mkPlace "سپر ماركیٹ" "میں" ;
|
||||||
Theatre = mkPlace "تھیٹر" "پر" ;
|
Theatre = mkPlace "تھیٹر" "پر" ;
|
||||||
Toilet = mkPlace "غسل خانہ" "میں" ;
|
Toilet = mkPlace "غسل خانہ" "میں" ;
|
||||||
University = mkPlace "یونیورسٹی" "میں" ;
|
University = mkPlaceFem "یونیورسٹی" "میں" Fem;
|
||||||
Zoo = mkPlace "چڑیا گھر" "میں" ;
|
Zoo = mkPlace "چڑیا گھر" "میں" ;
|
||||||
|
|
||||||
CitRestaurant cit = mkCNPlace (mkCN cit (mkN "ہوٹل")) in_Prep to_Prep ;
|
CitRestaurant cit = mkCNPlace (mkCN cit (mkN "ہوٹل")) in_Prep to_Prep ;
|
||||||
@@ -142,10 +143,10 @@ flags coding = utf8 ;
|
|||||||
ALove p q = mkCl p.name (L.love_V2) q.name ;
|
ALove p q = mkCl p.name (L.love_V2) q.name ;
|
||||||
AMarried p = mkCl p.name (mkA "شادی شدہ") ;
|
AMarried p = mkCl p.name (mkA "شادی شدہ") ;
|
||||||
AReady p = mkCl p.name (mkA "تیار") ;
|
AReady p = mkCl p.name (mkA "تیار") ;
|
||||||
AScared p = mkCl p.name (mkA "ڈرا ہوا") ;
|
AScared p = mkCl p.name (P.mkCompoundA "ڈرا" "ہوا") ;
|
||||||
ASpeak p lang = mkCl p.name L.speak_V2 lang ;
|
ASpeak p lang = mkCl p.name L.speak_V2 lang ;
|
||||||
AThirsty p = mkCl p.name (mkA "پیاسا") ;
|
AThirsty p = mkCl p.name (mkA "پیاسا") ;
|
||||||
ATired p = mkCl p.name (mkA "تھكا ہوا") ;
|
ATired p = mkCl p.name (P.mkCompoundA "تھكا" "ہوا") ;
|
||||||
AUnderstand p = mkCl p.name (mkV "سمجھنا") ;
|
AUnderstand p = mkCl p.name (mkV "سمجھنا") ;
|
||||||
AWant p obj = mkCl p.name (mkV2 (mkV "چاہنا")) obj ;
|
AWant p obj = mkCl p.name (mkV2 (mkV "چاہنا")) obj ;
|
||||||
-- AWantGo p place = mkCl p.name want_VV (mkVP (mkVP L.go_V) place.name) ;
|
-- AWantGo p place = mkCl p.name want_VV (mkVP (mkVP L.go_V) place.name) ;
|
||||||
@@ -154,7 +155,7 @@ flags coding = utf8 ;
|
|||||||
-- miscellaneous
|
-- miscellaneous
|
||||||
|
|
||||||
QWhatName p = mkQS (mkQCl whatSg_IP (mkVP (nameOf p))) ;
|
QWhatName p = mkQS (mkQCl whatSg_IP (mkVP (nameOf p))) ;
|
||||||
---- QWhatAge p = mkQS (mkQCl (ICompAP (mkAP L.old_A)) p.name) ;
|
-- QWhatAge p = mkQS (mkQCl (ICompAP (mkAP L.old_A)) p.name) ;
|
||||||
-- HowMuchCost item = mkQS (mkQCl how8much_IAdv (mkCl item IrregUrd.cost_V)) ;
|
-- HowMuchCost item = mkQS (mkQCl how8much_IAdv (mkCl item IrregUrd.cost_V)) ;
|
||||||
-- ItCost item price = mkCl item (mkV2 IrregUrd.cost_V) price ;
|
-- ItCost item price = mkCl item (mkV2 IrregUrd.cost_V) price ;
|
||||||
|
|
||||||
@@ -168,10 +169,10 @@ flags coding = utf8 ;
|
|||||||
-- Building phrases from strings is complicated: the solution is to use
|
-- Building phrases from strings is complicated: the solution is to use
|
||||||
-- mkText : Text -> Text -> Text ;
|
-- mkText : Text -> Text -> Text ;
|
||||||
|
|
||||||
PSeeYouDate d = mkText (lin Text (ss ("ملتے ہیں"))) (mkPhrase (mkUtt d)) ;
|
PSeeYouDate d = mkText (lin Text (Prelude.ss ("ملتے ہیں"))) (mkPhrase (mkUtt d)) ;
|
||||||
PSeeYouPlace p = mkText (lin Text (ss ("ملتے ہیں"))) (mkPhrase (mkUtt p.at)) ;
|
PSeeYouPlace p = mkText (lin Text (Prelude.ss ("ملتے ہیں"))) (mkPhrase (mkUtt p.at)) ;
|
||||||
PSeeYouPlaceDate p d =
|
PSeeYouPlaceDate p d =
|
||||||
mkText (lin Text (ss ("ملتے ہیں")))
|
mkText (lin Text (Prelude.ss ("ملتے ہیں")))
|
||||||
(mkText (mkPhrase (mkUtt p.at)) (mkPhrase (mkUtt d))) ;
|
(mkText (mkPhrase (mkUtt p.at)) (mkPhrase (mkUtt d))) ;
|
||||||
|
|
||||||
-- Relations are expressed as "می وiفع" or "می سon'س وiفع", as defined by $xOf$
|
-- Relations are expressed as "می وiفع" or "می سon'س وiفع", as defined by $xOf$
|
||||||
@@ -235,16 +236,18 @@ flags coding = utf8 ;
|
|||||||
mkDay : Str -> {name : NP ; point : Adv ; habitual : Adv} = \d ->
|
mkDay : Str -> {name : NP ; point : Adv ; habitual : Adv} = \d ->
|
||||||
let day = mkNP (mkPN d) in
|
let day = mkNP (mkPN d) in
|
||||||
mkNPDay day (SyntaxUrd.mkAdv to_Prep day)
|
mkNPDay day (SyntaxUrd.mkAdv to_Prep day)
|
||||||
(SyntaxUrd.mkAdv to_Prep (mkNP a_Quant plNum (mkCN (mkN d)))) ;
|
(SyntaxUrd.mkAdv to_Prep (mkNP a_Quant sgNum (mkCN (mkN d)))) ; --changed from plNum to sgNum
|
||||||
|
|
||||||
mkCompoundPlace : Str -> Str -> Str -> {name : CN ; at : Prep ; to : Prep; isPl : Bool} = \comp, p, i ->
|
mkCompoundPlace : Str -> Str -> Str -> {name : CN ; at : Prep ; to : Prep; isPl : Bool} = \comp, p, i ->
|
||||||
-- mkCNPlace (mkCN (P.mkN comp (mkN p))) (P.mkPrep i) to_Prep ;
|
-- mkCNPlace (mkCN (P.mkN comp (mkN p))) (P.mkPrep i) to_Prep ;
|
||||||
mkCNPlace (mkCN (mkN (comp++p))) (P.mkPrep i i) to_Prep ;
|
mkCNPlace (mkCN (mkN (comp++p))) (P.mkPrep i i) to_Prep ;
|
||||||
|
|
||||||
mkPlace : Str -> Str -> {name : CN ; at : Prep ; to : Prep; isPl : Bool} = \p,i ->
|
mkPlace : Str -> Str -> {name : CN ; at : Prep ; to : Prep; isPl : Bool} = \p,i ->
|
||||||
mkCNPlace (mkCN (mkN p)) (P.mkPrep i i) to_Prep ;
|
mkCNPlace (mkCN (mkN p)) (P.mkPrep i i) to_Prep ;
|
||||||
|
mkPlaceFem : Str -> Str -> Gender -> {name : CN ; at : Prep ; to : Prep; isPl : Bool} = \p,i,g ->
|
||||||
|
mkCNPlace (mkCN (P.mkN p g)) (P.mkPrep i i) to_Prep ;
|
||||||
|
|
||||||
open_Adv = P.mkAdv "كھلا" ;
|
open_Adv = P.mkAdv "كھلا" "كھلی";
|
||||||
closed_Adv = P.mkAdv "بند" ;
|
closed_Adv = P.mkAdv "بند" ;
|
||||||
|
|
||||||
xOf : SentencesUrd.GNumber -> N -> NPPerson -> NPPerson = \n,x,p ->
|
xOf : SentencesUrd.GNumber -> N -> NPPerson -> NPPerson = \n,x,p ->
|
||||||
|
|||||||
@@ -247,6 +247,10 @@ resource CommonHindustani = ParamX ** open Prelude,Predef in {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
compoundAdj : Str -> Str -> Adjective = \s1,s2 -> mkCompoundAdj (regAdjective s1) (regAdjective s2) ;
|
||||||
|
mkCompoundAdj : Adjective -> Adjective -> Adjective ;
|
||||||
|
mkCompoundAdj adj1 adj2 = {s = \\n,g,c,d => adj1.s ! n ! g ! c ! d ++ adj2.s ! n ! g ! c ! d} ;
|
||||||
|
|
||||||
Verb : Type = {s : VerbForm => Str} ;
|
Verb : Type = {s : VerbForm => Str} ;
|
||||||
|
|
||||||
|
|||||||
@@ -36,13 +36,13 @@ incomplete concrete NounHindustani of Noun =
|
|||||||
|
|
||||||
DetQuantOrd quant num ord = {
|
DetQuantOrd quant num ord = {
|
||||||
-- s = \\ c => detquant2det quant.s num.s c ++ ord.s ;
|
-- s = \\ c => detquant2det quant.s num.s c ++ ord.s ;
|
||||||
s = \\n,g => quant.s!n!g!Dir ++ num.s ++ ord.s ;
|
s = \\n,g,c => quant.s!n!g!c ++ num.s ++ ord.s ;
|
||||||
n = num.n
|
n = num.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetQuant quant num = {
|
DetQuant quant num = {
|
||||||
-- s = \\c => detquant2det quant.s num.s c;
|
-- s = \\c => detquant2det quant.s num.s c;
|
||||||
s = \\n,g => quant.s!n!g!Dir ++ num.s;
|
s = \\n,g,c => quant.s!n!g!c ++ num.s;
|
||||||
n = num.n
|
n = num.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -51,7 +51,12 @@ incomplete concrete NounHindustani of Noun =
|
|||||||
a = agrP3 Masc Sg
|
a = agrP3 Masc Sg
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
PossPron p = {s = \\n,g,_ => p.ps ! n ! g ; a = p.a} ;
|
-- PossPron p = {s = \\n,g,_ => p.ps ! n ! g ; a = p.a} ;
|
||||||
|
PossPron p = {s = \\n,g,c => case c of {
|
||||||
|
Obl => p.ps ! Pl ! g ;
|
||||||
|
_ => p.ps ! n ! g
|
||||||
|
};
|
||||||
|
a = p.a} ;
|
||||||
|
|
||||||
NumSg = {s = []; n = Sg} ;
|
NumSg = {s = []; n = Sg} ;
|
||||||
NumPl = {s = []; n = Pl} ;
|
NumPl = {s = []; n = Pl} ;
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ param
|
|||||||
Preposition = {s : Gender => Str};
|
Preposition = {s : Gender => Str};
|
||||||
DemPronForm = {s : Number => Gender => Case => Str};
|
DemPronForm = {s : Number => Gender => Case => Str};
|
||||||
PossPronForm = {s : Number => Gender => Case => Str};
|
PossPronForm = {s : Number => Gender => Case => Str};
|
||||||
Determiner = {s : Number => Gender => Str ; n : Number};
|
Determiner = {s : Number => Gender => Case => Str ; n : Number};
|
||||||
|
|
||||||
-- a useful oper
|
-- a useful oper
|
||||||
eq : Str -> Str -> Bool = \s1,s2-> (pbool2bool (eqStr s1 s2)) ;
|
eq : Str -> Str -> Bool = \s1,s2-> (pbool2bool (eqStr s1 s2)) ;
|
||||||
@@ -64,14 +64,14 @@ param
|
|||||||
} ;
|
} ;
|
||||||
detcn2NP : (Determiner) -> Noun -> NPCase -> Number -> Str = \dt,cn,npc,nn -> case npc of {
|
detcn2NP : (Determiner) -> Noun -> NPCase -> Number -> Str = \dt,cn,npc,nn -> case npc of {
|
||||||
-- NPC c => dt.s ! Sg ! Masc ++ cn.s ! nn ! c ; --changed while phrasebook e.g tyry beti where gender of determiner 'tyry' should be dependent on gender of common noum e.g 'beti'
|
-- NPC c => dt.s ! Sg ! Masc ++ cn.s ! nn ! c ; --changed while phrasebook e.g tyry beti where gender of determiner 'tyry' should be dependent on gender of common noum e.g 'beti'
|
||||||
NPC c => dt.s ! nn ! cn.g ++ cn.s ! nn ! c ;
|
NPC c => dt.s ! nn ! cn.g ! c ++ cn.s ! nn ! c ;
|
||||||
NPObj => dt.s ! nn ! cn.g ++ cn.s ! nn ! Dir ;
|
NPObj => dt.s ! nn ! cn.g ! Dir ++ cn.s ! nn ! Dir ;
|
||||||
NPErg => dt.s ! nn ! cn.g ++ cn.s ! nn ! Obl ++ "nE"
|
NPErg => dt.s ! nn ! cn.g ! Obl ++ cn.s ! nn ! Obl ++ "nE"
|
||||||
} ;
|
} ;
|
||||||
det2NP : (Determiner) -> NPCase -> Str = \dt,npc -> case npc of {
|
det2NP : (Determiner) -> NPCase -> Str = \dt,npc -> case npc of {
|
||||||
NPC c => dt.s ! Sg ! Masc ;
|
NPC c => dt.s ! Sg ! Masc ! c ;
|
||||||
NPObj => dt.s ! Sg ! Masc ;
|
NPObj => dt.s ! Sg ! Masc ! Dir ;
|
||||||
NPErg => dt.s ! Sg ! Masc ++ "nE"
|
NPErg => dt.s ! Sg ! Masc ! Obl ++ "nE"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ incomplete concrete SymbolHindustani of Symbol =
|
|||||||
a = agrP3 cn.g Sg
|
a = agrP3 cn.g Sg
|
||||||
} ;
|
} ;
|
||||||
CNSymbNP det cn xs = {
|
CNSymbNP det cn xs = {
|
||||||
s = \\c => det.s!Sg!Masc ++ cn.s ! det.n ! Dir ++ xs.s ;
|
s = \\c => det.s ! det.n ! Masc ! Dir ++ cn.s ! det.n ! Dir ++ xs.s ; -- may be need to refine it i.e instead of using \\c should use table and then corresponding forms from det
|
||||||
a = agrP3 cn.g det.n
|
a = agrP3 cn.g det.n
|
||||||
} ;
|
} ;
|
||||||
CNNumNP cn i = {
|
CNNumNP cn i = {
|
||||||
|
|||||||
@@ -247,6 +247,10 @@ resource CommonHindustani = ParamX ** open Prelude,Predef in {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
compoundAdj : Str -> Str -> Adjective = \s1,s2 -> mkCompoundAdj (regAdjective s1) (regAdjective s2) ;
|
||||||
|
mkCompoundAdj : Adjective -> Adjective -> Adjective ;
|
||||||
|
mkCompoundAdj adj1 adj2 = {s = \\n,g,c,d => adj1.s ! n ! g ! c ! d ++ adj2.s ! n ! g ! c ! d} ;
|
||||||
|
|
||||||
Verb : Type = {s : VerbForm => Str} ;
|
Verb : Type = {s : VerbForm => Str} ;
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ incomplete concrete ExtraHindustani of ExtraHindustaniAbs = CatHindustani **
|
|||||||
open CommonHindustani,Coordination,ResHindustani, ParamX in {
|
open CommonHindustani,Coordination,ResHindustani, ParamX in {
|
||||||
lin
|
lin
|
||||||
-- GenNP np = {s = \\_,_,_ => np.s ! NPC Obl ++ "كا" ; a = np.a} ;
|
-- GenNP np = {s = \\_,_,_ => np.s ! NPC Obl ++ "كا" ; a = np.a} ;
|
||||||
GenNP np = {s = table {
|
GenNP np = {s = \\n,g,c =>
|
||||||
case <g,n,c> of {
|
case <n,g,c> of {
|
||||||
<Masc,_,_> => np.s ! NPC Obl ++ "كا" ;
|
<_,Masc,_> => np.s ! NPC Obl ++ "كا" ;
|
||||||
<Fem,_,_> => np.s ! NPC Obl ++ "كی"
|
<_,Fem,_> => np.s ! NPC Obl ++ "كی"
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
a = np.a} ;
|
a = np.a} ;
|
||||||
|
|
||||||
each_Det = mkDet "ہر كوی" "ہر كوی" "ہر كوی" "ہر كوی" Sg ;
|
each_Det = mkDet "ہر كوی" "ہر كوی" "ہر كوی" "ہر كوی" Sg ;
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ flags coding = utf8 ;
|
|||||||
-- GenNP np = {s = \\_,_,_ => np.s ! NPC Obl ++ "كا" ; a = np.a} ;
|
-- GenNP np = {s = \\_,_,_ => np.s ! NPC Obl ++ "كا" ; a = np.a} ;
|
||||||
GenNP np = {s = \\n,g,c =>
|
GenNP np = {s = \\n,g,c =>
|
||||||
case <n,g,c> of {
|
case <n,g,c> of {
|
||||||
<_,Masc,_> => np.s ! NPC Obl ++ "كا" ;
|
<Sg,Masc,Obl> => np.s ! NPC Obl ++ "كے" ;
|
||||||
|
<Sg,Masc,_> => np.s ! NPC Obl ++ "كا" ;
|
||||||
|
<Pl,Masc,_> => np.s ! NPC Obl ++ "كے" ;
|
||||||
<_,Fem,_> => np.s ! NPC Obl ++ "كی"
|
<_,Fem,_> => np.s ! NPC Obl ++ "كی"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -173,13 +173,13 @@ oper
|
|||||||
IDeterminer = {s:Gender => Case => 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 {
|
||||||
Masc => s1 ;
|
Masc => table {_ => s1} ;
|
||||||
Fem => s2
|
Fem => table {_ => s2}
|
||||||
} ;
|
} ;
|
||||||
Pl => table {
|
Pl => table {
|
||||||
Masc => s3 ;
|
Masc => table { _ => s3} ;
|
||||||
Fem => s4
|
Fem => table {_ => s4}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -75,6 +75,10 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
mkA2 : A -> Str -> A2 ;
|
mkA2 : A -> Str -> A2 ;
|
||||||
mkA2 a str = a ** {c2=str ; lock_A2 = <>} ;
|
mkA2 a str = a ** {c2=str ; lock_A2 = <>} ;
|
||||||
|
|
||||||
|
-- compound Adjectives
|
||||||
|
mkCompoundA : Str -> Str -> A ; -- e.g dra hwa
|
||||||
|
mkCompoundA s1 s2 = compoundAdj s1 s2 ;
|
||||||
|
|
||||||
--2 Verbs
|
--2 Verbs
|
||||||
|
|
||||||
@@ -108,8 +112,12 @@ oper
|
|||||||
|
|
||||||
|
|
||||||
----2 Adverbs
|
----2 Adverbs
|
||||||
|
mkAdv = overload {
|
||||||
mkAdv : Str -> Adv -- e.g yhaN
|
mkAdv : Str -> Adv -- e.g yhaN
|
||||||
= \str -> {s = \\_ => str ; lock_Adv = <>};
|
= \str -> {s = \\_ => str ; lock_Adv = <>};
|
||||||
|
mkAdv : Str -> Str -> Adv
|
||||||
|
= \m,f -> {s = table {Masc => m ; Fem => f} ; lock_Adv = <>};
|
||||||
|
};
|
||||||
|
|
||||||
----2 Prepositions
|
----2 Prepositions
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ param
|
|||||||
Preposition = {s : Gender => Str};
|
Preposition = {s : Gender => Str};
|
||||||
DemPronForm = {s : Number => Gender => Case => Str};
|
DemPronForm = {s : Number => Gender => Case => Str};
|
||||||
PossPronForm = {s : Number => Gender => Case => Str};
|
PossPronForm = {s : Number => Gender => Case => Str};
|
||||||
Determiner = {s : Number => Gender => Str ; n : Number};
|
Determiner = {s : Number => Gender => Case => Str ; n : Number};
|
||||||
|
|
||||||
-- a useful oper
|
-- a useful oper
|
||||||
eq : Str -> Str -> Bool = \s1,s2-> (pbool2bool (eqStr s1 s2)) ;
|
eq : Str -> Str -> Bool = \s1,s2-> (pbool2bool (eqStr s1 s2)) ;
|
||||||
@@ -64,14 +64,14 @@ param
|
|||||||
} ;
|
} ;
|
||||||
detcn2NP : (Determiner) -> Noun -> NPCase -> Number -> Str = \dt,cn,npc,nn -> case npc of {
|
detcn2NP : (Determiner) -> Noun -> NPCase -> Number -> Str = \dt,cn,npc,nn -> case npc of {
|
||||||
-- NPC c => dt.s ! Sg ! Masc ++ cn.s ! nn ! c ; --changed while phrasebook e.g tyry beti where gender of determiner 'tyry' should be dependent on gender of common noum e.g 'beti'
|
-- NPC c => dt.s ! Sg ! Masc ++ cn.s ! nn ! c ; --changed while phrasebook e.g tyry beti where gender of determiner 'tyry' should be dependent on gender of common noum e.g 'beti'
|
||||||
NPC c => dt.s ! nn ! cn.g ++ cn.s ! nn ! c ;
|
NPC c => dt.s ! nn ! cn.g ! c ++ cn.s ! nn ! c ;
|
||||||
NPObj => dt.s ! nn ! cn.g ++ cn.s ! nn ! Dir ;
|
NPObj => dt.s ! nn ! cn.g ! Dir ++ cn.s ! nn ! Dir ;
|
||||||
NPErg => dt.s ! nn ! cn.g ++ cn.s ! nn ! Obl ++ "نے"
|
NPErg => dt.s ! nn ! cn.g ! Obl ++ cn.s ! nn ! Obl ++ "نے"
|
||||||
} ;
|
} ;
|
||||||
det2NP : (Determiner) -> NPCase -> Str = \dt,npc -> case npc of {
|
det2NP : (Determiner) -> NPCase -> Str = \dt,npc -> case npc of {
|
||||||
NPC c => dt.s ! Sg ! Masc ;
|
NPC c => dt.s ! Sg ! Masc ! c ;
|
||||||
NPObj => dt.s ! Sg ! Masc ;
|
NPObj => dt.s ! Sg ! Masc ! Dir ;
|
||||||
NPErg => dt.s ! Sg ! Masc ++ "نے"
|
NPErg => dt.s ! Sg ! Masc ! Obl ++ "نے"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ concrete StructuralUrd of Structural = CatUrd **
|
|||||||
yes_Utt = ss "ہاں" ;
|
yes_Utt = ss "ہاں" ;
|
||||||
youSg_Pron = personalPN "تو" "تو" "تو" "تیرا" "تیری" "تیرے" "تیری" Sg Masc Pers2_Casual ;
|
youSg_Pron = personalPN "تو" "تو" "تو" "تیرا" "تیری" "تیرے" "تیری" Sg Masc Pers2_Casual ;
|
||||||
youPl_Pron = personalPN "تم" "تم" "تم" "تمھارا" "تمھاری" "تمھارے" "تمھاری" Pl Masc Pers2_Casual ;
|
youPl_Pron = personalPN "تم" "تم" "تم" "تمھارا" "تمھاری" "تمھارے" "تمھاری" Pl Masc Pers2_Casual ;
|
||||||
youPol_Pron = personalPN "آپ" "آپ" "آپ" ["آپ كا"] ["آپ كی"] ["آپ كے"] ["آپ كی"] Sg Masc Pers2_Respect ;
|
youPol_Pron = personalPN "آپ" "آپ" "آپ" ["آپ كا"] ["آپ كی"] ["آپ كے"] ["آپ كی"] Pl 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} ;
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ flags coding = utf8 ;
|
|||||||
-- GenNP np = {s = \\_,_,_ => np.s ! NPC Obl ++ "ka" ; a = np.a} ;
|
-- GenNP np = {s = \\_,_,_ => np.s ! NPC Obl ++ "ka" ; a = np.a} ;
|
||||||
GenNP np = {s = \\n,g,c =>
|
GenNP np = {s = \\n,g,c =>
|
||||||
case <n,g,c> of {
|
case <n,g,c> of {
|
||||||
<_,Masc,_> => np.s ! NPC Obl ++ "ka" ;
|
<Sg,Masc,Obl> => np.s ! NPC Obl ++ "kE" ;
|
||||||
|
<Sg,Masc,_> => np.s ! NPC Obl ++ "ka" ;
|
||||||
|
<Pl,Masc,_> => np.s ! NPC Obl ++ "kE" ;
|
||||||
<_,Fem,_> => np.s ! NPC Obl ++ "ky"
|
<_,Fem,_> => np.s ! NPC Obl ++ "ky"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -173,13 +173,13 @@ oper
|
|||||||
IDeterminer = {s:Gender => Case => 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 {
|
||||||
Masc => s1 ;
|
Masc => table {_ => s1} ;
|
||||||
Fem => s2
|
Fem => table {_ => s2}
|
||||||
} ;
|
} ;
|
||||||
Pl => table {
|
Pl => table {
|
||||||
Masc => s3 ;
|
Masc => table { _ => s3} ;
|
||||||
Fem => s4
|
Fem => table {_ => s4}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ concrete StructuralUrd of Structural = CatUrd **
|
|||||||
yes_Utt = ss "haN" ;
|
yes_Utt = ss "haN" ;
|
||||||
youSg_Pron = personalPN "tw" "tw" "tw" "tyra" "tyry" "tyrE" "tyry" Sg Masc Pers2_Casual ;
|
youSg_Pron = personalPN "tw" "tw" "tw" "tyra" "tyry" "tyrE" "tyry" Sg Masc Pers2_Casual ;
|
||||||
youPl_Pron = personalPN "tm" "tm" "tm" "tmh'ara" "tmh'ary" "tmh'arE" "tmh'ary" Pl Masc Pers2_Casual ;
|
youPl_Pron = personalPN "tm" "tm" "tm" "tmh'ara" "tmh'ary" "tmh'arE" "tmh'ary" Pl Masc Pers2_Casual ;
|
||||||
youPol_Pron = personalPN "Ap" "Ap" "Ap" ["Ap ka"] ["Ap ky"] ["Ap kE"] ["Ap ky"] Sg Masc Pers2_Respect ;
|
youPol_Pron = personalPN "Ap" "Ap" "Ap" ["Ap ka"] ["Ap ky"] ["Ap kE"] ["Ap ky"] Pl 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} ;
|
||||||
|
|||||||
Reference in New Issue
Block a user