1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-14 15:40:19 +02:00

add array support

* module/language/ecmascript/compile-ghil.scm (@impl): Whoops, fix this
  macro.
  (comp): Handle array literals.

* module/language/ecmascript/impl.scm: Add support for arrays.
This commit is contained in:
Andy Wingo 2009-02-19 16:09:00 +01:00
parent 131f7d6c71
commit 10e1bd278f
3 changed files with 58 additions and 10 deletions

View file

@ -186,16 +186,16 @@
(lparen Expression rparen) -> $2)
(ArrayLiteral (lbracket rbracket) -> '(array)
(lbracket Elision rbracket) -> '(array)
(lbracket Elision rbracket) -> '(array ,@$2)
(lbracket ElementList rbracket) -> `(array ,@$2)
(lbracket ElementList comma rbracket) -> `(array ,@$2)
(lbracket ElementList comma Elision rbracket) -> `(array ,@$2))
(ElementList (AssignmentExpression) -> `(,$1)
(Elision AssignmentExpression) -> `(,$2)
(Elision AssignmentExpression) -> `(,@$1 ,$2)
(ElementList comma AssignmentExpression) -> `(,@$1 ,$3)
(ElementList comma Elision AssignmentExpression) -> `(,@$1 ,$4))
(Elision (comma) -> #f
(Elision comma) -> #f)
(ElementList comma Elision AssignmentExpression) -> `(,@$1 ,@$3 ,$4))
(Elision (comma) -> '((number 0))
(Elision comma) -> `(,@$1 (number 0)))
(ObjectLiteral (lbrace rbrace) -> `(object)
(lbrace PropertyNameAndValueList rbrace) -> `(object ,@$2))