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 ->
|
||||
case p of { Pers1 => s ++ "वाँ" ; _ => Prelude.glue s "ए"}; -- check with prasad for vn~
|
||||
|
||||
agr = "a-गर" ;
|
||||
agr = "गर" ;
|
||||
awr = "और" ;
|
||||
ky = "की" ;
|
||||
ka = "का" ;
|
||||
jn = "जिन" ;
|
||||
js = "जिस" ;
|
||||
jw = "जो" ;
|
||||
|
||||
@@ -7,7 +7,7 @@ concrete ParseHin of ParseEngAbs =
|
||||
AdjectiveHin,
|
||||
NumeralHin,
|
||||
ConjunctionHin,
|
||||
VerbHin - [SlashV2V, PassV2, UseCopula, ComplVV, VPSlashPrep],
|
||||
VerbHin - [PassV2, UseCopula, ComplVV, VPSlashPrep],
|
||||
AdverbHin,
|
||||
PhraseHin,
|
||||
SentenceHin,
|
||||
@@ -25,6 +25,7 @@ open MorphoHin, ResHin, ParadigmsHin,CommonX, CommonHindustani, Prelude in {
|
||||
|
||||
flags
|
||||
literal=Symb ;
|
||||
coding=utf8 ;
|
||||
|
||||
lin
|
||||
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
|
||||
|
||||
that_RP = {
|
||||
s = \\_,_ => "kh" ;
|
||||
s = \\_,_ => "कि" ;
|
||||
a = RNoAg
|
||||
} ;
|
||||
--no_RP = {
|
||||
@@ -125,7 +126,7 @@ CompVP ant p vp = {s = \\a => ant.s ++ p.s ++
|
||||
-- a = RNoAg
|
||||
-- } ;
|
||||
|
||||
CompS s = {s = \\_ => "kh" ++ s.s} ;
|
||||
CompS s = {s = \\_ => "कि" ++ s.s} ;
|
||||
-- CompVP vp = {s = \\a => infVP VVInf vp a} ;
|
||||
|
||||
lin
|
||||
@@ -134,5 +135,25 @@ lin
|
||||
UncNeg = {s = [] ; p = Neg} ;
|
||||
|
||||
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 ->
|
||||
case p of { Pers1 => s ++ "va:n~" ; _ => Prelude.glue s "E:"}; -- check with prasad for vn~
|
||||
|
||||
agr = "a-gar" ;
|
||||
agr = "agar" ;
|
||||
awr = "O+r" ;
|
||||
ky = "ki:" ;
|
||||
ka = "ka:" ;
|
||||
jn = "jin" ;
|
||||
js = "jis" ;
|
||||
jw = "jo:" ;
|
||||
|
||||
@@ -6,6 +6,7 @@ interface DiffHindustani = open Prelude in {
|
||||
|
||||
kwd : Str ;
|
||||
ky : Str ;
|
||||
ka : Str ;
|
||||
agr : Str ;
|
||||
awr : 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} ;
|
||||
|
||||
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 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 ;
|
||||
PassV2 v = predV v ; -- need to be fixed
|
||||
CompAP ap ={s = \\a => ap.s ! giveNumber a ! giveGender a ! Dir ! Posit } ;
|
||||
|
||||
Reference in New Issue
Block a user