summaryrefslogtreecommitdiff
path: root/examples/godis-tram/Tram/TramUserI.gf
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; 

}