From 18ec82b54deb9be67a9c541bf69fca0ac020fe9b Mon Sep 17 00:00:00 2001 From: bringert Date: Tue, 5 Dec 2006 22:10:28 +0000 Subject: Got GFCC to JavaScript compilation working. Variants are still printed in a weird way. --- src/GF/JavaScript/AbsJS.hs | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'src/GF/JavaScript/AbsJS.hs') 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) -- cgit v1.2.3