Files
gf-core/lib/src/nepali/QuestionNep.gf
2011-06-20 11:24:22 +00:00

96 lines
2.7 KiB
Plaintext

concrete QuestionNep of Question = CatNep ** open ResNep, Prelude in {
flags optimize=all_subs ;
coding = utf8;
lin
QuestCl cl = {
s = \\t,p,qf =>
case qf of {
QDir => cl.s ! t ! p ! OQuest;
QIndir => "येदि" ++ cl.s ! t ! p ! ODir
}
} ;
QuestVP qp vp =
let cl = mkSClause ("") (Ag Masc qp.n Pers3_M) vp; -- Pers3_M
qp1 = qp.s ! Nom;
qp2 = qp.s ! Ins
in { s = \\t,p,o =>
case t of {
-- VPSmplPast => qp2 ++ cl.s ! t ! p ! ODir ;
_ => qp1 ++ cl.s ! t ! p ! ODir
}
} ;
QuestSlash ip slash =
let ip1 = ip.s ! Nom;
ip2 = ip.s ! Ins
in {
s = \\t,p,o => case t of {
-- VPSmplPast => ip2 ++ slash.s ! t ! p ! ODir ;
_ => ip2 ++ slash.s ! t ! p ! ODir
}
};
QuestIAdv iadv cl = {
s = \\t,p,_ => iadv.s ++ cl.s ! t ! p ! ODir;
} ;
QuestIComp icomp np =
let cl = mkSClause (np.s ! NPC Nom ++ icomp.s) np.a (predAux NonLiving) ;--(predAux np.t); to test mkQCl-IAdv-NP-QCl
in { -- eg उनी कहाँ छिन् - (छिन् - NonLiving case)
s = \\t,p,qf => case qf of {
QDir => cl.s ! t ! p ! ODir;
QIndir => cl.s ! t ! p ! ODir
}
};
PrepIP p ip = {s = ip.s ! ResNep.Nom ++ p.s } ; -- case need to be confirmed
AdvIP ip adv = {
s = \\c => adv.s ++ ip.s ! c ;
n = ip.n;
g = ip.g;
} ;
IdetCN idet cn = {
s = \\c => idet.s ! Masc++ cn.s ! idet.n ! c ;
n = idet.n;
} ;
IdetIP idet = {
s = \\_ => idet.s ! Masc ;
n = idet.n;
} ;
IdetQuant iqant num = {
s =\\_ => iqant.s ! num.n ++ num.s ;
n = num.n ;
} ;
CompIAdv a = a ;
CompIP p = ss (p.s ! Nom) ;
AdvIAdv i a = {s = i.s ++ a.s} ;
AdvQVP vp iadv = insertObj (\\_ => iadv.s) vp ;
AddAdvQVP qvp iadv = insertObj (\\_ => iadv.s) qvp ;
ComplSlashIP vpslash ip = insertObj (\\_ => ip.s ! Nom) vpslash ;
--QuestQVP : IP -> QVP -> QCl ; -- who buys what where
QuestQVP ip qvp =
let cl = mkSClause ("") (Ag Masc ip.n Pers3_M) qvp ; -- Pers3_M
qp1 = ip.s ! Nom ;
qp2 = ip.s ! Ins
in { s = \\t,p,o =>
case t of {
-- VPSmplPast => qp2 ++ cl.s ! t ! p ! ODir ;
_ => qp1 ++ cl.s ! t ! p ! ODir
}
} ;
lincat QVP = CatNep.VP ;
}