mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-26 04:52:51 -06:00
Shafqat's Urdu modules added
This commit is contained in:
69
lib/src/urdu/QuestionUrd.gf
Normal file
69
lib/src/urdu/QuestionUrd.gf
Normal file
@@ -0,0 +1,69 @@
|
||||
concrete QuestionUrd of Question = CatUrd ** open ResUrd, Prelude in {
|
||||
--
|
||||
flags optimize=all_subs ;
|
||||
|
||||
lin
|
||||
|
||||
QuestCl cl = {
|
||||
s = \\t,p,qf => case qf of {
|
||||
QDir => cl.s ! t ! p ! OQuest;
|
||||
QIndir => "agr" ++ cl.s ! t! p ! ODir
|
||||
}
|
||||
};
|
||||
|
||||
QuestVP qp vp =
|
||||
|
||||
let cl = mkSClause (qp.s ! Dir) (Ag qp.g qp.n Pers3_Near) vp;
|
||||
cl2 = mkSClause (qp.s ! Obl ++ "nE" ) (Ag qp.g Sg Pers3_Near) vp
|
||||
-- in {s = \\t,p,o => cl.s ! t ! p ! ODir} ;
|
||||
in { s = \\t,p,o => case t of {
|
||||
VPImpPast => cl2.s ! t ! p ! ODir;
|
||||
_ => cl.s ! t ! p ! ODir
|
||||
}
|
||||
};
|
||||
-- QuestSlash ip slash =
|
||||
-- mkQuestion (ss (slash.c2 ++ ip.s ! Acc)) slash ;
|
||||
-- --- stranding in ExratHin
|
||||
|
||||
QuestIAdv iadv cl = {
|
||||
s = \\t,p,_ => iadv.s ++ cl.s ! t ! p ! ODir;
|
||||
};
|
||||
|
||||
QuestIComp icomp np =
|
||||
let cl = mkSClause (np.s ! NPC Dir ++ icomp.s) np.a (predAux auxBe);
|
||||
in {
|
||||
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 ! Voc ++ p.s ! PP ip.n ip.g } ;
|
||||
|
||||
AdvIP ip adv = {
|
||||
s = \\c => adv.s ++ ip.s ! c ;
|
||||
n = ip.n;
|
||||
g = ip.g;
|
||||
} ;
|
||||
|
||||
IdetCN idet cn = {
|
||||
s = \\c => idet.s ! cn.g ++ cn.s ! idet.n ! c ;
|
||||
g = cn.g;
|
||||
n = idet.n;
|
||||
} ;
|
||||
|
||||
IdetIP idet = {
|
||||
s = \\_ => idet.s ! Masc ;
|
||||
n = idet.n;
|
||||
g = Masc;
|
||||
} ;
|
||||
|
||||
-- IdetQuant idet num = {
|
||||
-- s = idet.s ! num.n ++ num.s ;
|
||||
-- n = num.n
|
||||
-- } ;
|
||||
--
|
||||
CompIAdv a = a ;
|
||||
CompIP p = ss (p.s ! Dir) ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user