summaryrefslogtreecommitdiff
path: root/grammars/timetable/Timetable.gf
diff options
context:
space:
mode:
authoraarne <unknown>2004-04-28 09:08:31 +0000
committeraarne <unknown>2004-04-28 09:08:31 +0000
commit1bd3dc8433b433cae6937a246045f9e4cbb8bf73 (patch)
tree71da3486f9e13b49096c38b7dea1fc64c00b4178 /grammars/timetable/Timetable.gf
parente5c60c9cfd25d260576c451f3005d8f6f27966a4 (diff)
timetable
Diffstat (limited to 'grammars/timetable/Timetable.gf')
-rw-r--r--grammars/timetable/Timetable.gf31
1 files changed, 31 insertions, 0 deletions
diff --git a/grammars/timetable/Timetable.gf b/grammars/timetable/Timetable.gf
new file mode 100644
index 000000000..8eab2600b
--- /dev/null
+++ b/grammars/timetable/Timetable.gf
@@ -0,0 +1,31 @@
+abstract Timetable = {
+ cat
+ Table ;
+ TrainList CityList ;
+ City ;
+ CityList ;
+ Train CityList ;
+ Stop ;
+ Time ;
+ Number ;
+
+ fun
+ MkTable : (cs : CityList) -> TrainList cs -> Table ;
+ NilTrain : (cs : CityList) -> TrainList cs ;
+ ConsTrain :
+ (cs : CityList) -> Number -> Train cs -> TrainList cs -> TrainList cs ;
+ OneCity : City -> CityList ;
+ ConsCity : City -> CityList -> CityList ;
+
+ StopTime : Time -> Stop ;
+ NoStop : Stop ;
+
+ LocTrain : (c : City) -> Stop -> Train (OneCity c) ;
+ CityTrain :
+ (c : City) -> Stop -> (cs : CityList) ->
+ Train cs -> Train (ConsCity c cs) ;
+
+ T : Int -> Time ;
+ N : Int -> Number ;
+ C : String -> City ;
+}