diff options
author | Andy Wingo <wingo@pobox.com> | 2009-02-18 01:17:14 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-02-18 01:18:18 +0100 |
commit | 8fa6886d7af7c012c4cd17f793e5038931ffb4a0 (patch) | |
tree | 4fb22649c856f8b1131d5a1c1b01c5c6612eef5b /module/language/ecmascript/parse.scm | |
parent | b912a1cd6b5d22e1fd3eadca10858d8d0dd9c027 (diff) | |
download | guile-8fa6886d7af7c012c4cd17f793e5038931ffb4a0.tar.gz |
add more ecmascript compilation -- functions work now
* module/language/ecmascript/parse.scm (parse-ecmascript): Lambdas always
just have one member in their bodies.
* module/language/ecmascript/compile-ghil.scm (comp): Add some more silly
compilers.
Diffstat (limited to 'module/language/ecmascript/parse.scm')
-rw-r--r-- | module/language/ecmascript/parse.scm | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/module/language/ecmascript/parse.scm b/module/language/ecmascript/parse.scm index ebc7eaae8..0632b6d87 100644 --- a/module/language/ecmascript/parse.scm +++ b/module/language/ecmascript/parse.scm @@ -55,12 +55,12 @@ (SourceElement (Statement) -> $1 (FunctionDeclaration) -> $1) - (FunctionDeclaration (function Identifier lparen rparen lbrace FunctionBody rbrace) -> `(define ,$2 (lambda () ,@$6)) - (function Identifier lparen FormalParameterList rparen lbrace FunctionBody rbrace) -> `(define ,$2 (lambda ,$4 ,@$7))) - (FunctionExpression (function lparen rparen lbrace FunctionBody rbrace) -> `(lambda () ,@$5) - (function Identifier lparen rparen lbrace FunctionBody rbrace) -> `(lambda () ,@$6) - (function lparen FormalParameterList rparen lbrace FunctionBody rbrace) -> `(lambda ,$3 ,@$6) - (function Identifier lparen FormalParameterList rparen lbrace FunctionBody rbrace) -> `(lambda ,$4 ,@$7)) + (FunctionDeclaration (function Identifier lparen rparen lbrace FunctionBody rbrace) -> `(define ,$2 (lambda () ,$6)) + (function Identifier lparen FormalParameterList rparen lbrace FunctionBody rbrace) -> `(define ,$2 (lambda ,$4 ,$7))) + (FunctionExpression (function lparen rparen lbrace FunctionBody rbrace) -> `(lambda () ,$5) + (function Identifier lparen rparen lbrace FunctionBody rbrace) -> `(lambda () ,$6) + (function lparen FormalParameterList rparen lbrace FunctionBody rbrace) -> `(lambda ,$3 ,$6) + (function Identifier lparen FormalParameterList rparen lbrace FunctionBody rbrace) -> `(lambda ,$4 ,$7)) (FormalParameterList (Identifier) -> `(,$1) (FormalParameterList comma Identifier) -> `(,@$1 ,$3)) (SourceElements (SourceElement) -> $1 |