blob: 4c0094bd9671595e7ef706765a27d4c233b15397 (
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
|
module GF.JavaScript.AbsJS where
-- Haskell module generated by the BNF converter
newtype Ident = Ident String deriving (Eq,Ord,Show)
data Program =
Program [Element]
deriving (Eq,Ord,Show)
data Element =
FunDef Ident [Ident] [Stmt]
| ElStmt Stmt
deriving (Eq,Ord,Show)
data Stmt =
Compound [Stmt]
| ReturnVoid
| Return Expr
deriving (Eq,Ord,Show)
data Expr =
ENew Ident [Expr]
| EMember Expr Expr
| EIndex Expr Expr
| ECall Expr [Expr]
| EVar Ident
| EInt Integer
| EDbl Double
| EStr String
| ETrue
| EFalse
| ENull
| EThis
deriving (Eq,Ord,Show)
|