forked from GitHub/gf-core
extension of DictHin and ParseHin
This commit is contained in:
61642
lib/src/hindi/DictHin.gf
61642
lib/src/hindi/DictHin.gf
File diff suppressed because it is too large
Load Diff
@@ -8,9 +8,10 @@ oper
|
|||||||
insertSubj : UPerson -> Str -> Str = \p,s ->
|
insertSubj : UPerson -> Str -> Str = \p,s ->
|
||||||
case p of { Pers1 => s ++ "वाँ" ; _ => Prelude.glue s "ए"}; -- check with prasad for vn~
|
case p of { Pers1 => s ++ "वाँ" ; _ => Prelude.glue s "ए"}; -- check with prasad for vn~
|
||||||
|
|
||||||
agr = "a-गर" ;
|
agr = "गर" ;
|
||||||
awr = "और" ;
|
awr = "और" ;
|
||||||
ky = "की" ;
|
ky = "की" ;
|
||||||
|
ka = "का" ;
|
||||||
jn = "जिन" ;
|
jn = "जिन" ;
|
||||||
js = "जिस" ;
|
js = "जिस" ;
|
||||||
jw = "जो" ;
|
jw = "जो" ;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ concrete ParseHin of ParseEngAbs =
|
|||||||
AdjectiveHin,
|
AdjectiveHin,
|
||||||
NumeralHin,
|
NumeralHin,
|
||||||
ConjunctionHin,
|
ConjunctionHin,
|
||||||
VerbHin - [SlashV2V, PassV2, UseCopula, ComplVV, VPSlashPrep],
|
VerbHin - [PassV2, UseCopula, ComplVV, VPSlashPrep],
|
||||||
AdverbHin,
|
AdverbHin,
|
||||||
PhraseHin,
|
PhraseHin,
|
||||||
SentenceHin,
|
SentenceHin,
|
||||||
@@ -25,6 +25,7 @@ open MorphoHin, ResHin, ParadigmsHin,CommonX, CommonHindustani, Prelude in {
|
|||||||
|
|
||||||
flags
|
flags
|
||||||
literal=Symb ;
|
literal=Symb ;
|
||||||
|
coding=utf8 ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
myself_NP = {s = \\_ => kwd ; a = Ag Masc Sg Pers1 };
|
myself_NP = {s = \\_ => kwd ; a = Ag Masc Sg Pers1 };
|
||||||
@@ -117,7 +118,7 @@ CompVP ant p vp = {s = \\a => ant.s ++ p.s ++
|
|||||||
infVP False vp a} ; -- check for vp.isAux
|
infVP False vp a} ; -- check for vp.isAux
|
||||||
|
|
||||||
that_RP = {
|
that_RP = {
|
||||||
s = \\_,_ => "kh" ;
|
s = \\_,_ => "कि" ;
|
||||||
a = RNoAg
|
a = RNoAg
|
||||||
} ;
|
} ;
|
||||||
--no_RP = {
|
--no_RP = {
|
||||||
@@ -125,7 +126,7 @@ CompVP ant p vp = {s = \\a => ant.s ++ p.s ++
|
|||||||
-- a = RNoAg
|
-- a = RNoAg
|
||||||
-- } ;
|
-- } ;
|
||||||
|
|
||||||
CompS s = {s = \\_ => "kh" ++ s.s} ;
|
CompS s = {s = \\_ => "कि" ++ s.s} ;
|
||||||
-- CompVP vp = {s = \\a => infVP VVInf vp a} ;
|
-- CompVP vp = {s = \\a => infVP VVInf vp a} ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
@@ -134,5 +135,25 @@ lin
|
|||||||
UncNeg = {s = [] ; p = Neg} ;
|
UncNeg = {s = [] ; p = Neg} ;
|
||||||
|
|
||||||
VPSlashPrep vp p = vp ** {c2 = {s = p.s!Masc ; c = VTrans}} ;
|
VPSlashPrep vp p = vp ** {c2 = {s = p.s!Masc ; c = VTrans}} ;
|
||||||
|
{-
|
||||||
|
PastPartRS ant pol vps = {
|
||||||
|
s = \\agr => vps.ad ++ vps.ptp ++ vps.s2 ! agr ;
|
||||||
|
c = npNom
|
||||||
|
} ;
|
||||||
|
|
||||||
|
PresPartRS ant pol vp = {
|
||||||
|
s = \\agr => vp.ad ++ vp.prp ++ vp.s2 ! agr ;
|
||||||
|
c = npNom
|
||||||
|
} ;
|
||||||
|
-}
|
||||||
|
|
||||||
|
ApposNP np1 np2 = {
|
||||||
|
s = \\c => np1.s!NPC Dir ++ "," ++ np2.s ! c ;
|
||||||
|
a = np2.a
|
||||||
|
} ;
|
||||||
|
|
||||||
|
AdAdV = cc2 ;
|
||||||
|
|
||||||
|
UttAdV adv = adv;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,9 +8,10 @@ oper
|
|||||||
insertSubj : UPerson -> Str -> Str = \p,s ->
|
insertSubj : UPerson -> Str -> Str = \p,s ->
|
||||||
case p of { Pers1 => s ++ "va:n~" ; _ => Prelude.glue s "E:"}; -- check with prasad for vn~
|
case p of { Pers1 => s ++ "va:n~" ; _ => Prelude.glue s "E:"}; -- check with prasad for vn~
|
||||||
|
|
||||||
agr = "a-gar" ;
|
agr = "agar" ;
|
||||||
awr = "O+r" ;
|
awr = "O+r" ;
|
||||||
ky = "ki:" ;
|
ky = "ki:" ;
|
||||||
|
ka = "ka:" ;
|
||||||
jn = "jin" ;
|
jn = "jin" ;
|
||||||
js = "jis" ;
|
js = "jis" ;
|
||||||
jw = "jo:" ;
|
jw = "jo:" ;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ interface DiffHindustani = open Prelude in {
|
|||||||
|
|
||||||
kwd : Str ;
|
kwd : Str ;
|
||||||
ky : Str ;
|
ky : Str ;
|
||||||
|
ka : Str ;
|
||||||
agr : Str ;
|
agr : Str ;
|
||||||
awr : Str ;
|
awr : Str ;
|
||||||
jn : Str ;
|
jn : Str ;
|
||||||
|
|||||||
@@ -140,5 +140,13 @@ incomplete concrete NounHindustani of Noun =
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
ApposCN cn np = {s = \\n,c => cn.s ! n ! Dir ++ np.s ! NPC c ; g = cn.g} ;
|
ApposCN cn np = {s = \\n,c => cn.s ! n ! Dir ++ np.s ! NPC c ; g = cn.g} ;
|
||||||
|
|
||||||
|
PossNP cn np = {s = \\n,c => case cn.g of {Masc => cn.s ! n ! c ++ ka ++ np.s ! NPC Dir ;
|
||||||
|
Fem => cn.s ! n ! c ++ ky ++ np.s ! NPC Dir } ;
|
||||||
|
g = cn.g} ;
|
||||||
|
|
||||||
|
PartNP cn np = {s = \\n,c => case cn.g of {Masc => cn.s ! n ! c ++ ka ++ np.s ! NPC Dir ;
|
||||||
|
Fem => cn.s ! n ! c ++ ky ++ np.s ! NPC Dir } ;
|
||||||
|
g = cn.g} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,12 @@ incomplete concrete VerbHindustani of Verb = CatHindustani ** open CommonHindust
|
|||||||
AdvVP vp adv = insertObj (\\a => adv.s ! giveGender a) vp ;
|
AdvVP vp adv = insertObj (\\a => adv.s ! giveGender a) vp ;
|
||||||
|
|
||||||
AdVVP adv vp = insertAdV adv.s vp ;
|
AdVVP adv vp = insertAdV adv.s vp ;
|
||||||
|
|
||||||
|
AdvVPSlash vp adv = insertObj (\\a => adv.s ! giveGender a) vp ** {c2 = vp.c2} ; --need to confirm
|
||||||
|
|
||||||
|
AdVVPSlash adv vp = insertAdV adv.s vp ** {c2 = vp.c2} ; -- need to confirm
|
||||||
|
|
||||||
|
|
||||||
ReflVP v = insertObjPre (\\_ => RefPron) v ;
|
ReflVP v = insertObjPre (\\_ => RefPron) v ;
|
||||||
PassV2 v = predV v ; -- need to be fixed
|
PassV2 v = predV v ; -- need to be fixed
|
||||||
CompAP ap ={s = \\a => ap.s ! giveNumber a ! giveGender a ! Dir ! Posit } ;
|
CompAP ap ={s = \\a => ap.s ! giveNumber a ! giveGender a ! Dir ! Posit } ;
|
||||||
|
|||||||
Reference in New Issue
Block a user