forked from GitHub/gf-core
GF/src is now for 2.9, and the new sources are in src-3.0 - keep it this way until the release of GF 3
This commit is contained in:
60
src-3.0/GF/JavaScript/AbsJS.hs
Normal file
60
src-3.0/GF/JavaScript/AbsJS.hs
Normal file
@@ -0,0 +1,60 @@
|
||||
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 =
|
||||
SCompound [Stmt]
|
||||
| SReturnVoid
|
||||
| SReturn Expr
|
||||
| SDeclOrExpr DeclOrExpr
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data DeclOrExpr =
|
||||
Decl [DeclVar]
|
||||
| DExpr Expr
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data DeclVar =
|
||||
DVar Ident
|
||||
| DInit Ident Expr
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data Expr =
|
||||
EAssign Expr Expr
|
||||
| ENew Ident [Expr]
|
||||
| EMember Expr Ident
|
||||
| EIndex Expr Expr
|
||||
| ECall Expr [Expr]
|
||||
| EVar Ident
|
||||
| EInt Int
|
||||
| EDbl Double
|
||||
| EStr String
|
||||
| ETrue
|
||||
| EFalse
|
||||
| ENull
|
||||
| EThis
|
||||
| EFun [Ident] [Stmt]
|
||||
| EArray [Expr]
|
||||
| EObj [Property]
|
||||
| ESeq [Expr]
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data Property =
|
||||
Prop PropertyName Expr
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data PropertyName =
|
||||
IdentPropName Ident
|
||||
| StringPropName String
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
Reference in New Issue
Block a user