summaryrefslogtreecommitdiff
path: root/src/GF/JavaScript/AbsJS.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/JavaScript/AbsJS.hs')
-rw-r--r--src/GF/JavaScript/AbsJS.hs23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/GF/JavaScript/AbsJS.hs b/src/GF/JavaScript/AbsJS.hs
index 4c0094bd9..843180835 100644
--- a/src/GF/JavaScript/AbsJS.hs
+++ b/src/GF/JavaScript/AbsJS.hs
@@ -13,14 +13,26 @@ data Element =
deriving (Eq,Ord,Show)
data Stmt =
- Compound [Stmt]
- | ReturnVoid
- | Return Expr
+ 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 =
- ENew Ident [Expr]
- | EMember Expr Expr
+ EAssign Expr Expr
+ | ENew Ident [Expr]
+ | EMember Expr Ident
| EIndex Expr Expr
| ECall Expr [Expr]
| EVar Ident
@@ -31,5 +43,6 @@ data Expr =
| EFalse
| ENull
| EThis
+ | EFun [Ident] [Stmt]
deriving (Eq,Ord,Show)