blob: 2fc8949326161c978cf608a8719f8c616bdf157e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
concrete QuestionEng of Question = CatEng ** open ResEng, Prelude in {
flags optimize=all_subs ;
lin
QuestCl cl = {
s = \\t,a,p =>
let cls = cl.s ! t ! a ! p
in table {
QDir => cls ! OQuest ;
QIndir => "if" ++ cls ! ODir
} ---- "whether" in ExtEng
} ;
QuestVP qp vp =
let cl = mkClause (qp.s ! Nom) (agrP3 qp.n) vp
in {s = \\t,a,b,_ => cl.s ! t ! a ! b ! ODir} ;
QuestSlash ip slash =
mkQuestion (ss (slash.c2 ++ ip.s ! Acc)) slash ;
--- stranding in ExratEng
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 = {
s = \\c => idet.s ++ cn.s ! idet.n ! c ;
n = idet.n
} ;
IdetIP idet = {
s = \\c => idet.s ;
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) ;
}
|