1
0
forked from GitHub/gf-core

extension of DictHin and ParseHin

This commit is contained in:
virk.shafqat
2013-04-08 11:14:29 +00:00
parent 830e7bfa53
commit f81f902bdd
7 changed files with 33533 additions and 28157 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -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 = "जो" ;

View File

@@ -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;
} }

View File

@@ -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:" ;

View File

@@ -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 ;

View File

@@ -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} ;
} }

View File

@@ -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 } ;