forked from GitHub/gf-core
refinementsDiffHindustani
This commit is contained in:
@@ -157,7 +157,7 @@ flags coding = utf8 ;
|
|||||||
-- QWhatName p = mkQS (mkQCl whatSg_IP (mkVP (nameOf p))) ;
|
-- QWhatName p = mkQS (mkQCl whatSg_IP (mkVP (nameOf p))) ;
|
||||||
QWhatName p = mkQS (mkQCl what_IAdv (mkNP p.poss (P.mkN "نام" "نام" "نام" "نام" "نام" "نام" masculine))) ;
|
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 (mkCl (mkNP (modQuant p.poss)) (mkAdv "عمر"))) ;
|
||||||
QWhatAge p = mkQS (mkQCl howMuch_IAdv (mkNP (modQuant p.poss) (P.mkN "عمر" "عمر" "عمر" "عمریں" "عمریں" "عمرو" feminine))) ;
|
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))) ;
|
-- 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 ;
|
||||||
|
|||||||
@@ -98,11 +98,21 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
raha : Gender -> Number -> Str = \g,n ->
|
raha : Gender -> Number -> Str = \g,n ->
|
||||||
(regAdjective "रहा").s ! n ! g ! Dir ! Posit ;
|
case <g,n> of {
|
||||||
|
<Masc,Sg> => "रहा";
|
||||||
|
<Masc,Pl> => "रहे";
|
||||||
|
<Fem,_> => "रही"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
cka : Gender -> Number -> Str = \g,n ->
|
cka : Gender -> Number -> Str = \g,n ->
|
||||||
(regAdjective "चुका").s ! n ! g ! Dir ! Posit ;
|
case <g,n> of {
|
||||||
|
<Masc,Sg> => "चुका";
|
||||||
|
<Masc,Pl> => "चुके";
|
||||||
|
<Fem,_> => "चुकी"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
hw : UPerson -> Number -> Str = \pp,n ->
|
hw : UPerson -> Number -> Str = \pp,n ->
|
||||||
case <pp,n> of {
|
case <pp,n> of {
|
||||||
@@ -121,23 +131,4 @@ oper
|
|||||||
<Pl,Masc> => "हुए" ;
|
<Pl,Masc> => "हुए" ;
|
||||||
<Pl,Fem> => "हुई"
|
<Pl,Fem> => "हुई"
|
||||||
};
|
};
|
||||||
-----------------------------------------------
|
|
||||||
-- Hindustani Adjectives
|
|
||||||
-----------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
regAdjective : Str -> Adjective;
|
|
||||||
regAdjective x = case x of {
|
|
||||||
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 + "ी");
|
|
||||||
|
|
||||||
_ => 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)
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -331,6 +331,25 @@ oper
|
|||||||
----2 Adjectives
|
----2 Adjectives
|
||||||
|
|
||||||
makeIrregA : Str -> Adjective = \str -> {s = \\_,_,_,_ => str} ;
|
makeIrregA : Str -> Adjective = \str -> {s = \\_,_,_,_ => str} ;
|
||||||
|
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} ;
|
||||||
|
|
||||||
|
|
||||||
|
regAdjective : Str -> Adjective;
|
||||||
|
regAdjective x = case x of {
|
||||||
|
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 + "ी");
|
||||||
|
|
||||||
|
_ => 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)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
----3 Verbs
|
----3 Verbs
|
||||||
CommonVF = {s : VTense => UPerson => Number => Gender => Str} ;
|
CommonVF = {s : VTense => UPerson => Number => Gender => Str} ;
|
||||||
|
|||||||
@@ -98,11 +98,21 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
raha : Gender -> Number -> Str = \g,n ->
|
raha : Gender -> Number -> Str = \g,n ->
|
||||||
(regAdjective "raha:").s ! n ! g ! Dir ! Posit ;
|
case <g,n> of {
|
||||||
|
<Masc,Sg> => "raha:";
|
||||||
|
<Masc,Pl> => "rahe:";
|
||||||
|
<Fem,_> => "rahi:"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
cka : Gender -> Number -> Str = \g,n ->
|
cka : Gender -> Number -> Str = \g,n ->
|
||||||
(regAdjective "cuka:").s ! n ! g ! Dir ! Posit ;
|
case <g,n> of {
|
||||||
|
<Masc,Sg> => "cuka:";
|
||||||
|
<Masc,Pl> => "cuke:";
|
||||||
|
<Fem,_> => "cuki:"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
hw : UPerson -> Number -> Str = \pp,n ->
|
hw : UPerson -> Number -> Str = \pp,n ->
|
||||||
case <pp,n> of {
|
case <pp,n> of {
|
||||||
@@ -121,23 +131,4 @@ oper
|
|||||||
<Pl,Masc> => "huE:" ;
|
<Pl,Masc> => "huE:" ;
|
||||||
<Pl,Fem> => "huI:"
|
<Pl,Fem> => "huI:"
|
||||||
};
|
};
|
||||||
-----------------------------------------------
|
|
||||||
-- Hindustani Adjectives
|
|
||||||
-----------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
regAdjective : Str -> Adjective;
|
|
||||||
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 + "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 + "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:");
|
|
||||||
|
|
||||||
_ => mkAdjective x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x)
|
|
||||||
x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x)
|
|
||||||
x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x)
|
|
||||||
x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x)
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -331,6 +331,25 @@ oper
|
|||||||
----2 Adjectives
|
----2 Adjectives
|
||||||
|
|
||||||
makeIrregA : Str -> Adjective = \str -> {s = \\_,_,_,_ => str} ;
|
makeIrregA : Str -> Adjective = \str -> {s = \\_,_,_,_ => str} ;
|
||||||
|
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} ;
|
||||||
|
|
||||||
|
|
||||||
|
regAdjective : Str -> Adjective;
|
||||||
|
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 + "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 + "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:");
|
||||||
|
|
||||||
|
_ => mkAdjective x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x)
|
||||||
|
x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x)
|
||||||
|
x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x)
|
||||||
|
x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x) x ("bahut" ++ x) ("sab se:" ++ x)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
----3 Verbs
|
----3 Verbs
|
||||||
CommonVF = {s : VTense => UPerson => Number => Gender => Str} ;
|
CommonVF = {s : VTense => UPerson => Number => Gender => Str} ;
|
||||||
|
|||||||
@@ -34,5 +34,4 @@ interface DiffHindustani = open Prelude in {
|
|||||||
cka : Gender -> Number -> Str ;
|
cka : Gender -> Number -> Str ;
|
||||||
hw : UPerson -> Number -> Str ;
|
hw : UPerson -> Number -> Str ;
|
||||||
hwa : Agr -> Str ;
|
hwa : Agr -> Str ;
|
||||||
regAdjective : Str -> Adjective ;
|
|
||||||
}
|
}
|
||||||
@@ -406,9 +406,9 @@ param
|
|||||||
cvp = vp.cvp
|
cvp = vp.cvp
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
compoundAdj : Str -> Str -> Adjective = \s1,s2 -> mkCompoundAdj (regAdjective s1) (regAdjective s2) ;
|
-- compoundAdj : Str -> Str -> Adjective = \s1,s2 -> mkCompoundAdj (regAdjective s1) (regAdjective s2) ;
|
||||||
mkCompoundAdj : Adjective -> Adjective -> Adjective ;
|
-- mkCompoundAdj : Adjective -> Adjective -> Adjective ;
|
||||||
mkCompoundAdj adj1 adj2 = {s = \\n,g,c,d => adj1.s ! n ! g ! c ! d ++ adj2.s ! n ! g ! c ! d} ;
|
-- mkCompoundAdj adj1 adj2 = {s = \\n,g,c,d => adj1.s ! n ! g ! c ! d ++ adj2.s ! n ! g ! c ! d} ;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,11 +99,21 @@ copula : CTense -> Number -> UPerson -> Gender -> Str = \t,n,p,g ->
|
|||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
raha : Gender -> Number -> Str = \g,n ->
|
raha : Gender -> Number -> Str = \g,n ->
|
||||||
(regAdjective "رہا").s ! n ! g ! Dir ! Posit ;
|
case <g,n> of {
|
||||||
|
<Masc,Sg> => "رہا";
|
||||||
|
<Masc,Pl> => "رہے";
|
||||||
|
<Fem,_> => "رہی"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
cka : Gender -> Number -> Str = \g,n ->
|
cka : Gender -> Number -> Str = \g,n ->
|
||||||
(regAdjective "چکا").s ! n ! g ! Dir ! Posit ;
|
case <g,n> of {
|
||||||
|
<Masc,Sg> => "چکا";
|
||||||
|
<Masc,Pl> => "چکے";
|
||||||
|
<Fem,_> => "چکی"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
hw : UPerson -> Number -> Str = \pp,n ->
|
hw : UPerson -> Number -> Str = \pp,n ->
|
||||||
case <pp,n> of {
|
case <pp,n> of {
|
||||||
@@ -124,24 +134,4 @@ copula : CTense -> Number -> UPerson -> Gender -> Str = \t,n,p,g ->
|
|||||||
<Pl,Fem> => "ہوی"
|
<Pl,Fem> => "ہوی"
|
||||||
};
|
};
|
||||||
|
|
||||||
-----------------------------------------------
|
|
||||||
-- Hindustani Adjectives
|
|
||||||
-----------------------------------------------
|
|
||||||
|
|
||||||
Adjective = { s: Number => Gender => Case => Degree => Str };
|
|
||||||
|
|
||||||
regAdjective : Str -> Adjective;
|
|
||||||
regAdjective x = case x of {
|
|
||||||
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 + "ی");
|
|
||||||
|
|
||||||
_ => 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)
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,6 +169,28 @@ oper
|
|||||||
mkN12 bhao = mkNoun (bhao) (bhao) (bhao)
|
mkN12 bhao = mkNoun (bhao) (bhao) (bhao)
|
||||||
(bhao) (bhao) (bhao)
|
(bhao) (bhao) (bhao)
|
||||||
Masc ;
|
Masc ;
|
||||||
|
|
||||||
|
-- Adjectives
|
||||||
|
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} ;
|
||||||
|
|
||||||
|
regAdjective : Str -> Adjective;
|
||||||
|
regAdjective x = case x of {
|
||||||
|
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 + "ی");
|
||||||
|
|
||||||
|
_ => 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)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
----2 Determiners
|
----2 Determiners
|
||||||
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 -> {
|
||||||
|
|||||||
@@ -99,11 +99,21 @@ copula : CTense -> Number -> UPerson -> Gender -> Str = \t,n,p,g ->
|
|||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
raha : Gender -> Number -> Str = \g,n ->
|
raha : Gender -> Number -> Str = \g,n ->
|
||||||
(regAdjective "rha").s ! n ! g ! Dir ! Posit ;
|
case <g,n> of {
|
||||||
|
<Masc,Sg> => "rha";
|
||||||
|
<Masc,Pl> => "rhE";
|
||||||
|
<Fem,_> => "rhy"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
cka : Gender -> Number -> Str = \g,n ->
|
cka : Gender -> Number -> Str = \g,n ->
|
||||||
(regAdjective "cka").s ! n ! g ! Dir ! Posit ;
|
case <g,n> of {
|
||||||
|
<Masc,Sg> => "cka";
|
||||||
|
<Masc,Pl> => "ckE";
|
||||||
|
<Fem,_> => "cky"
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
hw : UPerson -> Number -> Str = \pp,n ->
|
hw : UPerson -> Number -> Str = \pp,n ->
|
||||||
case <pp,n> of {
|
case <pp,n> of {
|
||||||
@@ -124,24 +134,4 @@ copula : CTense -> Number -> UPerson -> Gender -> Str = \t,n,p,g ->
|
|||||||
<Pl,Fem> => "hwy"
|
<Pl,Fem> => "hwy"
|
||||||
};
|
};
|
||||||
|
|
||||||
-----------------------------------------------
|
|
||||||
-- Hindustani Adjectives
|
|
||||||
-----------------------------------------------
|
|
||||||
|
|
||||||
Adjective = { s: Number => Gender => Case => Degree => Str };
|
|
||||||
|
|
||||||
regAdjective : Str -> Adjective;
|
|
||||||
regAdjective x = case x of {
|
|
||||||
acch + ("a"|"aN") => mkAdjective x ("bht" ++ x) ("sb sE" ++ x) (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E")
|
|
||||||
(acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y")
|
|
||||||
(acch +"E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E")
|
|
||||||
(acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y");
|
|
||||||
|
|
||||||
_ => mkAdjective x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x)
|
|
||||||
x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x)
|
|
||||||
x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x)
|
|
||||||
x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x)
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,6 +169,28 @@ oper
|
|||||||
mkN12 bhao = mkNoun (bhao) (bhao) (bhao)
|
mkN12 bhao = mkNoun (bhao) (bhao) (bhao)
|
||||||
(bhao) (bhao) (bhao)
|
(bhao) (bhao) (bhao)
|
||||||
Masc ;
|
Masc ;
|
||||||
|
|
||||||
|
-- Adjectives
|
||||||
|
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} ;
|
||||||
|
|
||||||
|
regAdjective : Str -> Adjective;
|
||||||
|
regAdjective x = case x of {
|
||||||
|
acch + ("a"|"aN") => mkAdjective x ("bht" ++ x) ("sb sE" ++ x) (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E")
|
||||||
|
(acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y")
|
||||||
|
(acch +"E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E") (acch + "E") ("bht" ++ acch + "E") ("sb sE" ++ acch + "E")
|
||||||
|
(acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y") (acch + "y") ("bht" ++ acch + "y") ("sb sE" ++ acch + "y");
|
||||||
|
|
||||||
|
_ => mkAdjective x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x)
|
||||||
|
x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x)
|
||||||
|
x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x)
|
||||||
|
x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x) x ("bht" ++ x) ("sb sE" ++ x)
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
----2 Determiners
|
----2 Determiners
|
||||||
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 -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user