-
Notifications
You must be signed in to change notification settings - Fork 0
/
AbsAI.hs
38 lines (26 loc) · 874 Bytes
/
AbsAI.hs
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
module AbsAI where
-- Haskell module generated by the BNF converter
newtype Ident = Ident String deriving (Eq, Ord, Show, Read)
data Command
= HowMany EPerson
| WhereIs EItem
| WhereWasBefore EPerson ELocation
| WhereWasAfter EPerson ELocation
| HowToGo ELocation ELocation
| EitherIn EPerson ELocation ELocation
| NoLongerIn EPerson ELocation
| IsIn EPerson ELocation
| Dropped EPerson EItem
| Handed EPerson EItem EPerson
| Move EPerson ELocation
| Took EPerson EItem
| IsOf ELocation EDirection ELocation
deriving (Eq, Ord, Show, Read)
data ELocation = ELocation Ident
deriving (Eq, Ord, Show, Read)
data EItem = EItem Ident
deriving (Eq, Ord, Show, Read)
data EDirection = EWest | EEast | ENorth | ESouth
deriving (Eq, Ord, Show, Read)
data EPerson = EPerson Ident
deriving (Eq, Ord, Show, Read)