blob: 7570d1f5934dc25a013f6d666f9036404ac4ccb1 (
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
56
|
--# -path=.:../Common:prelude:resource-1.0/abstract:resource-1.0/common
incomplete concrete TramUserI of TramUser = GodisUserI **
open Prelude, Grammar, GodisLang, TramSystemI, TramLexicon in {
----------------------------------------------------------------------
-- Predicates and questions
lin
shortest_route
= variants{ askQS shortest_route_Q;
reqVP (ComplV2 (variants{find_V2;findout_V2})
(variants {indef_N_sg (variants{way_N;route_N});
(the_A_super_N_sg short_A (variants{way_N;route_N}))})) };
shortest_route__dept x
= reqVP (ComplV2 go_from_V2 x);
shortest_route__dest x
= reqVP (ComplV2 go_to_V2 x);
shortest_route__dept_dest x y
= variants{ reqVP (AdvVP (ComplV2 go_from_V2 x) (Prep_NP to_Prep y));
reqVP (AdvVP (ComplV2 go_to_V2 y) (Prep_NP from_Prep y)) };
dest_stop x = UttAdv (Prep_NP to_Prep x);
dept_stop x = UttAdv (Prep_NP from_Prep x);
dept_dest_stop x y
= variants{ UttAdv (Prep_NP to_Prep (NP_Prep_NP from_Prep x y));
UttAdv (Prep_NP from_Prep (NP_Prep_NP to_Prep x y)) };
----------------------------------------------------------------------
-- short answers
lin
stop x = ansNP x;
stop_dest_stop x y = ansNP (NP_Prep_NP to_Prep x y);
stop_dept_stop x y = ansNP (NP_Prep_NP from_Prep x y);
----------------------------------------------------------------------
-- Actions
lin
top = reqVP top;
help = reqVP help;
}
|