1
0
forked from GitHub/gf-core

Got GFCC to JavaScript compilation working. Variants are still printed in a weird way.

This commit is contained in:
bringert
2006-12-05 22:10:28 +00:00
parent 809c55653e
commit 58813c8fa7
7 changed files with 204 additions and 46 deletions

View File

@@ -8,14 +8,24 @@ separator Element "" ;
separator Ident "," ;
Compound. Stmt ::= "{" [Stmt] "}" ;
ReturnVoid. Stmt ::= "return" ";" ;
Return. Stmt ::= "return" Expr ";" ;
SCompound. Stmt ::= "{" [Stmt] "}" ;
SReturnVoid. Stmt ::= "return" ";" ;
SReturn. Stmt ::= "return" Expr ";" ;
SDeclOrExpr. Stmt ::= DeclOrExpr ";" ;
separator Stmt "" ;
Decl. DeclOrExpr ::= "var" [DeclVar];
DExpr. DeclOrExpr ::= Expr ;
DVar. DeclVar ::= Ident ;
DInit. DeclVar ::= Ident "=" Expr ;
separator DeclVar "," ;
EAssign. Expr13 ::= Expr14 "=" Expr13 ;
ENew. Expr14 ::= "new" Ident "(" [Expr] ")" ;
EMember. Expr15 ::= Expr15 "." Expr16 ;
EMember. Expr15 ::= Expr15 "." Ident ;
EIndex. Expr15 ::= Expr15 "[" Expr "]" ;
ECall. Expr15 ::= Expr15 "(" [Expr] ")" ;
@@ -27,6 +37,7 @@ ETrue. Expr16 ::= "true" ;
EFalse. Expr16 ::= "false" ;
ENull. Expr16 ::= "null" ;
EThis. Expr16 ::= "this" ;
EFun. Expr16 ::= "function" "(" [Ident] ")" "{" [Stmt] "}" ;
separator Expr "," ;
coercions Expr 16 ;