Files
gf-core/lib/src/ancient_greek/QuestionGrc.gf
2016-05-25 12:35:37 +00:00

57 lines
1.4 KiB
Plaintext

concrete QuestionGrc of Question = CatGrc ** open ResGrc, Prelude in {
flags optimize=all_subs ;
lin
QuestCl cl = {
s = \\t,pol =>
let cls = cl.s ! t ! pol
in table {
QDir => cls ! VSO ; -- Order ok?
QIndir => "ei)" ++ cls ! VSO -- Order ok?
}
} ;
QuestVP qp vp =
let cl = mkClause (qp.s ! Nom) (agrP3 qp.n) vp
in {s = \\t,pol,qf => cl.s ! t ! pol ! SVO } ; -- TODO: ignore qf? Order?
-- QuestSlash ip slash =
-- mkQuestion (ss (slash.c2 ++ ip.s ! Acc)) slash ;
-- --- stranding in ExratGrc
-- QuestIAdv iadv cl = mkQuestion iadv cl ;
-- QuestIComp icomp np =
-- mkQuestion icomp (mkClause (np.s ! Nom) np.a (predAux auxBe)) ;
PrepIP p ip = {s = p.s ++ ip.s ! Acc} ;
AdvIP ip adv = {
s = \\c => ip.s ! c ++ adv.s ;
n = ip.n
} ;
IdetCN idet cn = { -- (attributive) ti's as IDet inflects for gender
-- s = \\c => idet.s ! cn.g ! c ++ cn.s ! (Ag cn.g idet.n P3) ! idet.n ! c ;
s = \\c => idet.s ! cn.g ! c ++ cn.s ! idet.n ! c ;
n = idet.n
} ;
IdetIP idet = {
s = \\c => idet.s ! Neutr ! c ;
n = idet.n
} ;
-- IdetQuant idet num = {
-- s = idet.s ! num.n ++ num.s ;
-- n = num.n
-- } ;
CompIAdv a = a ;
CompIP p = ss (p.s ! Nom) ;
}