summaryrefslogtreecommitdiff
path: root/src/GF/Command/AbsGFShell.hs
blob: c13004cf9a13e447b36f35badd8d6e9c21a77546 (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
module GF.Command.AbsGFShell where

-- Haskell module generated by the BNF converter

newtype Ident = Ident String deriving (Eq,Ord,Show)
data CommandLine =
   CLine [Pipe]
 | CEmpty
  deriving (Eq,Ord,Show)

data Pipe =
   PComm [Command]
  deriving (Eq,Ord,Show)

data Command =
   Comm Ident [Option] Argument
 | CNoarg Ident [Option]
  deriving (Eq,Ord,Show)

data Option =
   OOpt Ident
 | OFlag Ident Value
  deriving (Eq,Ord,Show)

data Value =
   VId Ident
 | VInt Integer
  deriving (Eq,Ord,Show)

data Argument =
   ATree Tree
  deriving (Eq,Ord,Show)

data Tree =
   TApp Ident [Tree]
 | TAbs [Ident] Tree
 | TId Ident
 | TInt Integer
 | TStr String
 | TFloat Double
  deriving (Eq,Ord,Show)