summaryrefslogtreecommitdiff
path: root/src/GF/JavaScript/AbsJS.hs
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)