Line No. | Rev | Author | Line |
---|---|---|---|
1 | 1 | paulosilva | |
2 | {-# LANGUAGE GADTs #-} | ||
3 | {-# OPTIONS_GHC -Wall #-} | ||
4 | |||
5 | ------------------------------------------------------------------------------- | ||
6 | |||
7 | {- | | ||
8 | Module : Language.Command.Syntax | ||
9 | Description : Abstract representation of commands. | ||
10 | Copyright : (c) Paulo Silva | ||
11 | License : LGPL | ||
12 | |||
13 | Maintainer : paufil@di.uminho.pt | ||
14 | Stability : experimental | ||
15 | Portability : portable | ||
16 | |||
17 | -} | ||
18 | |||
19 | ------------------------------------------------------------------------------- | ||
20 | |||
21 | module Language.Command.Syntax ( | ||
22 | Command(..), | ||
23 | commands | ||
24 | ) where | ||
25 | |||
26 | import Language.Derivation.Syntax | ||
27 | import Language.Law.SyntaxADT | ||
28 | import Language.R.SyntaxADT | ||
29 | 7 | paulosilva | import Language.Step.Syntax |
30 | 1 | paulosilva | import Language.Type.Syntax() |
31 | |||
32 | ------------------------------------------------------------------------------- | ||
33 | |||
34 | data Command where | ||
35 | Abort :: Command | ||
36 | Assume :: LawS -> Command | ||
37 | Auto :: Command | ||
38 | Browse :: String -> Command | ||
39 | 7 | paulosilva | Comb :: Step -> Command |
40 | 1 | paulosilva | Define :: S -> Command |
41 | Derive :: Derivation -> Command | ||
42 | Help :: Command | ||
43 | Hint :: Command | ||
44 | Info :: String -> Command | ||
45 | Load :: String -> Command | ||
46 | Modules :: Command | ||
47 | Prove :: LawS -> Command | ||
48 | Quit :: Command | ||
49 | Reload :: Command | ||
50 | Restart :: Command | ||
51 | Rules :: Command | ||
52 | Save :: Command | ||
53 | Show :: Command | ||
54 | Type :: S -> Command | ||
55 | Undo :: Maybe Int -> Command | ||
56 | Unload :: String -> Command | ||
57 | deriving Show | ||
58 | |||
59 | ------------------------------------------------------------------------------- | ||
60 | |||
61 | commands :: [String] | ||
62 | commands = [ | ||
63 | "abort", | ||
64 | "assume", | ||
65 | "auto", | ||
66 | "browse", | ||
67 | "define", | ||
68 | "derive", | ||
69 | "help", | ||
70 | "hint", | ||
71 | "info", | ||
72 | "load", | ||
73 | "modules", | ||
74 | "prove", | ||
75 | "quit", | ||
76 | "reload", | ||
77 | "restart", | ||
78 | "rules", | ||
79 | "save", | ||
80 | "show", | ||
81 | "type", | ||
82 | "undo", | ||
83 | 7 | paulosilva | "unload" |
84 | 1 | paulosilva | ] |
85 | |||
86 | ------------------------------------------------------------------------------- | ||
87 |