mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-22 17:42:51 -06:00
refinements
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
concrete SentencesUrd of Sentences = NumeralUrd ** SentencesI - [sing,IFemale,YouFamFemale,YouPolFemale,MMust] with
|
concrete SentencesUrd of Sentences = NumeralUrd ** SentencesI - [sing,IFemale,YouFamFemale,YouPolFemale,MMust,YouPlurFamFemale,YouPlurPolFemale,YouFamMale] with
|
||||||
(Syntax = SyntaxUrd),
|
(Syntax = SyntaxUrd),
|
||||||
(Symbolic = SymbolicUrd),
|
(Symbolic = SymbolicUrd),
|
||||||
(Lexicon = LexiconUrd) **
|
(Lexicon = LexiconUrd) **
|
||||||
@@ -7,9 +7,11 @@ concrete SentencesUrd of Sentences = NumeralUrd ** SentencesI - [sing,IFemale,
|
|||||||
ParamX,
|
ParamX,
|
||||||
CommonHindustani in {
|
CommonHindustani in {
|
||||||
lin IFemale = mkPerson (P.personalPN myN mjh "" myra myry myrE myry Sg Fem Pers1) ;
|
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) ;
|
YouFamMale = mkPerson (P.personalPN tum tum tum tumhara tumhary tumharay tumhary Pl Masc Pers2_Familiar) ;
|
||||||
|
YouFamFemale = mkPerson (P.personalPN tum tum tum tyra tyry tyrE tyry Pl Fem Pers2_Familiar) ;
|
||||||
YouPolFemale = mkPerson (P.personalPN ap ap ap apka apky apkE apky Pl Fem Pers2_Respect);
|
YouPolFemale = mkPerson (P.personalPN ap ap ap apka apky apkE apky Pl Fem Pers2_Respect);
|
||||||
|
YouPlurFamFemale = mkPerson (P.personalPN tum tum tum tumhara tumhary tumharay tumhary Pl Fem Pers2_Familiar) ;
|
||||||
|
YouPlurPolFemale = mkPerson (P.personalPN ap ap ap apka apky apkE apky Pl Fem Pers2_Respect) ;
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
@@ -20,9 +22,13 @@ oper
|
|||||||
myry = "میری" ;
|
myry = "میری" ;
|
||||||
myrE = "میرے" ;
|
myrE = "میرے" ;
|
||||||
tw = "تو" ;
|
tw = "تو" ;
|
||||||
|
tum = "تم" ;
|
||||||
tyra = "تیرا" ;
|
tyra = "تیرا" ;
|
||||||
tyry = "تیری" ;
|
tyry = "تیری" ;
|
||||||
tyrE = "تیرے" ;
|
tyrE = "تیرے" ;
|
||||||
|
tumhara = "تمھارا" ;
|
||||||
|
tumhary = "تمھاری" ;
|
||||||
|
tumharay = "تمھارے" ;
|
||||||
ap = "آپ" ;
|
ap = "آپ" ;
|
||||||
apka = ["آپ كا"] ;
|
apka = ["آپ كا"] ;
|
||||||
apky = ["آپ كی"] ;
|
apky = ["آپ كی"] ;
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ flags coding = utf8 ;
|
|||||||
Expensive = mkA "مہنگا" ;
|
Expensive = mkA "مہنگا" ;
|
||||||
Fresh = mkA "تازہ" ;
|
Fresh = mkA "تازہ" ;
|
||||||
Good = L.good_A ;
|
Good = L.good_A ;
|
||||||
Suspect = mkA "" ;
|
Suspect = mkA "برا" ;
|
||||||
Warm = L.warm_A ;
|
Warm = L.warm_A ;
|
||||||
|
|
||||||
-- Places require different prepositions to express location; in some languages
|
-- Places require different prepositions to express location; in some languages
|
||||||
@@ -154,9 +154,12 @@ 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 (mkCl (mkNP (modQuant p.poss)) (mkAdv "عمر"))) ;
|
QWhatName p = mkQS (mkQCl what_IAdv (mkNP p.poss (P.mkN "نام" "نام" "نام" "نام" "نام" "نام" masculine))) ;
|
||||||
|
-- QWhatAge p = mkQS (mkQCl (mkCl (mkNP (modQuant p.poss)) (mkAdv "عمر"))) ;
|
||||||
|
QWhatAge p = mkQS (mkQCl howMuch_IAdv (mkNP (modQuant p.poss) (P.mkN "عمر" "عمر" "عمر" "عمریں" "عمریں" "عمرو" feminine))) ;
|
||||||
HowMuchCost item = mkQS (mkQCl (mkCl (modNP item) (mkAdv ["كی قیمت"]))) ;
|
HowMuchCost item = mkQS (mkQCl (mkCl (modNP item) (mkAdv ["كی قیمت"]))) ;
|
||||||
|
-- HowMuchCost item = mkQS (mkQCl howMuch_IAdv (mkNP cost_Predet (modNP item))) ;
|
||||||
ItCost item price = mkCl item (mkV2 (mkV "قیمت")) price ;
|
ItCost item price = mkCl item (mkV2 (mkV "قیمت")) price ;
|
||||||
|
|
||||||
PropOpen p = mkCl p.name open_Adv ;
|
PropOpen p = mkCl p.name open_Adv ;
|
||||||
@@ -169,11 +172,11 @@ 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 (Prelude.ss ("ملتے ہیں"))) (mkPhrase (mkUtt d)) ;
|
PSeeYouDate d = mkText (mkPhrase (mkUtt d)) (lin Text (Prelude.ss ("ملتے ہیں"))) ;
|
||||||
PSeeYouPlace p = mkText (lin Text (Prelude.ss ("ملتے ہیں"))) (mkPhrase (mkUtt p.at)) ;
|
PSeeYouPlace p = mkText (mkPhrase (mkUtt p.at)) (lin Text (Prelude.ss ("ملتے ہیں"))) ;
|
||||||
PSeeYouPlaceDate p d =
|
PSeeYouPlaceDate p d =
|
||||||
mkText (lin Text (Prelude.ss ("ملتے ہیں")))
|
mkText (mkText (mkPhrase (mkUtt p.at)) (mkPhrase (mkUtt d)))
|
||||||
(mkText (mkPhrase (mkUtt p.at)) (mkPhrase (mkUtt d))) ;
|
(lin Text (Prelude.ss ("ملتے ہیں"))) ;
|
||||||
|
|
||||||
-- Relations are expressed as "می وiفع" or "می سon'س وiفع", as defined by $xOf$
|
-- Relations are expressed as "می وiفع" or "می سon'س وiفع", as defined by $xOf$
|
||||||
-- below. Languages without productive genitives must use an equivalent of
|
-- below. Languages without productive genitives must use an equivalent of
|
||||||
@@ -234,9 +237,10 @@ flags coding = utf8 ;
|
|||||||
mkNPNationality (mkNP (mkPN nat)) (mkNP (mkPN co)) (mkA nat) ;
|
mkNPNationality (mkNP (mkPN nat)) (mkNP (mkPN co)) (mkA nat) ;
|
||||||
|
|
||||||
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)
|
-- let day = (mkNP (mkCN (mkN d))) in
|
||||||
(SyntaxUrd.mkAdv to_Prep (mkNP a_Quant sgNum (mkCN (mkN d)))) ; --changed from plNum to sgNum
|
mkNPDay (mkNP (mkCN (mkN d))) (SyntaxUrd.mkAdv to_Prep (mkNP (mkCN (mkN d))))
|
||||||
|
(SyntaxUrd.mkAdv to_Prep (mkNP (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 ;
|
||||||
@@ -262,9 +266,12 @@ flags coding = utf8 ;
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- mkSuperl : A -> Det = \a -> SyntaxUrd.mkDet the_Art (SyntaxUrd.mkOrd a) ;
|
-- mkSuperl : A -> Det = \a -> SyntaxUrd.mkDet the_Art (SyntaxUrd.mkOrd a) ;
|
||||||
mkSuperl : A -> Det = \a -> lin Det { s = \\n,g,c => a.s ! n ! g ! c ! Posit ; n = Sg } ;
|
mkSuperl : A -> Det = \a -> lin Det { s = \\n,g,c => a.s ! n ! g ! c ! Superl ; n = Sg } ;
|
||||||
|
|
||||||
far_IAdv = ExtraUrd.IAdvAdv (P.mkAdv "دور") ;
|
far_IAdv = ExtraUrd.IAdvAdv (P.mkAdv "دور") ;
|
||||||
|
what_IAdv = lin IAdv {s = "كیا"} ;
|
||||||
|
howMuch_IAdv = lin IAdv {s = "كتنی"} ;
|
||||||
|
-- cost_Predet = lin Predet {s = ["كی قیمت"]} ;
|
||||||
-------------------
|
-------------------
|
||||||
modN : N -> N = \noun -> lin N {s = \\n,c =>noun.s!n!c++"كا" ; g =noun.g} ;
|
modN : N -> N = \noun -> lin N {s = \\n,c =>noun.s!n!c++"كا" ; g =noun.g} ;
|
||||||
modQuant : Quant -> Quant = \q -> lin Quant {s = \\n,g,c => q.s ! n ! Fem ! c ; a = q.a};
|
modQuant : Quant -> Quant = \q -> lin Quant {s = \\n,g,c => q.s ! n ! Fem ! c ; a = q.a};
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
|||||||
quest =
|
quest =
|
||||||
case ord of
|
case ord of
|
||||||
{ ODir => [];
|
{ ODir => [];
|
||||||
OQuest => "कया" };
|
OQuest => "क्या" };
|
||||||
na =
|
na =
|
||||||
case b of
|
case b of
|
||||||
{ Pos => [];
|
{ Pos => [];
|
||||||
@@ -86,7 +86,7 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
|||||||
quest =
|
quest =
|
||||||
case ord of
|
case ord of
|
||||||
{ ODir => [];
|
{ ODir => [];
|
||||||
OQuest => "कया" };
|
OQuest => "क्या" };
|
||||||
na =
|
na =
|
||||||
case b of
|
case b of
|
||||||
{ Pos => [];
|
{ Pos => [];
|
||||||
@@ -139,9 +139,9 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
|||||||
<CPresent,Sg,Pers2_Respect,_ > => "हैं" ;
|
<CPresent,Sg,Pers2_Respect,_ > => "हैं" ;
|
||||||
<CPresent,Sg,Pers3_Near,_ > => "है" ;
|
<CPresent,Sg,Pers3_Near,_ > => "है" ;
|
||||||
<CPresent,Sg,Pers3_Distant,_ > => "है" ;
|
<CPresent,Sg,Pers3_Distant,_ > => "है" ;
|
||||||
<CPresent,Pl,Pers1,_ > => "हैँ" ;
|
<CPresent,Pl,Pers1,_ > => "हैं" ;
|
||||||
<CPresent,Pl,Pers2_Casual,_ > => "हौ" ;
|
<CPresent,Pl,Pers2_Casual,_ > => "हो" ;
|
||||||
<CPresent,Pl,Pers2_Familiar,_ > => "हौ" ;
|
<CPresent,Pl,Pers2_Familiar,_ > => "हो" ;
|
||||||
<CPresent,Pl,Pers2_Respect,_ > => "हैं" ;
|
<CPresent,Pl,Pers2_Respect,_ > => "हैं" ;
|
||||||
<CPresent,Pl,Pers3_Near,_ > => "हैं" ;
|
<CPresent,Pl,Pers3_Near,_ > => "हैं" ;
|
||||||
<CPresent,Pl,Pers3_Distant,_ > => "हैं" ;
|
<CPresent,Pl,Pers3_Distant,_ > => "हैं" ;
|
||||||
@@ -227,7 +227,7 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
|||||||
|
|
||||||
regAdjective : Str -> Adjective;
|
regAdjective : Str -> Adjective;
|
||||||
regAdjective x = case x of {
|
regAdjective x = case x of {
|
||||||
acch + ("ा"|"न") => mkAdjective x ("बहुत" ++ x) ("सब से" ++ x) (acch + "े") ("बहुत" ++ acch + "े") ("सब से" ++ acch + "E") (acch + "े") ("बहुत" ++ acch + "े") ("सब से" ++ acch + "े")
|
acch + ("ा"|"न") => mkAdjective x ("बहुत" ++ x) ("सब से" ++ x) (acch + "े") ("बहुत" ++ acch + "े") ("सब से" ++ acch + "े") (acch + "े") ("बहुत" ++ acch + "े") ("सब से" ++ acch + "े")
|
||||||
(acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी") (acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी") (acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी")
|
(acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी") (acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी") (acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी")
|
||||||
(acch +"े") ("बहुत" ++ acch + "े") ("सब से" ++ acch + "े") (acch + "े") ("बहुत" ++ acch + "े") ("सब से" ++ acch + "े") (acch + "े") ("बहुत" ++ acch + "े") ("सब से" ++ acch + "े")
|
(acch +"े") ("बहुत" ++ acch + "े") ("सब से" ++ acch + "े") (acch + "े") ("बहुत" ++ acch + "े") ("सब से" ++ acch + "े") (acch + "े") ("बहुत" ++ acch + "े") ("सब से" ++ acch + "े")
|
||||||
(acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी") (acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी") (acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी");
|
(acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी") (acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी") (acch + "ी") ("बहुत" ++ acch + "ी") ("सब से" ++ acch + "ी");
|
||||||
@@ -238,15 +238,5 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
|||||||
x ("बहुत" ++ x) ("सब से" ++ x) x ("बहुत" ++ x) ("सब से" ++ x) x ("बहुत" ++ x) ("सब से" ++ x)
|
x ("बहुत" ++ x) ("सब से" ++ x) x ("बहुत" ++ x) ("सब से" ++ x) x ("बहुत" ++ x) ("सब से" ++ x)
|
||||||
|
|
||||||
};
|
};
|
||||||
IrregAdjective : Str -> Adjective;
|
|
||||||
IrregAdjective 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) ;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -21,7 +21,7 @@ lin
|
|||||||
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 "चिड़िया" ;
|
||||||
@@ -47,14 +47,14 @@ lin
|
|||||||
ceiling_N = mkN "छत" feminine ;
|
ceiling_N = mkN "छत" feminine ;
|
||||||
chair_N = mkN "कुर्सी" ;
|
chair_N = mkN "कुर्सी" ;
|
||||||
cheese_N = mkN "पनीर" feminine ;
|
cheese_N = mkN "पनीर" feminine ;
|
||||||
child_N = mkN "बच्छा" ;
|
child_N = mkN "बच्चा" ;
|
||||||
church_N = mkN "गिरिजा" ;
|
church_N = 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);
|
||||||
coat_N = mkN "कोट" ;
|
coat_N = mkN "कोट" ;
|
||||||
cold_A = mkA "सरद" ;
|
cold_A = mkA "सर्द" ;
|
||||||
come_V = mkV "आना" ;
|
come_V = mkV "आना" ;
|
||||||
computer_N = mkN "कंपयूटर" ;
|
computer_N = mkN "कंपयूटर" ;
|
||||||
country_N = mkN "देश" ;
|
country_N = mkN "देश" ;
|
||||||
@@ -64,7 +64,7 @@ lin
|
|||||||
dirty_A = mkA "गंदा" ;
|
dirty_A = mkA "गंदा" ;
|
||||||
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 "आसान" "" ; -- chek for A or a
|
easy_A2V = mkA "आसान" "" ; -- chek for A or a
|
||||||
@@ -108,12 +108,13 @@ lin
|
|||||||
king_N = mkN "राजा" ;
|
king_N = mkN "राजा" ;
|
||||||
know_V2 = mkV2 (mkV "जानना") ;
|
know_V2 = mkV2 (mkV "जानना") ;
|
||||||
know_VS = mkV "जानना";
|
know_VS = mkV "जानना";
|
||||||
|
know_VQ = (mkV "जानना") ;
|
||||||
lake_N = mkN "झील" feminine ;
|
lake_N = mkN "झील" feminine ;
|
||||||
lamp_N = mkN "चिराग" ;
|
lamp_N = mkN "चिराग" ;
|
||||||
learn_V2 = mkV2 (mkV "सीखना") ;
|
learn_V2 = mkV2 (mkV "सीखना") ;
|
||||||
leather_N = mkN "चमड़ा" ;
|
leather_N = mkN "चमड़ा" ;
|
||||||
leave_V2 = mkV2 (mkV "चलना") ;
|
leave_V2 = mkV2 (mkV "चलना") ;
|
||||||
like_V2 = mkV2 (compoundV "पसंद" do_V2);
|
like_V2 = mkV2 (compoundV "पसंद" do_V2) "को";
|
||||||
listen_V2 = mkV2 (mkV "सुनना") ;
|
listen_V2 = mkV2 (mkV "सुनना") ;
|
||||||
live_V = mkV "रहना" ; ---- touch
|
live_V = mkV "रहना" ; ---- touch
|
||||||
long_A = mkA "लंबा" ;
|
long_A = mkA "लंबा" ;
|
||||||
@@ -121,7 +122,7 @@ lin
|
|||||||
love_N = mkN "प्यार" ;
|
love_N = mkN "प्यार" ;
|
||||||
love_V2 = mkV2 (compoundV "प्यार" do_V2) "को";
|
love_V2 = mkV2 (compoundV "प्यार" do_V2) "को";
|
||||||
man_N = mkN "आदमी" masculine;
|
man_N = mkN "आदमी" masculine;
|
||||||
married_A2 = mkIrregA "शादी शुदा" "से" ;
|
married_A2 = mkA (mkIrregA "शादी शुदा") "से" ;
|
||||||
marriage = mkN "शादी " ;
|
marriage = mkN "शादी " ;
|
||||||
meat_N = mkN "मांस" ;
|
meat_N = mkN "मांस" ;
|
||||||
milk_N = mkN "दूध" ;
|
milk_N = mkN "दूध" ;
|
||||||
@@ -153,7 +154,7 @@ lin
|
|||||||
read_V2 = mkV2 (mkV "पढ़ना");
|
read_V2 = mkV2 (mkV "पढ़ना");
|
||||||
red_A = mkA "लाल" ;
|
red_A = mkA "लाल" ;
|
||||||
religion_N = mkN "मज़हब" ;
|
religion_N = mkN "मज़हब" ;
|
||||||
restaurant_N = mkN "रेसटोरांट" ;
|
restaurant_N = mkN "रेसतोरां" ;
|
||||||
-- river_N = mkN "दरिया" masculine ;
|
-- river_N = mkN "दरिया" masculine ;
|
||||||
rock_N = mkN "चटटान" ;
|
rock_N = mkN "चटटान" ;
|
||||||
roof_N = mkN "छत" masculine ;
|
roof_N = mkN "छत" masculine ;
|
||||||
@@ -161,7 +162,7 @@ lin
|
|||||||
run_V = mkV "दौड़ना" ;
|
run_V = mkV "दौड़ना" ;
|
||||||
say_VS = mkV "कहना" ;
|
say_VS = mkV "कहना" ;
|
||||||
school_N = mkN "सकूल" ;
|
school_N = mkN "सकूल" ;
|
||||||
science_N = mkN "सािनस" ; -- vgyan
|
science_N = mkN "विज्ञान" ; -- vgyan
|
||||||
sea_N = mkN "समंदर" ;
|
sea_N = mkN "समंदर" ;
|
||||||
seek_V2 = mkV2 (compoundV "तलाश" do_V2) ;
|
seek_V2 = mkV2 (compoundV "तलाश" do_V2) ;
|
||||||
see_V2 = mkV2 (mkV "देखना") ;
|
see_V2 = mkV2 (mkV "देखना") ;
|
||||||
@@ -202,7 +203,7 @@ lin
|
|||||||
trousers_N = mkN "पतलून" ;
|
trousers_N = mkN "पतलून" ;
|
||||||
ugly_A = mkA "बदसूरत" ;
|
ugly_A = mkA "बदसूरत" ;
|
||||||
understand_V2 = mkV2 (mkV "समझना") ;
|
understand_V2 = mkV2 (mkV "समझना") ;
|
||||||
university_N = mkN "यूनिवरसिटी" ;
|
university_N = mkN "विश्व विद्यालय" ;
|
||||||
village_N = mkN "गाँव" ; -- check for n or N
|
village_N = mkN "गाँव" ; -- check for n or N
|
||||||
wait_V2 = mkV2 (compoundV "इंतज़ार" do_V2) "का" ; -- something prtkXa
|
wait_V2 = mkV2 (compoundV "इंतज़ार" do_V2) "का" ; -- something prtkXa
|
||||||
walk_V = mkV "चलना" ;
|
walk_V = mkV "चलना" ;
|
||||||
@@ -224,7 +225,7 @@ lin
|
|||||||
now_Adv = mkAdv "अब" ;
|
now_Adv = mkAdv "अब" ;
|
||||||
already_Adv = mkAdv "पहले ही" ;
|
already_Adv = mkAdv "पहले ही" ;
|
||||||
song_N = mkN "गीत" ;
|
song_N = mkN "गीत" ;
|
||||||
add_V3 = mkV3 (mkV "जोड़ना") "को" "मीं"; -- confirm
|
add_V3 = mkV3 (mkV "जोड़ना") "को" "में"; -- confirm
|
||||||
number_N = mkN "हनदसह" ;
|
number_N = mkN "हनदसह" ;
|
||||||
put_V2 = mkV2 (mkV "डालना") ;
|
put_V2 = mkV2 (mkV "डालना") ;
|
||||||
stop_V = mkV "रुकना" ;
|
stop_V = mkV "रुकना" ;
|
||||||
@@ -238,7 +239,7 @@ lin
|
|||||||
dull_A = mkA "नलिक" ;
|
dull_A = mkA "नलिक" ;
|
||||||
full_A = mkA "भरा" ;
|
full_A = mkA "भरा" ;
|
||||||
heavy_A = mkA "भारी" ;
|
heavy_A = mkA "भारी" ;
|
||||||
near_A = mkA "पास" ;
|
near_A = mkA "नज़दीक" ;
|
||||||
rotten_A = mkA "सड़ा" ;
|
rotten_A = mkA "सड़ा" ;
|
||||||
round_A = mkA "गोल" ;
|
round_A = mkA "गोल" ;
|
||||||
sharp_A = mkA "तेज़" ;
|
sharp_A = mkA "तेज़" ;
|
||||||
@@ -252,7 +253,7 @@ lin
|
|||||||
-- bark_N = mkN "बरक" ;
|
-- bark_N = mkN "बरक" ;
|
||||||
-- belly_N = mkN "दh-नय" ;
|
-- belly_N = mkN "दh-नय" ;
|
||||||
blood_N = mkN "ख़ून" ;
|
blood_N = mkN "ख़ून" ;
|
||||||
bone_N = mkN "हडडी" feminine ;
|
bone_N = mkN "हड्डी" feminine ;
|
||||||
breast_N = mkN "छाती" ; --stan
|
breast_N = mkN "छाती" ; --stan
|
||||||
cloud_N = mkN "बादल" ;
|
cloud_N = mkN "बादल" ;
|
||||||
day_N = mkN "दिन" ;
|
day_N = mkN "दिन" ;
|
||||||
@@ -288,10 +289,10 @@ lin
|
|||||||
neck_N = mkN "गर्दन" feminine ;
|
neck_N = mkN "गर्दन" feminine ;
|
||||||
night_N = mkN "रात" feminine ;
|
night_N = mkN "रात" feminine ;
|
||||||
nose_N = mkN "नाक" ;
|
nose_N = mkN "नाक" ;
|
||||||
-- person_N = mkN "XKष" ;
|
-- person_N = mkN "व्यक्ति" ;
|
||||||
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 ;
|
||||||
seed_N = mkN "बीज" ;
|
seed_N = mkN "बीज" ;
|
||||||
@@ -367,7 +368,7 @@ lin
|
|||||||
ready_A = mkA "तैयार" ;
|
ready_A = mkA "तैयार" ;
|
||||||
reason_N = mkN "वजह" feminine ;
|
reason_N = mkN "वजह" feminine ;
|
||||||
today_Adv = mkAdv "आज" ;
|
today_Adv = mkAdv "आज" ;
|
||||||
-- uncertain_A = mkA ["ग़यर यक़यनय"] ;
|
uncertain_A = mkA ["ग़यर यक़यनय"] ;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ oper
|
|||||||
mkN01 lRka = let end = last (lRka) ;
|
mkN01 lRka = let end = last (lRka) ;
|
||||||
lRk = if_then_else Str (eq end "e") lRka (tk 1 lRka)
|
lRk = if_then_else Str (eq end "e") lRka (tk 1 lRka)
|
||||||
in mkNoun (lRka) (lRk+"े") (lRk+"े")
|
in mkNoun (lRka) (lRk+"े") (lRk+"े")
|
||||||
(lRk+"े") (lRk+"ोँ") (lRk+"ो")
|
(lRk+"े") (lRk+"ों") (lRk+"ो")
|
||||||
Masc ;
|
Masc ;
|
||||||
|
|
||||||
-- masculine nouns does not end with a, h, e, an
|
-- masculine nouns does not end with a, h, e, an
|
||||||
|
|||||||
@@ -49,13 +49,13 @@ oper mkR : Str -> Str -> Str -> Str -> Str -> Str -> Str -> Str -> Str -> DSize
|
|||||||
r4 => a4 + "ालीस" ;
|
r4 => a4 + "ालीस" ;
|
||||||
r5 => a5 + "न" ;
|
r5 => a5 + "न" ;
|
||||||
r6 => a6 + "सठ" ;
|
r6 => a6 + "सठ" ;
|
||||||
r7 => a7 + "ततर" ;
|
r7 => a7 + "त्तर" ;
|
||||||
r8 => a8 + "ासी" ;
|
r8 => a8 + "ासी" ;
|
||||||
r9 => a9 + "ानwवे"
|
r9 => a9 + "ानwवे"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
oper rows : DSize => DSize => Str = table {
|
oper rows : DSize => DSize => Str = table {
|
||||||
sg => mkR "गयार" "इककी" "इकत" "इकत" "इकयाव" "इक" "इकह" "इकय" "इकय" ;
|
sg => mkR "ग्यार" "इककी" "इकत" "इकत" "इकयाव" "इक" "इकह" "इकय" "इकय" ;
|
||||||
r2 => mkR "बार" "बाई" "बत" "बैत" "बाव" "बा" "बह" "बय" "ब" ;
|
r2 => mkR "बार" "बाई" "बत" "बैत" "बाव" "बा" "बह" "बय" "ब" ;
|
||||||
r3 => mkR "तेर" "तेई" "तैं" "तैंत" "तिरप" "तिर" "तिह" "तिर" "तिर" ;
|
r3 => mkR "तेर" "तेई" "तैं" "तैंत" "तिरप" "तिर" "तिह" "तिर" "तिर" ;
|
||||||
r4 => mkR "चौद" "चौबी" "चौं" "चौव" "चww" "चौँ" "चौह" "चw+र" "चौर" ;
|
r4 => mkR "चौद" "चौबी" "चौं" "चौव" "चww" "चौँ" "चौह" "चw+र" "चौर" ;
|
||||||
@@ -75,28 +75,28 @@ lin pot01 = {s = table {unit => "एक" ; _ => "दमी" } ; size = sg ; n =
|
|||||||
lin pot0 d = d ;
|
lin pot0 d = d ;
|
||||||
lin pot110 = {s = "दस" ; size = less100 ; n = Pl} ;
|
lin pot110 = {s = "दस" ; size = less100 ; n = Pl} ;
|
||||||
lin pot111 = {s = rows ! sg ! sg ; size = less100 ; n = Pl} ;
|
lin pot111 = {s = rows ! sg ! sg ; size = less100 ; n = Pl} ;
|
||||||
lin pot1to19 d = {s = rows ! d.size ! sg ; size = less100 ; n = d.n} ;
|
lin pot1to19 d = {s = rows ! d.size ! sg ; size = less100 ; n = Pl} ;
|
||||||
lin pot0as1 n = {s = n.s ! unit ; size = table {sg => singl ; _ => less100} ! n.size ; n = n.n } ;
|
lin pot0as1 n = {s = n.s ! unit ; size = table {sg => singl ; _ => less100} ! n.size ; n = n.n } ;
|
||||||
|
|
||||||
lin pot1 d = {s = d.s ! ten ; size = less100 ; n = d.n} ;
|
lin pot1 d = {s = d.s ! ten ; size = less100 ; n = Pl} ;
|
||||||
lin pot1plus d e = {s = rows ! e.size ! d.size ; size = less100 ; n = d.n} ;
|
lin pot1plus d e = {s = rows ! e.size ! d.size ; size = less100 ; n = Pl} ;
|
||||||
|
|
||||||
lin pot1as2 n = {s = n.s ; s2 = "दमी" ; size = n.size ; n = n.n} ;
|
lin pot1as2 n = {s = n.s ; s2 = "दमी" ; size = n.size ; n = n.n} ;
|
||||||
lin pot2 d = {s = (mksau (d.s ! unit) d.size) ;
|
lin pot2 d = {s = (mksau (d.s ! unit) d.size) ;
|
||||||
s2 = d.s ! unit ++ "लाख" ; size = more100 ; n = d.n} ;
|
s2 = d.s ! unit ++ "लाख" ; size = more100 ; n = Pl} ;
|
||||||
lin pot2plus d e =
|
lin pot2plus d e =
|
||||||
{s = (mksau (d.s ! unit) d.size) ++ e.s ;
|
{s = (mksau (d.s ! unit) d.size) ++ e.s ;
|
||||||
s2 = (d.s ! unit) ++ "लाख" ++ (mkhazar e.s e.size) ;
|
s2 = (d.s ! unit) ++ "लाख" ++ (mkhazar e.s e.size) ;
|
||||||
size = more100 ; n = d.n} ;
|
size = more100 ; n = Pl} ;
|
||||||
|
|
||||||
lin pot2as3 n = {s = n.s ; n = n.n} ;
|
lin pot2as3 n = {s = n.s ; n = n.n} ;
|
||||||
lin pot3 n = {s = table { singl => ekhazar ;
|
lin pot3 n = {s = table { singl => ekhazar ;
|
||||||
less100 => n.s ++ "हज़ार" ;
|
less100 => n.s ++ "हज़ार" ;
|
||||||
more100 => n.s2 } ! n.size ; n = n.n} ;
|
more100 => n.s2 } ! n.size ; n = Pl} ;
|
||||||
lin pot3plus n m =
|
lin pot3plus n m =
|
||||||
{s = table {singl => ekhazar ;
|
{s = table {singl => ekhazar ;
|
||||||
less100 => n.s ++ "हज़ार" ;
|
less100 => n.s ++ "हज़ार" ;
|
||||||
more100 => n.s2 } ! n.size ++ m.s ; n = n.n} ;
|
more100 => n.s2 } ! n.size ++ m.s ; n = Pl} ;
|
||||||
|
|
||||||
lin D_0 = { s = "०" ; n = Sg};
|
lin D_0 = { s = "०" ; n = Sg};
|
||||||
lin D_1 = { s = "१" ; n = Sg};
|
lin D_1 = { s = "१" ; n = Sg};
|
||||||
|
|||||||
@@ -70,9 +70,12 @@ oper
|
|||||||
= \s -> regAdjective s ** {lock_A = <>} ;
|
= \s -> regAdjective s ** {lock_A = <>} ;
|
||||||
mkA : Str -> Str -> A2
|
mkA : Str -> Str -> A2
|
||||||
= \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 = <>} ;
|
||||||
|
mkA : A -> Str -> A2
|
||||||
|
= \a,c -> a ** {c2 = c ; lock_A2 = <>};
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkIrregA : Str -> Str -> A2 = \str,c -> makeIrregA str ** {c2 = c ; lock_A2 = <>} ;
|
mkIrregA : Str -> A = \str -> makeIrregA str ;
|
||||||
|
|
||||||
--2 Verbs
|
--2 Verbs
|
||||||
|
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ concrete StructuralHin of Structural = CatHin **
|
|||||||
although_Subj = ss "अगरचि" ;
|
although_Subj = ss "अगरचि" ;
|
||||||
always_AdV = ss "हमेशा" ;
|
always_AdV = ss "हमेशा" ;
|
||||||
and_Conj = sd2 [] "और" ** {n = Pl} ;
|
and_Conj = sd2 [] "और" ** {n = Pl} ;
|
||||||
because_Subj = ss "क्योँकि" ;
|
because_Subj = ss "क्योंकि" ;
|
||||||
before_Prep = mkPrep ["से पहले"] ["से पहले"] ;
|
before_Prep = mkPrep ["से पहले"] ["से पहले"] ;
|
||||||
behind_Prep = mkPrep ["के पीछे"] ["के पीछे"] ;
|
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 "लेकिन" ;
|
||||||
by8agent_Prep = mkPrep "" "" ;
|
by8agent_Prep = mkPrep "से" "से" ;
|
||||||
by8means_Prep = mkPrep "" "" ;
|
by8means_Prep = mkPrep "पर" "पर" ;
|
||||||
can8know_VV,can_VV = mkV "सकना" ** { isAux = True} ;
|
can8know_VV,can_VV = mkV "सकना" ** { isAux = True} ;
|
||||||
during_Prep = mkPrep ["के दरमियान"] ["के दरमियान"] ;
|
during_Prep = mkPrep ["के दरमियान"] ["के दरमियान"] ;
|
||||||
either7or_DConj = sd2 "कोई एक" "या" ** {n = Sg} ;
|
either7or_DConj = sd2 "कोई एक" "या" ** {n = Sg} ;
|
||||||
@@ -67,7 +67,7 @@ concrete StructuralHin of Structural = CatHin **
|
|||||||
or_Conj = sd2 [] "या" ** {n = Sg} ;
|
or_Conj = sd2 [] "या" ** {n = Sg} ;
|
||||||
otherwise_PConj = ss "नहीं तो" ;
|
otherwise_PConj = ss "नहीं तो" ;
|
||||||
part_Prep = mkPrep "" "" ;
|
part_Prep = mkPrep "" "" ;
|
||||||
-- please_Voc = ss "" ;
|
please_Voc = ss "कृपया" ;
|
||||||
possess_Prep = mkPrep "का" "की" ;
|
possess_Prep = mkPrep "का" "की" ;
|
||||||
quite_Adv = ss "काफ़ी" ;
|
quite_Adv = ss "काफ़ी" ;
|
||||||
she_Pron = personalPN "वह" "उस" "उस" "उस का" "उस की" "उस के" "उस की" Sg Fem Pers3_Distant ; -- chek with prasad about 'Us'
|
she_Pron = personalPN "वह" "उस" "उस" "उस का" "उस की" "उस के" "उस की" Sg Fem Pers3_Distant ; -- chek with prasad about 'Us'
|
||||||
@@ -83,8 +83,8 @@ concrete StructuralHin of Structural = CatHin **
|
|||||||
there7to_Adv = mkAdv ["वहाँ पर"] ;
|
there7to_Adv = mkAdv ["वहाँ पर"] ;
|
||||||
there7from_Adv = mkAdv ["वहाँ से"] ;
|
there7from_Adv = mkAdv ["वहाँ से"] ;
|
||||||
therefore_PConj = ss "इस लिये" ;
|
therefore_PConj = ss "इस लिये" ;
|
||||||
they_Pron = personalPN "वह" "वह" "वह" "उन का" "उन की" "उन के" "उन की" Pl Masc Pers3_Distant ; ----
|
they_Pron = personalPN "वे" "वे" "वे" "उन का" "उन की" "उन के" "उन की" Pl Masc Pers3_Distant ; ----
|
||||||
this_Quant = demoPN "यह" "इस" "इन";
|
this_Quant = demoPN "ये" "इस" "इन";
|
||||||
through_Prep = mkPrep ["में से"] ["में से"] ;
|
through_Prep = mkPrep ["में से"] ["में से"] ;
|
||||||
too_AdA = ss "बहुत" ;
|
too_AdA = ss "बहुत" ;
|
||||||
to_Prep = mkPrep "को" "को" ; -- ** {lock_Prep = <>};
|
to_Prep = mkPrep "को" "को" ; -- ** {lock_Prep = <>};
|
||||||
@@ -108,21 +108,21 @@ concrete StructuralHin of Structural = CatHin **
|
|||||||
with_Prep = mkPrep ["के साथ"] ["के साथ"] ;
|
with_Prep = mkPrep ["के साथ"] ["के साथ"] ;
|
||||||
-- yes_Phr = ss "???" ;
|
-- yes_Phr = ss "???" ;
|
||||||
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 "आप" "आप" "आप" "आप का" "आप की" "आप के" "आप की" 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} ;
|
||||||
at_least_AdN = mkAdN ["कम से कम"] ;
|
at_least_AdN = mkAdN ["कम से कम"] ;
|
||||||
at_most_AdN = mkAdN ["ज़्यादा से ज़्यादा"];
|
at_most_AdN = mkAdN ["ज़्यादा से ज़्यादा"];
|
||||||
-- nothing_NP = MassNP (UseN (ParadigmsHin.mkN "कुछ नहीं" Masc ));
|
-- nothing_NP = MassNP (UseN (ParadigmsHin.mkN "कुछ नहीं" Masc ));
|
||||||
except_Prep = mkPrep "के सिवाय" "के सिवाय";
|
except_Prep = mkPrep "के सिवाय" "के सिवाय";
|
||||||
-- nobody_NP = MassNP (UseN (ParadigmsHin.mkN "कोई नहीं" Masc ));
|
-- nobody_NP = MassNP (UseN (ParadigmsHin.mkN "कोई नहीं" Masc ));
|
||||||
|
|
||||||
as_CAdv = {s = "ितना" ; p = "जितना"} ;
|
as_CAdv = {s = "इतना" ; p = "जितना"} ;
|
||||||
|
|
||||||
-- have_V2 = mkV2 "";
|
have_V2 = mkV2 "रखना";
|
||||||
|
|
||||||
language_title_Utt = ss "हिन्दी" ;
|
language_title_Utt = ss "हिन्दी" ;
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
|||||||
quest =
|
quest =
|
||||||
case ord of
|
case ord of
|
||||||
{ ODir => [];
|
{ ODir => [];
|
||||||
OQuest => "kya:" };
|
OQuest => "kX,ya:" };
|
||||||
na =
|
na =
|
||||||
case b of
|
case b of
|
||||||
{ Pos => [];
|
{ Pos => [];
|
||||||
@@ -86,7 +86,7 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
|||||||
quest =
|
quest =
|
||||||
case ord of
|
case ord of
|
||||||
{ ODir => [];
|
{ ODir => [];
|
||||||
OQuest => "kya:" };
|
OQuest => "kX,ya:" };
|
||||||
na =
|
na =
|
||||||
case b of
|
case b of
|
||||||
{ Pos => [];
|
{ Pos => [];
|
||||||
@@ -139,9 +139,9 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
|||||||
<CPresent,Sg,Pers2_Respect,_ > => "he+m." ;
|
<CPresent,Sg,Pers2_Respect,_ > => "he+m." ;
|
||||||
<CPresent,Sg,Pers3_Near,_ > => "he+" ;
|
<CPresent,Sg,Pers3_Near,_ > => "he+" ;
|
||||||
<CPresent,Sg,Pers3_Distant,_ > => "he+" ;
|
<CPresent,Sg,Pers3_Distant,_ > => "he+" ;
|
||||||
<CPresent,Pl,Pers1,_ > => "he+n~" ;
|
<CPresent,Pl,Pers1,_ > => "he+m." ;
|
||||||
<CPresent,Pl,Pers2_Casual,_ > => "ho+" ;
|
<CPresent,Pl,Pers2_Casual,_ > => "ho:" ;
|
||||||
<CPresent,Pl,Pers2_Familiar,_ > => "ho+" ;
|
<CPresent,Pl,Pers2_Familiar,_ > => "ho:" ;
|
||||||
<CPresent,Pl,Pers2_Respect,_ > => "he+m." ;
|
<CPresent,Pl,Pers2_Respect,_ > => "he+m." ;
|
||||||
<CPresent,Pl,Pers3_Near,_ > => "he+m." ;
|
<CPresent,Pl,Pers3_Near,_ > => "he+m." ;
|
||||||
<CPresent,Pl,Pers3_Distant,_ > => "he+m." ;
|
<CPresent,Pl,Pers3_Distant,_ > => "he+m." ;
|
||||||
@@ -227,7 +227,7 @@ Clause : Type = {s : VPHTense => Polarity => Order => Str} ;
|
|||||||
|
|
||||||
regAdjective : Str -> Adjective;
|
regAdjective : Str -> Adjective;
|
||||||
regAdjective x = case x of {
|
regAdjective x = case x of {
|
||||||
acch + ("a:"|"an") => mkAdjective x ("bahut" ++ x) ("sab se:" ++ x) (acch + "e:") ("bahut" ++ acch + "e:") ("sab se:" ++ acch + "E") (acch + "e:") ("bahut" ++ acch + "e:") ("sab se:" ++ acch + "e:")
|
acch + ("a:"|"an") => mkAdjective x ("bahut" ++ x) ("sab se:" ++ x) (acch + "e:") ("bahut" ++ acch + "e:") ("sab se:" ++ acch + "e:") (acch + "e:") ("bahut" ++ acch + "e:") ("sab se:" ++ acch + "e:")
|
||||||
(acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:") (acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:") (acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:")
|
(acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:") (acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:") (acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:")
|
||||||
(acch +"e:") ("bahut" ++ acch + "e:") ("sab se:" ++ acch + "e:") (acch + "e:") ("bahut" ++ acch + "e:") ("sab se:" ++ acch + "e:") (acch + "e:") ("bahut" ++ acch + "e:") ("sab se:" ++ acch + "e:")
|
(acch +"e:") ("bahut" ++ acch + "e:") ("sab se:" ++ acch + "e:") (acch + "e:") ("bahut" ++ acch + "e:") ("sab se:" ++ acch + "e:") (acch + "e:") ("bahut" ++ acch + "e:") ("sab se:" ++ acch + "e:")
|
||||||
(acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:") (acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:") (acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:");
|
(acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:") (acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:") (acch + "i:") ("bahut" ++ acch + "i:") ("sab se:" ++ acch + "i:");
|
||||||
|
|||||||
@@ -1,26 +1,27 @@
|
|||||||
--# -path=.:../abstract:../common:../prelude:/Users/virk/gf_1/lib/src/hindustani
|
|
||||||
concrete ExtraHin of ExtraHinAbs = CatHin **
|
concrete ExtraHin of ExtraHinAbs = CatHin **
|
||||||
open ResHin, Coordination, Prelude, MorphoHin, ParadigmsHin in {
|
open ResHin, Coordination, Prelude, MorphoHin, ParadigmsHin,CommonHindustani in {
|
||||||
|
|
||||||
flags coding = utf8 ;
|
flags coding = utf8 ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
|
|
||||||
-- GenNP np = {s = \\_,_,_ => np.s ! NPC Obl ++ "ka" ; a = np.a} ;
|
GenNP np = {s = \\n,g,c =>
|
||||||
|
case <n,g,c> of {
|
||||||
|
<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 ++ "ki:"
|
||||||
|
};
|
||||||
|
|
||||||
|
a = np.a} ;
|
||||||
|
|
||||||
-- each_Det = mkDet "hr kwy" "hr kwy" "hr kwy" "hr kwy" Sg ;
|
-- each_Det = mkDet "hr kwy" "hr kwy" "hr kwy" "hr kwy" Sg ;
|
||||||
have_V = mkV "rakh-na";
|
have_V = mkV "ra:k'na:";
|
||||||
-- IAdvAdv adv = {s = "ktny" ++ adv.s} ;
|
IAdvAdv adv = {s = "kitni:" ++ adv.s ! Masc} ;
|
||||||
-- ICompAP ap = {s = "ktnE" ++ ap.s ! Sg ! Masc ! Dir ! Posit} ;
|
ICompAP ap = {s = "kitne:" ++ ap.s ! Sg ! Masc ! Dir ! Posit} ;
|
||||||
-- CompoundCN cn1 cn2 = {s = \\n,c => cn1.s ! n ! c ++ cn2.s ! n ! c ; g = cn2.g } ;
|
cost_V = mkV "qi:mat" ;
|
||||||
-- ImperfAP verb = {s = \\n,g,_,_ => verb.s ! VF Habitual Pers3_Distant n g ++ hwa n g } ;
|
|
||||||
-- SlashVP vp = {
|
|
||||||
-- s = vp.s ;
|
|
||||||
-- obj = vp.obj ;
|
|
||||||
-- inf = vp.inf ;
|
|
||||||
-- subj = vp.subj ;
|
|
||||||
-- ad = vp.ad ;
|
|
||||||
-- embComp = vp.embComp;
|
|
||||||
-- comp = vp.comp
|
|
||||||
-- } ;
|
|
||||||
|
|
||||||
|
-- added for causitives
|
||||||
|
make_CV = mkVerb "nothing" ** {c2 = "" };
|
||||||
-- for VP conjunction
|
-- for VP conjunction
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,14 @@ lin
|
|||||||
apartment_N = mkN "kamra:" ;
|
apartment_N = mkN "kamra:" ;
|
||||||
apple_N = mkN "se:b" ;
|
apple_N = mkN "se:b" ;
|
||||||
-- art_N = mkN "" ;
|
-- art_N = mkN "" ;
|
||||||
ask_V2Q = mkV2 (mkV "pu:c'ana:") ;
|
ask_V2Q = mkV2 (mkV "pu:c'na:") ;
|
||||||
baby_N = mkN "bacX,c'a:" ;
|
baby_N = mkN "bacX,c'a:" ;
|
||||||
bad_A = mkA "bura:" ;
|
bad_A = mkA "bura:" ;
|
||||||
bank_N = mkN "be+m.k" ;
|
bank_N = mkN "be+m.k" ;
|
||||||
beautiful_A = mkA "xu:bsu:rat" ;
|
beautiful_A = mkA "xu:bsu:rat" ;
|
||||||
become_VA = mkV "banana:";
|
become_VA = mkV "banna:";
|
||||||
beer_N = mkN "biyar" ;
|
beer_N = mkN "biyar" ;
|
||||||
beg_V2V = mkV2V (compoundV "b'i:k'" (mkV "ma:m.gna:")) "se:" "kh" False;
|
beg_V2V = mkV2V (compoundV "b'i:k'" (mkV "ma:m.gna:")) "se:" "k'" False;
|
||||||
big_A = mkA "baRa:" ;
|
big_A = mkA "baRa:" ;
|
||||||
bike_N = mkN "sa:ykal" feminine ;
|
bike_N = mkN "sa:ykal" feminine ;
|
||||||
bird_N = mkN "ciRiya:" ;
|
bird_N = mkN "ciRiya:" ;
|
||||||
@@ -47,14 +47,14 @@ lin
|
|||||||
ceiling_N = mkN "c'at" feminine ;
|
ceiling_N = mkN "c'at" feminine ;
|
||||||
chair_N = mkN "kurX,si:" ;
|
chair_N = mkN "kurX,si:" ;
|
||||||
cheese_N = mkN "pani:r" feminine ;
|
cheese_N = mkN "pani:r" feminine ;
|
||||||
child_N = mkN "bacX,c'a:" ;
|
child_N = mkN "bacX,ca:" ;
|
||||||
church_N = mkN "girija:" ;
|
church_N = mkN "girija:" ;
|
||||||
city_N = mkN "s*ahar" ;
|
city_N = mkN "s*ahar" ;
|
||||||
clean_A = mkA "sa:f" ;
|
clean_A = mkA "sa:f" ;
|
||||||
clever_A = mkA "ca:la:k" ;
|
clever_A = mkA "ca:la:k" ;
|
||||||
close_V2 = mkV2 (compoundV "band" do_V2);
|
close_V2 = mkV2 (compoundV "band" do_V2);
|
||||||
coat_N = mkN "ko:T" ;
|
coat_N = mkN "ko:T" ;
|
||||||
cold_A = mkA "sard" ;
|
cold_A = mkA "sarX,d" ;
|
||||||
come_V = mkV "A:na:" ;
|
come_V = mkV "A:na:" ;
|
||||||
computer_N = mkN "kam.pyu:Tar" ;
|
computer_N = mkN "kam.pyu:Tar" ;
|
||||||
country_N = mkN "de:s*" ;
|
country_N = mkN "de:s*" ;
|
||||||
@@ -64,7 +64,7 @@ lin
|
|||||||
dirty_A = mkA "gam.da:" ;
|
dirty_A = mkA "gam.da:" ;
|
||||||
distance_N3 = mkN3 (mkN "fa:sla:") (mkPrep "ka:" "ki:") "ke:" "se:" ;
|
distance_N3 = mkN3 (mkN "fa:sla:") (mkPrep "ka:" "ki:") "ke:" "se:" ;
|
||||||
doctor_N = mkN "Da:kTar" ;
|
doctor_N = mkN "Da:kTar" ;
|
||||||
dog_N = mkN "kutta:" ;
|
dog_N = mkN "kutX,ta:" ;
|
||||||
door_N = mkN "darva:za:" ;
|
door_N = mkN "darva:za:" ;
|
||||||
drink_V2 = mkV2 (mkV "pi:na:");
|
drink_V2 = mkV2 (mkV "pi:na:");
|
||||||
easy_A2V = mkA "A:sa:n" "" ; -- chek for A or a
|
easy_A2V = mkA "A:sa:n" "" ; -- chek for A or a
|
||||||
@@ -108,12 +108,13 @@ lin
|
|||||||
king_N = mkN "ra:ja:" ;
|
king_N = mkN "ra:ja:" ;
|
||||||
know_V2 = mkV2 (mkV "ja:nna:") ;
|
know_V2 = mkV2 (mkV "ja:nna:") ;
|
||||||
know_VS = mkV "ja:nna:";
|
know_VS = mkV "ja:nna:";
|
||||||
|
know_VQ = (mkV "ja:nna:") ;
|
||||||
lake_N = mkN "j'i:l" feminine ;
|
lake_N = mkN "j'i:l" feminine ;
|
||||||
lamp_N = mkN "cira:g" ;
|
lamp_N = mkN "cira:g" ;
|
||||||
learn_V2 = mkV2 (mkV "si:k'na:") ;
|
learn_V2 = mkV2 (mkV "si:k'na:") ;
|
||||||
leather_N = mkN "camRa:" ;
|
leather_N = mkN "camRa:" ;
|
||||||
leave_V2 = mkV2 (mkV "calna:") ;
|
leave_V2 = mkV2 (mkV "calna:") ;
|
||||||
like_V2 = mkV2 (compoundV "pasam.d" do_V2);
|
like_V2 = mkV2 (compoundV "pasam.d" do_V2) "ko:";
|
||||||
listen_V2 = mkV2 (mkV "sunna:") ;
|
listen_V2 = mkV2 (mkV "sunna:") ;
|
||||||
live_V = mkV "rahna:" ; ---- touch
|
live_V = mkV "rahna:" ; ---- touch
|
||||||
long_A = mkA "lam.ba:" ;
|
long_A = mkA "lam.ba:" ;
|
||||||
@@ -121,7 +122,7 @@ lin
|
|||||||
love_N = mkN "pX,ya:r" ;
|
love_N = mkN "pX,ya:r" ;
|
||||||
love_V2 = mkV2 (compoundV "pX,ya:r" do_V2) "ko:";
|
love_V2 = mkV2 (compoundV "pX,ya:r" do_V2) "ko:";
|
||||||
man_N = mkN "A:dmi:" masculine;
|
man_N = mkN "A:dmi:" masculine;
|
||||||
married_A2 = mkIrregA "s*a:di: s*uda:" "se:" ;
|
married_A2 = mkA (mkIrregA "s*a:di: s*uda:") "se:" ;
|
||||||
marriage = mkN "s*a:di: " ;
|
marriage = mkN "s*a:di: " ;
|
||||||
meat_N = mkN "ma:m.s" ;
|
meat_N = mkN "ma:m.s" ;
|
||||||
milk_N = mkN "du:d'" ;
|
milk_N = mkN "du:d'" ;
|
||||||
@@ -153,7 +154,7 @@ lin
|
|||||||
read_V2 = mkV2 (mkV "paR'na:");
|
read_V2 = mkV2 (mkV "paR'na:");
|
||||||
red_A = mkA "la:l" ;
|
red_A = mkA "la:l" ;
|
||||||
religion_N = mkN "mazhab" ;
|
religion_N = mkN "mazhab" ;
|
||||||
restaurant_N = mkN "re:sTo:ra:m.T" ;
|
restaurant_N = mkN "re:sto:ra:m." ;
|
||||||
-- river_N = mkN "dariya:" masculine ;
|
-- river_N = mkN "dariya:" masculine ;
|
||||||
rock_N = mkN "caTTa:n" ;
|
rock_N = mkN "caTTa:n" ;
|
||||||
roof_N = mkN "c'at" masculine ;
|
roof_N = mkN "c'at" masculine ;
|
||||||
@@ -161,7 +162,7 @@ lin
|
|||||||
run_V = mkV "do+Rna:" ;
|
run_V = mkV "do+Rna:" ;
|
||||||
say_VS = mkV "kahna:" ;
|
say_VS = mkV "kahna:" ;
|
||||||
school_N = mkN "sku:l" ;
|
school_N = mkN "sku:l" ;
|
||||||
science_N = mkN "sa:ians" ; -- vgyan
|
science_N = mkN "vijX,n*a:n" ; -- vgyan
|
||||||
sea_N = mkN "samam.dar" ;
|
sea_N = mkN "samam.dar" ;
|
||||||
seek_V2 = mkV2 (compoundV "tala:s*" do_V2) ;
|
seek_V2 = mkV2 (compoundV "tala:s*" do_V2) ;
|
||||||
see_V2 = mkV2 (mkV "de:k'na:") ;
|
see_V2 = mkV2 (mkV "de:k'na:") ;
|
||||||
@@ -202,7 +203,7 @@ lin
|
|||||||
trousers_N = mkN "patlu:n" ;
|
trousers_N = mkN "patlu:n" ;
|
||||||
ugly_A = mkA "badsu:rat" ;
|
ugly_A = mkA "badsu:rat" ;
|
||||||
understand_V2 = mkV2 (mkV "samaj'na:") ;
|
understand_V2 = mkV2 (mkV "samaj'na:") ;
|
||||||
university_N = mkN "yu:nivarsiTi:" ;
|
university_N = mkN "vis*X,v vidX,ya:lay" ;
|
||||||
village_N = mkN "ga:n~v" ; -- check for n or N
|
village_N = mkN "ga:n~v" ; -- check for n or N
|
||||||
wait_V2 = mkV2 (compoundV "Im.taza:r" do_V2) "ka:" ; -- something prtkXa
|
wait_V2 = mkV2 (compoundV "Im.taza:r" do_V2) "ka:" ; -- something prtkXa
|
||||||
walk_V = mkV "calna:" ;
|
walk_V = mkV "calna:" ;
|
||||||
@@ -224,7 +225,7 @@ lin
|
|||||||
now_Adv = mkAdv "Ab" ;
|
now_Adv = mkAdv "Ab" ;
|
||||||
already_Adv = mkAdv "pahle: hi:" ;
|
already_Adv = mkAdv "pahle: hi:" ;
|
||||||
song_N = mkN "gi:t" ;
|
song_N = mkN "gi:t" ;
|
||||||
add_V3 = mkV3 (mkV "jo:Rana:") "ko:" "mi:m."; -- confirm
|
add_V3 = mkV3 (mkV "jo:Rna:") "ko:" "me:m."; -- confirm
|
||||||
number_N = mkN "hndsh" ;
|
number_N = mkN "hndsh" ;
|
||||||
put_V2 = mkV2 (mkV "Da:lna:") ;
|
put_V2 = mkV2 (mkV "Da:lna:") ;
|
||||||
stop_V = mkV "rukna:" ;
|
stop_V = mkV "rukna:" ;
|
||||||
@@ -238,7 +239,7 @@ lin
|
|||||||
dull_A = mkA "nalik" ;
|
dull_A = mkA "nalik" ;
|
||||||
full_A = mkA "b'ara:" ;
|
full_A = mkA "b'ara:" ;
|
||||||
heavy_A = mkA "b'a:ri:" ;
|
heavy_A = mkA "b'a:ri:" ;
|
||||||
near_A = mkA "pa:s" ;
|
near_A = mkA "nazdi:k" ;
|
||||||
rotten_A = mkA "saRa:" ;
|
rotten_A = mkA "saRa:" ;
|
||||||
round_A = mkA "go:l" ;
|
round_A = mkA "go:l" ;
|
||||||
sharp_A = mkA "te:z" ;
|
sharp_A = mkA "te:z" ;
|
||||||
@@ -252,7 +253,7 @@ lin
|
|||||||
-- bark_N = mkN "bark" ;
|
-- bark_N = mkN "bark" ;
|
||||||
-- belly_N = mkN "dh-ny" ;
|
-- belly_N = mkN "dh-ny" ;
|
||||||
blood_N = mkN "xu:n" ;
|
blood_N = mkN "xu:n" ;
|
||||||
bone_N = mkN "haDDi:" feminine ;
|
bone_N = mkN "haDX,Di:" feminine ;
|
||||||
breast_N = mkN "c'a:ti:" ; --stan
|
breast_N = mkN "c'a:ti:" ; --stan
|
||||||
cloud_N = mkN "ba:dal" ;
|
cloud_N = mkN "ba:dal" ;
|
||||||
day_N = mkN "din" ;
|
day_N = mkN "din" ;
|
||||||
@@ -288,10 +289,10 @@ lin
|
|||||||
neck_N = mkN "garX,dan" feminine ;
|
neck_N = mkN "garX,dan" feminine ;
|
||||||
night_N = mkN "ra:t" feminine ;
|
night_N = mkN "ra:t" feminine ;
|
||||||
nose_N = mkN "na:k" ;
|
nose_N = mkN "na:k" ;
|
||||||
-- person_N = mkN "XKS" ;
|
-- person_N = mkN "vX,yakX,ti" ;
|
||||||
road_N = mkN "saRak" ;
|
road_N = mkN "saRak" ;
|
||||||
root_N = mkN "jaR" feminine ;
|
root_N = mkN "jaR" feminine ;
|
||||||
rope_N = mkN "rassi:" ;
|
rope_N = mkN "rasX,si:" ;
|
||||||
salt_N = mkN "namak" feminine ;
|
salt_N = mkN "namak" feminine ;
|
||||||
sand_N = mkN "re:t" feminine ;
|
sand_N = mkN "re:t" feminine ;
|
||||||
seed_N = mkN "bi:j" ;
|
seed_N = mkN "bi:j" ;
|
||||||
@@ -367,7 +368,7 @@ lin
|
|||||||
ready_A = mkA "te+ya:r" ;
|
ready_A = mkA "te+ya:r" ;
|
||||||
reason_N = mkN "vajah" feminine ;
|
reason_N = mkN "vajah" feminine ;
|
||||||
today_Adv = mkAdv "A:j" ;
|
today_Adv = mkAdv "A:j" ;
|
||||||
-- uncertain_A = mkA ["g.yr yqyny"] ;
|
uncertain_A = mkA ["g.yr yqyny"] ;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ oper
|
|||||||
mkN01 lRka = let end = last (lRka) ;
|
mkN01 lRka = let end = last (lRka) ;
|
||||||
lRk = if_then_else Str (eq end "e") lRka (tk 1 lRka)
|
lRk = if_then_else Str (eq end "e") lRka (tk 1 lRka)
|
||||||
in mkNoun (lRka) (lRk+"e:") (lRk+"e:")
|
in mkNoun (lRka) (lRk+"e:") (lRk+"e:")
|
||||||
(lRk+"e:") (lRk+"o:n~") (lRk+"o:")
|
(lRk+"e:") (lRk+"o:m.") (lRk+"o:")
|
||||||
Masc ;
|
Masc ;
|
||||||
|
|
||||||
-- masculine nouns does not end with a, h, e, an
|
-- masculine nouns does not end with a, h, e, an
|
||||||
|
|||||||
@@ -49,13 +49,13 @@ oper mkR : Str -> Str -> Str -> Str -> Str -> Str -> Str -> Str -> Str -> DSize
|
|||||||
r4 => a4 + "a:li:s" ;
|
r4 => a4 + "a:li:s" ;
|
||||||
r5 => a5 + "n" ;
|
r5 => a5 + "n" ;
|
||||||
r6 => a6 + "saT'" ;
|
r6 => a6 + "saT'" ;
|
||||||
r7 => a7 + "attar" ;
|
r7 => a7 + "atX,tar" ;
|
||||||
r8 => a8 + "a:si:" ;
|
r8 => a8 + "a:si:" ;
|
||||||
r9 => a9 + "a:nawve:"
|
r9 => a9 + "a:nawve:"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
oper rows : DSize => DSize => Str = table {
|
oper rows : DSize => DSize => Str = table {
|
||||||
sg => mkR "gya:r" "Ikki:" "Ikat" "Ikt" "Ikya:va" "Ik" "Ikh" "Iky" "Iky" ;
|
sg => mkR "gX,ya:r" "Ikki:" "Ikat" "Ikt" "Ikya:va" "Ik" "Ikh" "Iky" "Iky" ;
|
||||||
r2 => mkR "ba:r" "ba:I:" "bat" "be+t" "ba:va" "ba:" "bah" "bay" "b" ;
|
r2 => mkR "ba:r" "ba:I:" "bat" "be+t" "ba:va" "ba:" "bah" "bay" "b" ;
|
||||||
r3 => mkR "te:r" "te:I:" "te+m." "te+m.t" "tirpa" "tir" "tih" "tir" "tir" ;
|
r3 => mkR "te:r" "te:I:" "te+m." "te+m.t" "tirpa" "tir" "tih" "tir" "tir" ;
|
||||||
r4 => mkR "co+d" "co+bi:" "co+m." "co+va" "cww" "co+n~" "co+h" "cw+r" "co+r" ;
|
r4 => mkR "co+d" "co+bi:" "co+m." "co+va" "cww" "co+n~" "co+h" "cw+r" "co+r" ;
|
||||||
@@ -75,28 +75,28 @@ lin pot01 = {s = table {unit => "E:k" ; _ => "dmi:" } ; size = sg ; n = Sg} ;
|
|||||||
lin pot0 d = d ;
|
lin pot0 d = d ;
|
||||||
lin pot110 = {s = "ds" ; size = less100 ; n = Pl} ;
|
lin pot110 = {s = "ds" ; size = less100 ; n = Pl} ;
|
||||||
lin pot111 = {s = rows ! sg ! sg ; size = less100 ; n = Pl} ;
|
lin pot111 = {s = rows ! sg ! sg ; size = less100 ; n = Pl} ;
|
||||||
lin pot1to19 d = {s = rows ! d.size ! sg ; size = less100 ; n = d.n} ;
|
lin pot1to19 d = {s = rows ! d.size ! sg ; size = less100 ; n = Pl} ;
|
||||||
lin pot0as1 n = {s = n.s ! unit ; size = table {sg => singl ; _ => less100} ! n.size ; n = n.n } ;
|
lin pot0as1 n = {s = n.s ! unit ; size = table {sg => singl ; _ => less100} ! n.size ; n = n.n } ;
|
||||||
|
|
||||||
lin pot1 d = {s = d.s ! ten ; size = less100 ; n = d.n} ;
|
lin pot1 d = {s = d.s ! ten ; size = less100 ; n = Pl} ;
|
||||||
lin pot1plus d e = {s = rows ! e.size ! d.size ; size = less100 ; n = d.n} ;
|
lin pot1plus d e = {s = rows ! e.size ! d.size ; size = less100 ; n = Pl} ;
|
||||||
|
|
||||||
lin pot1as2 n = {s = n.s ; s2 = "dmi:" ; size = n.size ; n = n.n} ;
|
lin pot1as2 n = {s = n.s ; s2 = "dmi:" ; size = n.size ; n = n.n} ;
|
||||||
lin pot2 d = {s = (mksau (d.s ! unit) d.size) ;
|
lin pot2 d = {s = (mksau (d.s ! unit) d.size) ;
|
||||||
s2 = d.s ! unit ++ "la:k'" ; size = more100 ; n = d.n} ;
|
s2 = d.s ! unit ++ "la:k'" ; size = more100 ; n = Pl} ;
|
||||||
lin pot2plus d e =
|
lin pot2plus d e =
|
||||||
{s = (mksau (d.s ! unit) d.size) ++ e.s ;
|
{s = (mksau (d.s ! unit) d.size) ++ e.s ;
|
||||||
s2 = (d.s ! unit) ++ "la:k'" ++ (mkhazar e.s e.size) ;
|
s2 = (d.s ! unit) ++ "la:k'" ++ (mkhazar e.s e.size) ;
|
||||||
size = more100 ; n = d.n} ;
|
size = more100 ; n = Pl} ;
|
||||||
|
|
||||||
lin pot2as3 n = {s = n.s ; n = n.n} ;
|
lin pot2as3 n = {s = n.s ; n = n.n} ;
|
||||||
lin pot3 n = {s = table { singl => ekhazar ;
|
lin pot3 n = {s = table { singl => ekhazar ;
|
||||||
less100 => n.s ++ "haza:r" ;
|
less100 => n.s ++ "haza:r" ;
|
||||||
more100 => n.s2 } ! n.size ; n = n.n} ;
|
more100 => n.s2 } ! n.size ; n = Pl} ;
|
||||||
lin pot3plus n m =
|
lin pot3plus n m =
|
||||||
{s = table {singl => ekhazar ;
|
{s = table {singl => ekhazar ;
|
||||||
less100 => n.s ++ "haza:r" ;
|
less100 => n.s ++ "haza:r" ;
|
||||||
more100 => n.s2 } ! n.size ++ m.s ; n = n.n} ;
|
more100 => n.s2 } ! n.size ++ m.s ; n = Pl} ;
|
||||||
|
|
||||||
lin D_0 = { s = "N0" ; n = Sg};
|
lin D_0 = { s = "N0" ; n = Sg};
|
||||||
lin D_1 = { s = "N1" ; n = Sg};
|
lin D_1 = { s = "N1" ; n = Sg};
|
||||||
|
|||||||
@@ -12,15 +12,15 @@ concrete StructuralHin of Structural = CatHin **
|
|||||||
although_Subj = ss "Agarci" ;
|
although_Subj = ss "Agarci" ;
|
||||||
always_AdV = ss "hame:s*a:" ;
|
always_AdV = ss "hame:s*a:" ;
|
||||||
and_Conj = sd2 [] "O+r" ** {n = Pl} ;
|
and_Conj = sd2 [] "O+r" ** {n = Pl} ;
|
||||||
because_Subj = ss "kX,yo:n~ki" ;
|
because_Subj = ss "kX,yo:m.ki" ;
|
||||||
before_Prep = mkPrep ["se: pahale:"] ["se: pahale:"] ;
|
before_Prep = mkPrep ["se: pahle:"] ["se: pahle:"] ;
|
||||||
behind_Prep = mkPrep ["ke: pi:c'e:"] ["ke: pi:c'e:"] ;
|
behind_Prep = mkPrep ["ke: pi:c'e:"] ["ke: pi:c'e:"] ;
|
||||||
between_Prep = mkPrep ["ke: darmiya:n"] ["ke: darmiya:n"] ;
|
between_Prep = mkPrep ["ke: darmiya:n"] ["ke: darmiya:n"] ;
|
||||||
both7and_DConj = sd2 "do:no:m." "O+r" ** {n = Pl} ;
|
both7and_DConj = sd2 "do:no:m." "O+r" ** {n = Pl} ;
|
||||||
but_PConj = ss "le:kin" ;
|
but_PConj = ss "le:kin" ;
|
||||||
by8agent_Prep = mkPrep "" "" ;
|
by8agent_Prep = mkPrep "se:" "se:" ;
|
||||||
by8means_Prep = mkPrep "" "" ;
|
by8means_Prep = mkPrep "par" "par" ;
|
||||||
can8know_VV,can_VV = mkV "sakana:" ** { isAux = True} ;
|
can8know_VV,can_VV = mkV "sakna:" ** { isAux = True} ;
|
||||||
during_Prep = mkPrep ["ke: darmiya:n"] ["ke: darmiya:n"] ;
|
during_Prep = mkPrep ["ke: darmiya:n"] ["ke: darmiya:n"] ;
|
||||||
either7or_DConj = sd2 "ko:I: E:k" "ya:" ** {n = Sg} ;
|
either7or_DConj = sd2 "ko:I: E:k" "ya:" ** {n = Sg} ;
|
||||||
everybody_NP = MassNP (UseN (ParadigmsHin.mkN "har ko:I:" "har ko:I:" "har ko:I:" "har ko:I:" "har ko:I:" "har ko:I:" Masc ));
|
everybody_NP = MassNP (UseN (ParadigmsHin.mkN "har ko:I:" "har ko:I:" "har ko:I:" "har ko:I:" "har ko:I:" "har ko:I:" Masc ));
|
||||||
@@ -36,10 +36,10 @@ concrete StructuralHin of Structural = CatHin **
|
|||||||
here7to_Adv = mkAdv ["yaha:n~ par"] ;
|
here7to_Adv = mkAdv ["yaha:n~ par"] ;
|
||||||
here7from_Adv = mkAdv ["yaha:n~ se:"] ;
|
here7from_Adv = mkAdv ["yaha:n~ se:"] ;
|
||||||
how_IAdv = ss "ke+se:" ;
|
how_IAdv = ss "ke+se:" ;
|
||||||
how8many_IDet = makeIDet "kitane:" "kitani:" Pl ;
|
how8many_IDet = makeIDet "kitne:" "kitni:" Pl ;
|
||||||
how8much_IAdv = ss "kitana:" ;
|
how8much_IAdv = ss "kitna:" ;
|
||||||
if_Subj = ss "Agar" ;
|
if_Subj = ss "Agar" ;
|
||||||
in8front_Prep = mkPrep ["ke: sa:mane:"] ["ke: sa:mane:"] ;
|
in8front_Prep = mkPrep ["ke: sa:mne:"] ["ke: sa:mne:"] ;
|
||||||
i_Pron = personalPN "me+m." "muj'" "" "me:ra:" "me:ri:" "me:re:" "me:ri:" Sg Masc Pers1;
|
i_Pron = personalPN "me+m." "muj'" "" "me:ra:" "me:ri:" "me:re:" "me:ri:" Sg Masc Pers1;
|
||||||
in_Prep = mkPrep "me:m." "me:m." ;
|
in_Prep = mkPrep "me:m." "me:m." ;
|
||||||
it_Pron = personalPN "yah" "Is" "yah" "Is ka:" "Is ki:" "Us ke:" "Us ki:" Sg Masc Pers3_Near;
|
it_Pron = personalPN "yah" "Is" "yah" "Is ka:" "Is ki:" "Us ke:" "Us ki:" Sg Masc Pers3_Near;
|
||||||
@@ -67,7 +67,7 @@ concrete StructuralHin of Structural = CatHin **
|
|||||||
or_Conj = sd2 [] "ya:" ** {n = Sg} ;
|
or_Conj = sd2 [] "ya:" ** {n = Sg} ;
|
||||||
otherwise_PConj = ss "nahi:m. to:" ;
|
otherwise_PConj = ss "nahi:m. to:" ;
|
||||||
part_Prep = mkPrep "" "" ;
|
part_Prep = mkPrep "" "" ;
|
||||||
-- please_Voc = ss "" ;
|
please_Voc = ss "kr.pya:" ;
|
||||||
possess_Prep = mkPrep "ka:" "ki:" ;
|
possess_Prep = mkPrep "ka:" "ki:" ;
|
||||||
quite_Adv = ss "ka:fi:" ;
|
quite_Adv = ss "ka:fi:" ;
|
||||||
she_Pron = personalPN "vah" "Us" "Us" "Us ka:" "Us ki:" "Us ke:" "Us ki:" Sg Fem Pers3_Distant ; -- chek with prasad about 'Us'
|
she_Pron = personalPN "vah" "Us" "Us" "Us ka:" "Us ki:" "Us ke:" "Us ki:" Sg Fem Pers3_Distant ; -- chek with prasad about 'Us'
|
||||||
@@ -83,8 +83,8 @@ concrete StructuralHin of Structural = CatHin **
|
|||||||
there7to_Adv = mkAdv ["vaha:n~ par"] ;
|
there7to_Adv = mkAdv ["vaha:n~ par"] ;
|
||||||
there7from_Adv = mkAdv ["vaha:n~ se:"] ;
|
there7from_Adv = mkAdv ["vaha:n~ se:"] ;
|
||||||
therefore_PConj = ss "Is liye:" ;
|
therefore_PConj = ss "Is liye:" ;
|
||||||
they_Pron = personalPN "vah" "vah" "vah" "Un ka:" "Un ki:" "Un ke:" "Un ki:" Pl Masc Pers3_Distant ; ----
|
they_Pron = personalPN "ve:" "ve:" "ve:" "Un ka:" "Un ki:" "Un ke:" "Un ki:" Pl Masc Pers3_Distant ; ----
|
||||||
this_Quant = demoPN "yah" "Is" "In";
|
this_Quant = demoPN "ye:" "Is" "In";
|
||||||
through_Prep = mkPrep ["me:m. se:"] ["me:m. se:"] ;
|
through_Prep = mkPrep ["me:m. se:"] ["me:m. se:"] ;
|
||||||
too_AdA = ss "bahut" ;
|
too_AdA = ss "bahut" ;
|
||||||
to_Prep = mkPrep "ko:" "ko:" ; -- ** {lock_Prep = <>};
|
to_Prep = mkPrep "ko:" "ko:" ; -- ** {lock_Prep = <>};
|
||||||
@@ -108,21 +108,21 @@ concrete StructuralHin of Structural = CatHin **
|
|||||||
with_Prep = mkPrep ["ke: sa:t'"] ["ke: sa:t'"] ;
|
with_Prep = mkPrep ["ke: sa:t'"] ["ke: sa:t'"] ;
|
||||||
-- yes_Phr = ss "???" ;
|
-- yes_Phr = ss "???" ;
|
||||||
yes_Utt = ss "ha:n~" ;
|
yes_Utt = ss "ha:n~" ;
|
||||||
youSg_Pron = personalPN "tu:" "tum" "tum" "tumha:ra:" "tumha:ri:" "tumha:re:" "tumha:ri:" Sg Masc Pers2_Casual ;
|
youSg_Pron = personalPN "tu:" "tum" "tum" "tumX,ha:ra:" "tumX,ha:ri:" "tumX,ha:re:" "tumX,ha:ri:" Sg Masc Pers2_Casual ;
|
||||||
youPl_Pron = personalPN "tum" "tum" "tum" "tumha:ra:" "tumha:ri:" "tumha:re:" "tumha:ri:" Pl Masc Pers2_Casual ;
|
youPl_Pron = personalPN "tum" "tum" "tum" "tumX,ha:ra:" "tumX,ha:ri:" "tumX,ha:re:" "tumX,ha:ri:" Pl Masc Pers2_Casual ;
|
||||||
youPol_Pron = personalPN "A:p" "A:p" "A:p" "A:p ka:" "A:p ki:" "A:p ke:" "A:p ki:" Sg Masc Pers2_Respect ;
|
youPol_Pron = personalPN "A:p" "A:p" "A:p" "A:p ka:" "A:p ki:" "A:p ke:" "A:p ki:" Sg Masc Pers2_Respect ;
|
||||||
-- no_Quant = demoPN "ko:I: nahi:m." ;
|
-- no_Quant = demoPN "ko:I: nahi:m." ;
|
||||||
not_Predet = {s="nahi:m."} ;
|
not_Predet = {s="nahi:m."} ;
|
||||||
-- if_then_Conj = sd2 "agar to:" ** {n = Sg} ;
|
-- if_then_Conj = sd2 "Agar to:" ** {n = Sg} ;
|
||||||
at_least_AdN = mkAdN ["kam se: kam"] ;
|
at_least_AdN = mkAdN ["kam se: kam"] ;
|
||||||
at_most_AdN = mkAdN ["zX,ya:da: se: zX,ya:da:"];
|
at_most_AdN = mkAdN ["zX,ya:da: se: zX,ya:da:"];
|
||||||
-- nothing_NP = MassNP (UseN (ParadigmsHin.mkN "kuc' nahi:m." Masc ));
|
-- nothing_NP = MassNP (UseN (ParadigmsHin.mkN "kuc' nahi:m." Masc ));
|
||||||
except_Prep = mkPrep "ke: siva:y" "ke: siva:y";
|
except_Prep = mkPrep "ke: siva:y" "ke: siva:y";
|
||||||
-- nobody_NP = MassNP (UseN (ParadigmsHin.mkN "ko:I: nahi:m." Masc ));
|
-- nobody_NP = MassNP (UseN (ParadigmsHin.mkN "ko:I: nahi:m." Masc ));
|
||||||
|
|
||||||
as_CAdv = {s = "itna:" ; p = "jitna:"} ;
|
as_CAdv = {s = "Itna:" ; p = "jitna:"} ;
|
||||||
|
|
||||||
-- have_V2 = mkV2 "";
|
have_V2 = mkV2 "rak'na:";
|
||||||
|
|
||||||
language_title_Utt = ss "hinX,di:" ;
|
language_title_Utt = ss "hinX,di:" ;
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ param
|
|||||||
|
|
||||||
toNP : ( Case => Str) -> NPCase -> Str = \pn, npc -> case npc of {
|
toNP : ( Case => Str) -> NPCase -> Str = \pn, npc -> case npc of {
|
||||||
NPC c => pn ! c ;
|
NPC c => pn ! c ;
|
||||||
NPObj => pn ! Dir ;
|
NPObj => pn ! Obl ; -- changed during phrasebook 'miltay han jumE ko'
|
||||||
NPErg => pn ! Obl ++ nE
|
NPErg => pn ! Obl ++ nE
|
||||||
} ;
|
} ;
|
||||||
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 {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ concrete AdverbPes of Adverb = CatPes ** open ResPes, Prelude in {
|
|||||||
s = a.adv ++ cadv.p ++ cadv.s ++ s.s;
|
s = a.adv ++ cadv.p ++ cadv.s ++ s.s;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
PrepNP prep np = {s = prep.s ++ np.s ! NPC aEzafa } ;
|
PrepNP prep np = {s = prep.s ++ np.s ! NPC bEzafa } ;
|
||||||
|
|
||||||
AdAdv ada adv = { s = ada.s ++ adv.s} ;
|
AdAdv ada adv = { s = ada.s ++ adv.s} ;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--# -path=.:../abstract:../common:../prelude
|
--# -path=.:../abstract:../common:../prelude
|
||||||
|
|
||||||
concrete AllPes of AllPesAbs =
|
concrete AllPes of AllPesAbs =
|
||||||
LangPes
|
LangPes,
|
||||||
-- ExtraPes
|
ExtraPes
|
||||||
** {} ;
|
** {} ;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
abstract AllPesAbs =
|
abstract AllPesAbs =
|
||||||
Lang
|
Lang,
|
||||||
-- ExtraPesAbs
|
ExtraPesAbs
|
||||||
** {} ;
|
** {} ;
|
||||||
|
|||||||
@@ -4,16 +4,16 @@ concrete ExtraPes of ExtraPesAbs = CatPes **
|
|||||||
flags coding = utf8;
|
flags coding = utf8;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
GenNP np = {s = \\_,_,_ => np.s ! NPC Obl ++ "ka" ; a = np.a} ;
|
GenNP np = {s = \\_ => np.s ! NPC aEzafa ; a = np.a ; fromPron = True} ; -- changed from fromPron=False for Phrasebook
|
||||||
|
|
||||||
each_Det = mkDet "hr kwy" "hr kwy" "hr kwy" "hr kwy" Sg ;
|
-- each_Det = mkDet "هر کwی" "هر کwی" "هر کwی" "هر کwی" Sg ;
|
||||||
have_V = mkV "rakh-na";
|
-- have_V = mkV "رکh-ن";
|
||||||
IAdvAdv adv = {s = "ktny" ++ adv.s} ;
|
IAdvAdv adv = {s = "تا چه" ++ adv.s} ;
|
||||||
ICompAP ap = {s = "ktnE" ++ ap.s ! Sg ! Masc ! Dir ! Posit} ;
|
-- ICompAP ap = {s = "کتنE" ++ ap.s ! Sg ! Masc ! Dir ! Posit} ;
|
||||||
cost_V = mkV "qymt" ;
|
-- cost_V = mkV "قیمت" ;
|
||||||
|
|
||||||
-- added for causitives
|
-- added for causitives
|
||||||
make_CV = mkVerb "nothing" ** {c2 = "" };
|
-- make_CV = mkVerb "نْتهنگ" ** {c2 = "" };
|
||||||
|
|
||||||
-- for VP conjunction
|
-- for VP conjunction
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ concrete LexiconPes of Lexicon = CatPes **
|
|||||||
small_A = mkA "کوچک" ;
|
small_A = mkA "کوچک" ;
|
||||||
snake_N = mkN01 "مار" animate;
|
snake_N = mkN01 "مار" animate;
|
||||||
sock_N = mkN01 "جوراب" inanimate;
|
sock_N = mkN01 "جوراب" inanimate;
|
||||||
speak_V2 = mkV2 (compoundV "صحبت" (mkV "کردن" "کن")) "با" False;
|
speak_V2 = mkV2 (compoundV "صحبت" (mkV "کردن" "کن")) "" False;
|
||||||
star_N = mkN01 "ستاره" animate;
|
star_N = mkN01 "ستاره" animate;
|
||||||
steel_N = mkN01 "فولاد" inanimate; -- also "استیل"
|
steel_N = mkN01 "فولاد" inanimate; -- also "استیل"
|
||||||
stone_N = mkN01 "سنگ" inanimate;
|
stone_N = mkN01 "سنگ" inanimate;
|
||||||
|
|||||||
@@ -122,16 +122,16 @@ oper
|
|||||||
compoundV : Str -> V -> V = \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
compoundV : Str -> V -> V = \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
||||||
compoundV : Str -> V2 -> V = \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
compoundV : Str -> V2 -> V = \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
||||||
};
|
};
|
||||||
{-
|
|
||||||
|
|
||||||
----2 Adverbs
|
----2 Adverbs
|
||||||
mkAdv : Str -> Adv = \str -> {s =\\ _ => str ; lock_Adv = <>};
|
mkAdv : Str -> Adv = \str -> {s = str ; lock_Adv = <>};
|
||||||
|
|
||||||
----2 Prepositions
|
----2 Prepositions
|
||||||
|
|
||||||
mkPrep : Str -> Prep ;
|
mkPrep : Str -> Prep ;
|
||||||
mkPrep str = makePrep str ** {lock_Prep = <>};
|
mkPrep str = {s = str ; lock_Prep = <>};
|
||||||
|
{-
|
||||||
--3 Determiners and quantifiers
|
--3 Determiners and quantifiers
|
||||||
|
|
||||||
-- mkQuant : overload {
|
-- mkQuant : overload {
|
||||||
|
|||||||
@@ -231,7 +231,7 @@ oper
|
|||||||
-}
|
-}
|
||||||
infVV : Bool -> VPH -> {s : AgrPes => Str} = \isAux,vp ->
|
infVV : Bool -> VPH -> {s : AgrPes => Str} = \isAux,vp ->
|
||||||
{s = \\agr => case agr of {
|
{s = \\agr => case agr of {
|
||||||
AgPes n p => (vp.comp ! (toAgr n p)) ++ (vp.s ! VVForm (AgPes n p)).inf }};
|
AgPes n p => (vp.ad ++ vp.comp ! (toAgr n p)) ++ (vp.s ! VVForm (AgPes n p)).inf }};
|
||||||
|
|
||||||
insertObjPre : (AgrPes => Str) -> VPHSlash -> VPH = \obj,vp -> {
|
insertObjPre : (AgrPes => Str) -> VPHSlash -> VPH = \obj,vp -> {
|
||||||
s = vp.s ;
|
s = vp.s ;
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ concrete StructuralPes of Structural = CatPes **
|
|||||||
yes_Utt = ss "بله" ;
|
yes_Utt = ss "بله" ;
|
||||||
youSg_Pron = personalPN "تو" Sg PPers2 ;
|
youSg_Pron = personalPN "تو" Sg PPers2 ;
|
||||||
youPl_Pron = personalPN "شما" Pl PPers2 ;
|
youPl_Pron = personalPN "شما" Pl PPers2 ;
|
||||||
youPol_Pron = personalPN "شما" Sg PPers2 ;
|
youPol_Pron = personalPN "شما" Pl PPers2 ;
|
||||||
-- no_Quant = demoPN "هیچ" ;
|
-- no_Quant = demoPN "هیچ" ;
|
||||||
not_Predet = {s="نه"} ;
|
not_Predet = {s="نه"} ;
|
||||||
if_then_Conj = sd2 "اگر" "آنگاه" ** {n = Sg} ;
|
if_then_Conj = sd2 "اگر" "آنگاه" ** {n = Sg} ;
|
||||||
@@ -124,7 +124,7 @@ concrete StructuralPes of Structural = CatPes **
|
|||||||
|
|
||||||
as_CAdv = {s = ["به اندازه ی"] ; p = ""} ;
|
as_CAdv = {s = ["به اندازه ی"] ; p = ""} ;
|
||||||
|
|
||||||
-- have_V2 = mkV2 (mkV "داشتن" "دار") "را" ;
|
have_V2 = mkV2 (mkV "داشتن" "دار") "را" ;
|
||||||
|
|
||||||
language_title_Utt = ss "پeرسن" ;
|
language_title_Utt = ss "پeرسن" ;
|
||||||
|
|
||||||
|
|||||||
@@ -3,29 +3,32 @@
|
|||||||
concrete SymbolPes of Symbol = CatPes ** open Prelude, ResPes in {
|
concrete SymbolPes of Symbol = CatPes ** open Prelude, ResPes in {
|
||||||
|
|
||||||
flags coding = utf8;
|
flags coding = utf8;
|
||||||
{-
|
|
||||||
lin
|
lin
|
||||||
-- SymbPN i = {s = \\_ => i.s ; g = Masc} ;
|
-- SymbPN i = {s = \\_ => i.s ; g = Masc} ;
|
||||||
SymbPN i = {s = addGenitiveS i.s ; g = Masc} ;
|
SymbPN i = {s = i.s ; animacy = Inanimate} ; -- "از" is removed for Phrasebook
|
||||||
IntPN i = {s = addGenitiveS i.s ; g = Masc} ;
|
IntPN i = {s = i.s ++ "از" ; animacy = Inanimate} ;
|
||||||
FloatPN i = {s = addGenitiveS i.s ; g = Masc} ;
|
FloatPN i = {s = i.s ++ "از" ; animacy = Inanimate} ;
|
||||||
NumPN i = {s = \\_ =>i.s ; g = Masc} ;
|
NumPN i = {s = i.s ; animacy = Inanimate} ;
|
||||||
CNIntNP cn i = {
|
CNIntNP cn i = {
|
||||||
s = \\c => cn.s ! Sg ! Dir ++ i.s ;
|
s = \\ez => cn.s ! aEzafa ! Sg ++ i.s ;
|
||||||
a = agrP3 cn.g Sg
|
a = agrPesP3 Sg ;
|
||||||
|
animacy = cn.animacy
|
||||||
} ;
|
} ;
|
||||||
CNSymbNP det cn xs = {
|
CNSymbNP det cn xs = {
|
||||||
s = \\c => det.s!Sg!Masc ++ cn.s ! det.n ! Dir ++ xs.s ;
|
s = \\ez => det.s ++ cn.s ! aEzafa ! det.n ++ xs.s ;
|
||||||
a = agrP3 cn.g det.n
|
a = agrPesP3 det.n ;
|
||||||
|
animacy = cn.animacy
|
||||||
} ;
|
} ;
|
||||||
CNNumNP cn i = {
|
CNNumNP cn i = {
|
||||||
s = \\c => cn.s ! Sg ! Dir ++ i.s ;
|
s = \\ez => cn.s ! aEzafa ! Sg ++ i.s ;
|
||||||
a = agrP3 cn.g Sg
|
a = agrPesP3 Sg ;
|
||||||
|
animacy = cn.animacy
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
SymbS sy = sy ;
|
SymbS sy = sy ;
|
||||||
SymbNum sy = { s = sy.s ; n = Pl } ;
|
SymbNum sy = { s = sy.s ; n = Pl } ;
|
||||||
SymbOrd sy = { s = sy.s ++ "waN" ; n = Pl} ;
|
SymbOrd sy = { s = sy.s ++ "wN" ; n = Pl} ;
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
|
|
||||||
@@ -34,14 +37,15 @@ lincat
|
|||||||
lin
|
lin
|
||||||
MkSymb s = s ;
|
MkSymb s = s ;
|
||||||
|
|
||||||
BaseSymb = infixSS "tE" ;
|
BaseSymb = infixSS "تE" ;
|
||||||
ConsSymb = infixSS "" ;
|
ConsSymb = infixSS "" ;
|
||||||
|
|
||||||
oper
|
--oper
|
||||||
-- Note: this results in a space before 's, but there's
|
-- Note: this results in a space before 's, but there's
|
||||||
-- not mauch we can do about that.
|
-- not mauch we can do about that.
|
||||||
addGenitiveS : Str -> Case => Str = \s ->
|
-- addGenitiveS : Str ;
|
||||||
table {_ => s ++ "da" } ;
|
-- addGenitiveS s =
|
||||||
-}
|
-- s ++ "از" ;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ concrete AdverbPes of Adverb = CatPes ** open ResPes, Prelude in {
|
|||||||
s = a.adv ++ cadv.p ++ cadv.s ++ s.s;
|
s = a.adv ++ cadv.p ++ cadv.s ++ s.s;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
PrepNP prep np = {s = prep.s ++ np.s ! NPC aEzafa } ;
|
PrepNP prep np = {s = prep.s ++ np.s ! NPC bEzafa } ;
|
||||||
|
|
||||||
AdAdv ada adv = { s = ada.s ++ adv.s} ;
|
AdAdv ada adv = { s = ada.s ++ adv.s} ;
|
||||||
|
|
||||||
|
|||||||
@@ -179,7 +179,7 @@ concrete LexiconPes of Lexicon = CatPes **
|
|||||||
small_A = mkA "kvc^k" ;
|
small_A = mkA "kvc^k" ;
|
||||||
snake_N = mkN01 "mAr" animate;
|
snake_N = mkN01 "mAr" animate;
|
||||||
sock_N = mkN01 "jvrAb" inanimate;
|
sock_N = mkN01 "jvrAb" inanimate;
|
||||||
speak_V2 = mkV2 (compoundV "SHbt" (mkV "krdn" "kn")) "bA" False;
|
speak_V2 = mkV2 (compoundV "SHbt" (mkV "krdn" "kn")) "" False;
|
||||||
star_N = mkN01 "stArh" animate;
|
star_N = mkN01 "stArh" animate;
|
||||||
steel_N = mkN01 "fvlAd" inanimate; -- also "Astyl"
|
steel_N = mkN01 "fvlAd" inanimate; -- also "Astyl"
|
||||||
stone_N = mkN01 "sng" inanimate;
|
stone_N = mkN01 "sng" inanimate;
|
||||||
|
|||||||
@@ -122,16 +122,16 @@ oper
|
|||||||
compoundV : Str -> V -> V = \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
compoundV : Str -> V -> V = \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
||||||
compoundV : Str -> V2 -> V = \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
compoundV : Str -> V2 -> V = \s,v -> {s = \\vf => s ++ v.s ! vf ; lock_V = <>} ;
|
||||||
};
|
};
|
||||||
{-
|
|
||||||
|
|
||||||
----2 Adverbs
|
----2 Adverbs
|
||||||
mkAdv : Str -> Adv = \str -> {s =\\ _ => str ; lock_Adv = <>};
|
mkAdv : Str -> Adv = \str -> {s = str ; lock_Adv = <>};
|
||||||
|
|
||||||
----2 Prepositions
|
----2 Prepositions
|
||||||
|
|
||||||
mkPrep : Str -> Prep ;
|
mkPrep : Str -> Prep ;
|
||||||
mkPrep str = makePrep str ** {lock_Prep = <>};
|
mkPrep str = {s = str ; lock_Prep = <>};
|
||||||
|
{-
|
||||||
--3 Determiners and quantifiers
|
--3 Determiners and quantifiers
|
||||||
|
|
||||||
-- mkQuant : overload {
|
-- mkQuant : overload {
|
||||||
|
|||||||
@@ -231,7 +231,7 @@ oper
|
|||||||
-}
|
-}
|
||||||
infVV : Bool -> VPH -> {s : AgrPes => Str} = \isAux,vp ->
|
infVV : Bool -> VPH -> {s : AgrPes => Str} = \isAux,vp ->
|
||||||
{s = \\agr => case agr of {
|
{s = \\agr => case agr of {
|
||||||
AgPes n p => (vp.comp ! (toAgr n p)) ++ (vp.s ! VVForm (AgPes n p)).inf }};
|
AgPes n p => (vp.ad ++ vp.comp ! (toAgr n p)) ++ (vp.s ! VVForm (AgPes n p)).inf }};
|
||||||
|
|
||||||
insertObjPre : (AgrPes => Str) -> VPHSlash -> VPH = \obj,vp -> {
|
insertObjPre : (AgrPes => Str) -> VPHSlash -> VPH = \obj,vp -> {
|
||||||
s = vp.s ;
|
s = vp.s ;
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ concrete StructuralPes of Structural = CatPes **
|
|||||||
yes_Utt = ss "blh" ;
|
yes_Utt = ss "blh" ;
|
||||||
youSg_Pron = personalPN "tv" Sg PPers2 ;
|
youSg_Pron = personalPN "tv" Sg PPers2 ;
|
||||||
youPl_Pron = personalPN "CmA" Pl PPers2 ;
|
youPl_Pron = personalPN "CmA" Pl PPers2 ;
|
||||||
youPol_Pron = personalPN "CmA" Sg PPers2 ;
|
youPol_Pron = personalPN "CmA" Pl PPers2 ;
|
||||||
-- no_Quant = demoPN "hyc^" ;
|
-- no_Quant = demoPN "hyc^" ;
|
||||||
not_Predet = {s="nh"} ;
|
not_Predet = {s="nh"} ;
|
||||||
if_then_Conj = sd2 "Agr" "A:ngAh" ** {n = Sg} ;
|
if_then_Conj = sd2 "Agr" "A:ngAh" ** {n = Sg} ;
|
||||||
@@ -124,7 +124,7 @@ concrete StructuralPes of Structural = CatPes **
|
|||||||
|
|
||||||
as_CAdv = {s = ["bh AndAzh y"] ; p = ""} ;
|
as_CAdv = {s = ["bh AndAzh y"] ; p = ""} ;
|
||||||
|
|
||||||
-- have_V2 = mkV2 (mkV "dACtn" "dAr") "rA" ;
|
have_V2 = mkV2 (mkV "dACtn" "dAr") "rA" ;
|
||||||
|
|
||||||
language_title_Utt = ss "persian" ;
|
language_title_Utt = ss "persian" ;
|
||||||
|
|
||||||
|
|||||||
@@ -8,3 +8,6 @@ rf -file=src/IdiomPes.gf | ps -env=quotes -to_persian | wf -file=IdiomPes.gf
|
|||||||
rf -file=src/RelativePes.gf | ps -env=quotes -to_persian | wf -file=RelativePes.gf
|
rf -file=src/RelativePes.gf | ps -env=quotes -to_persian | wf -file=RelativePes.gf
|
||||||
rf -file=src/AdverbPes.gf | ps -env=quotes -to_persian | wf -file=AdverbPes.gf
|
rf -file=src/AdverbPes.gf | ps -env=quotes -to_persian | wf -file=AdverbPes.gf
|
||||||
rf -file=src/SentencePes.gf | ps -env=quotes -to_persian | wf -file=SentencePes.gf
|
rf -file=src/SentencePes.gf | ps -env=quotes -to_persian | wf -file=SentencePes.gf
|
||||||
|
rf -file=src/NumeralPes.gf | ps -env=quotes -to_persian | wf -file=NumeralPes.gf
|
||||||
|
rf -file=src/SymbolPes.gf | ps -env=quotes -to_persian | wf -file=SymbolPes.gf
|
||||||
|
rf -file=src/ExtraPes.gf | ps -env=quotes -to_persian | wf -file=ExtraPes.gf
|
||||||
@@ -111,7 +111,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
|||||||
learn_V2 = mkV2 (mkV "سیكھنا") ;
|
learn_V2 = mkV2 (mkV "سیكھنا") ;
|
||||||
leather_N = mkN "چمڑا" ;
|
leather_N = mkN "چمڑا" ;
|
||||||
leave_V2 = mkV2 (mkV "جانا") ;
|
leave_V2 = mkV2 (mkV "جانا") ;
|
||||||
like_V2 = mkV2 (compoundV "پسند" do_V2);
|
like_V2 = mkV2 (compoundV "پسند" do_V2) "كو";
|
||||||
listen_V2 = mkV2 (mkV "سننا") ;
|
listen_V2 = mkV2 (mkV "سننا") ;
|
||||||
live_V = mkV "رہنا" ; ---- touch
|
live_V = mkV "رہنا" ; ---- touch
|
||||||
long_A = mkA "لمبا" ;
|
long_A = mkA "لمبا" ;
|
||||||
|
|||||||
@@ -75,28 +75,28 @@ lin pot01 = {s = table {unit => "ایك" ; _ => "دمی" } ; size = sg ; n = Sg}
|
|||||||
lin pot0 d = d ;
|
lin pot0 d = d ;
|
||||||
lin pot110 = {s = "دس" ; size = less100 ; n = Pl} ;
|
lin pot110 = {s = "دس" ; size = less100 ; n = Pl} ;
|
||||||
lin pot111 = {s = rows ! sg ! sg ; size = less100 ; n = Pl} ;
|
lin pot111 = {s = rows ! sg ! sg ; size = less100 ; n = Pl} ;
|
||||||
lin pot1to19 d = {s = rows ! d.size ! sg ; size = less100 ; n = d.n} ;
|
lin pot1to19 d = {s = rows ! d.size ! sg ; size = less100 ; n = Pl} ; --changed from d.n
|
||||||
lin pot0as1 n = {s = n.s ! unit ; size = table {sg => singl ; _ => less100} ! n.size ; n = n.n } ;
|
lin pot0as1 n = {s = n.s ! unit ; size = table {sg => singl ; _ => less100} ! n.size ; n = n.n } ;
|
||||||
|
|
||||||
lin pot1 d = {s = d.s ! ten ; size = less100 ; n = d.n} ;
|
lin pot1 d = {s = d.s ! ten ; size = less100 ; n = Pl} ; --changed from d.n
|
||||||
lin pot1plus d e = {s = rows ! e.size ! d.size ; size = less100 ; n = d.n} ;
|
lin pot1plus d e = {s = rows ! e.size ! d.size ; size = less100 ; n = Pl} ; --changed from d.n
|
||||||
|
|
||||||
lin pot1as2 n = {s = n.s ; s2 = "دمی" ; size = n.size ; n = n.n} ;
|
lin pot1as2 n = {s = n.s ; s2 = "دمی" ; size = n.size ; n = n.n} ;
|
||||||
lin pot2 d = {s = (mksau (d.s ! unit) d.size) ;
|
lin pot2 d = {s = (mksau (d.s ! unit) d.size) ;
|
||||||
s2 = d.s ! unit ++ "لاكھ" ; size = more100 ; n = d.n} ;
|
s2 = d.s ! unit ++ "لاكھ" ; size = more100 ; n = Pl} ; --changed from d.n
|
||||||
lin pot2plus d e =
|
lin pot2plus d e =
|
||||||
{s = (mksau (d.s ! unit) d.size) ++ e.s ;
|
{s = (mksau (d.s ! unit) d.size) ++ e.s ;
|
||||||
s2 = (d.s ! unit) ++ "لاكھ" ++ (mkhazar e.s e.size) ;
|
s2 = (d.s ! unit) ++ "لاكھ" ++ (mkhazar e.s e.size) ;
|
||||||
size = more100 ; n = d.n} ;
|
size = more100 ; n = Pl} ;
|
||||||
|
|
||||||
lin pot2as3 n = {s = n.s ; n = n.n} ;
|
lin pot2as3 n = {s = n.s ; n = n.n} ;
|
||||||
lin pot3 n = {s = table { singl => ekhazar ;
|
lin pot3 n = {s = table { singl => ekhazar ;
|
||||||
less100 => n.s ++ "ہزار" ;
|
less100 => n.s ++ "ہزار" ;
|
||||||
more100 => n.s2 } ! n.size ; n = n.n} ;
|
more100 => n.s2 } ! n.size ; n = Pl} ; --changed from d.n
|
||||||
lin pot3plus n m =
|
lin pot3plus n m =
|
||||||
{s = table {singl => ekhazar ;
|
{s = table {singl => ekhazar ;
|
||||||
less100 => n.s ++ "ہزار" ;
|
less100 => n.s ++ "ہزار" ;
|
||||||
more100 => n.s2 } ! n.size ++ m.s ; n = n.n} ;
|
more100 => n.s2 } ! n.size ++ m.s ; n = Pl} ; --changed from d.n
|
||||||
|
|
||||||
lin D_0 = { s = "۰" ; n = Sg};
|
lin D_0 = { s = "۰" ; n = Sg};
|
||||||
lin D_1 = { s = "۱" ; n = Sg};
|
lin D_1 = { s = "۱" ; n = Sg};
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ param
|
|||||||
|
|
||||||
toNP : ( Case => Str) -> NPCase -> Str = \pn, npc -> case npc of {
|
toNP : ( Case => Str) -> NPCase -> Str = \pn, npc -> case npc of {
|
||||||
NPC c => pn ! c ;
|
NPC c => pn ! c ;
|
||||||
NPObj => pn ! Dir ;
|
NPObj => pn ! Obl ; -- changed during phrasebook 'miltay han jumE ko'
|
||||||
NPErg => pn ! Obl ++ nE
|
NPErg => pn ! Obl ++ nE
|
||||||
} ;
|
} ;
|
||||||
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 {
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ concrete StructuralUrd of Structural = CatUrd **
|
|||||||
possess_Prep = mkPrep "كا" "كی" ;
|
possess_Prep = mkPrep "كا" "كی" ;
|
||||||
quite_Adv = ss "خاموش" ;
|
quite_Adv = ss "خاموش" ;
|
||||||
she_Pron = personalPN "وہ" "اس" "وہ" ["اس كی"] ["اس كی"] ["اس كے"] ["اس كی"] Sg Fem Pers3_Distant ;
|
she_Pron = personalPN "وہ" "اس" "وہ" ["اس كی"] ["اس كی"] ["اس كے"] ["اس كی"] Sg Fem Pers3_Distant ;
|
||||||
so_AdA = ss "[اس لیE]" ;
|
so_AdA = ss "اس لیے" ;
|
||||||
somebody_NP = MassNP (UseN (ParadigmsUrd.mkN "كوی" "كوی" "كوی" "كوی" "كوی" "كوی" Masc ));
|
somebody_NP = MassNP (UseN (ParadigmsUrd.mkN "كوی" "كوی" "كوی" "كوی" "كوی" "كوی" Masc ));
|
||||||
someSg_Det = mkDet "كچھ" "كچھ" "كچھ" "كچھ" Sg ;
|
someSg_Det = mkDet "كچھ" "كچھ" "كچھ" "كچھ" Sg ;
|
||||||
somePl_Det = mkDet "كچھ" "كچھ" "كچھ" "كچھ" Pl ;
|
somePl_Det = mkDet "كچھ" "كچھ" "كچھ" "كچھ" Pl ;
|
||||||
@@ -89,7 +89,7 @@ concrete StructuralUrd of Structural = CatUrd **
|
|||||||
through_Prep = mkPrep ["میں سے"] ["میں سے"] ;
|
through_Prep = mkPrep ["میں سے"] ["میں سے"] ;
|
||||||
too_AdA = ss "بہت" ;
|
too_AdA = ss "بہت" ;
|
||||||
to_Prep = mkPrep "كو" "كو" ; -- ** {lock_Prep = <>};
|
to_Prep = mkPrep "كو" "كو" ; -- ** {lock_Prep = <>};
|
||||||
under_Prep = mkPrep "نیچے" "نیچے" ; -- ** {lock_Prep = <>};
|
under_Prep = mkPrep "كے نیچے" "كے نیچے" ; -- ** {lock_Prep = <>};
|
||||||
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 ;
|
||||||
@@ -118,7 +118,7 @@ concrete StructuralUrd of Structural = CatUrd **
|
|||||||
at_least_AdN = mkAdN ["كم از كم"] ;
|
at_least_AdN = mkAdN ["كم از كم"] ;
|
||||||
at_most_AdN = mkAdN ["زیادہ سے زیادہ"];
|
at_most_AdN = mkAdN ["زیادہ سے زیادہ"];
|
||||||
nothing_NP = MassNP (UseN (ParadigmsUrd.mkN "كوی چیز نہیں" "كوی چیز نہیں" "كوی چیز نہیں" "كوی چیز نہیں" "كوی چیز نہیں" "كوی چیز نہیں" Masc ));
|
nothing_NP = MassNP (UseN (ParadigmsUrd.mkN "كوی چیز نہیں" "كوی چیز نہیں" "كوی چیز نہیں" "كوی چیز نہیں" "كوی چیز نہیں" "كوی چیز نہیں" Masc ));
|
||||||
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 = "جتنا"} ;
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ concrete LexiconUrd of Lexicon = CatUrd **
|
|||||||
learn_V2 = mkV2 (mkV "sykh'na") ;
|
learn_V2 = mkV2 (mkV "sykh'na") ;
|
||||||
leather_N = mkN "cmRa" ;
|
leather_N = mkN "cmRa" ;
|
||||||
leave_V2 = mkV2 (mkV "jana") ;
|
leave_V2 = mkV2 (mkV "jana") ;
|
||||||
like_V2 = mkV2 (compoundV "psnd" do_V2);
|
like_V2 = mkV2 (compoundV "psnd" do_V2) "kw";
|
||||||
listen_V2 = mkV2 (mkV "snna") ;
|
listen_V2 = mkV2 (mkV "snna") ;
|
||||||
live_V = mkV "rhna" ; ---- touch
|
live_V = mkV "rhna" ; ---- touch
|
||||||
long_A = mkA "lmba" ;
|
long_A = mkA "lmba" ;
|
||||||
|
|||||||
@@ -75,28 +75,28 @@ lin pot01 = {s = table {unit => "ayk" ; _ => "dmy" } ; size = sg ; n = Sg} ;
|
|||||||
lin pot0 d = d ;
|
lin pot0 d = d ;
|
||||||
lin pot110 = {s = "ds" ; size = less100 ; n = Pl} ;
|
lin pot110 = {s = "ds" ; size = less100 ; n = Pl} ;
|
||||||
lin pot111 = {s = rows ! sg ! sg ; size = less100 ; n = Pl} ;
|
lin pot111 = {s = rows ! sg ! sg ; size = less100 ; n = Pl} ;
|
||||||
lin pot1to19 d = {s = rows ! d.size ! sg ; size = less100 ; n = d.n} ;
|
lin pot1to19 d = {s = rows ! d.size ! sg ; size = less100 ; n = Pl} ; --changed from d.n
|
||||||
lin pot0as1 n = {s = n.s ! unit ; size = table {sg => singl ; _ => less100} ! n.size ; n = n.n } ;
|
lin pot0as1 n = {s = n.s ! unit ; size = table {sg => singl ; _ => less100} ! n.size ; n = n.n } ;
|
||||||
|
|
||||||
lin pot1 d = {s = d.s ! ten ; size = less100 ; n = d.n} ;
|
lin pot1 d = {s = d.s ! ten ; size = less100 ; n = Pl} ; --changed from d.n
|
||||||
lin pot1plus d e = {s = rows ! e.size ! d.size ; size = less100 ; n = d.n} ;
|
lin pot1plus d e = {s = rows ! e.size ! d.size ; size = less100 ; n = Pl} ; --changed from d.n
|
||||||
|
|
||||||
lin pot1as2 n = {s = n.s ; s2 = "dmy" ; size = n.size ; n = n.n} ;
|
lin pot1as2 n = {s = n.s ; s2 = "dmy" ; size = n.size ; n = n.n} ;
|
||||||
lin pot2 d = {s = (mksau (d.s ! unit) d.size) ;
|
lin pot2 d = {s = (mksau (d.s ! unit) d.size) ;
|
||||||
s2 = d.s ! unit ++ "lakh'" ; size = more100 ; n = d.n} ;
|
s2 = d.s ! unit ++ "lakh'" ; size = more100 ; n = Pl} ; --changed from d.n
|
||||||
lin pot2plus d e =
|
lin pot2plus d e =
|
||||||
{s = (mksau (d.s ! unit) d.size) ++ e.s ;
|
{s = (mksau (d.s ! unit) d.size) ++ e.s ;
|
||||||
s2 = (d.s ! unit) ++ "lakh'" ++ (mkhazar e.s e.size) ;
|
s2 = (d.s ! unit) ++ "lakh'" ++ (mkhazar e.s e.size) ;
|
||||||
size = more100 ; n = d.n} ;
|
size = more100 ; n = Pl} ;
|
||||||
|
|
||||||
lin pot2as3 n = {s = n.s ; n = n.n} ;
|
lin pot2as3 n = {s = n.s ; n = n.n} ;
|
||||||
lin pot3 n = {s = table { singl => ekhazar ;
|
lin pot3 n = {s = table { singl => ekhazar ;
|
||||||
less100 => n.s ++ "hzar" ;
|
less100 => n.s ++ "hzar" ;
|
||||||
more100 => n.s2 } ! n.size ; n = n.n} ;
|
more100 => n.s2 } ! n.size ; n = Pl} ; --changed from d.n
|
||||||
lin pot3plus n m =
|
lin pot3plus n m =
|
||||||
{s = table {singl => ekhazar ;
|
{s = table {singl => ekhazar ;
|
||||||
less100 => n.s ++ "hzar" ;
|
less100 => n.s ++ "hzar" ;
|
||||||
more100 => n.s2 } ! n.size ++ m.s ; n = n.n} ;
|
more100 => n.s2 } ! n.size ++ m.s ; n = Pl} ; --changed from d.n
|
||||||
|
|
||||||
lin D_0 = { s = "N0" ; n = Sg};
|
lin D_0 = { s = "N0" ; n = Sg};
|
||||||
lin D_1 = { s = "N1" ; n = Sg};
|
lin D_1 = { s = "N1" ; n = Sg};
|
||||||
|
|||||||
Reference in New Issue
Block a user