diff options
author | Andy Wingo <wingo@pobox.com> | 2009-02-19 13:55:55 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-02-19 13:55:55 +0100 |
commit | 131f7d6c71d0a0fe4f60b49a39efcd4f8ace6b0c (patch) | |
tree | 4ffdd807ccdcd05ad49d2da7190751fc30006bb3 /module/language/ecmascript/tokenize.scm | |
parent | 8fa6886d7af7c012c4cd17f793e5038931ffb4a0 (diff) | |
download | guile-131f7d6c71d0a0fe4f60b49a39efcd4f8ace6b0c.tar.gz |
further ecmascript work
* libguile/vm-i-system.c (drop, return): Declare drop and return as
popping one arg from the stack.
* module/language/ghil/compile-glil.scm:
* module/language/glil/compile-assembly.scm (make-meta): Adjust so that
we declare 'drop and 'return calls as popping one arg from the stack.
* module/language/ecmascript/compile-ghil.scm (comp, comp-body): Flesh
out a bit more. Most significantly, scoping within functions obeys
javascript semantics better, modulo bits about with() forms.
* module/language/ecmascript/impl.scm: Define some runtime helper
routines.
* module/language/Makefile.am (SOURCES): Add impl.scm.
* module/language/ecmascript/parse.scm (parse-ecmascript): Minor tweaks.
* module/language/ecmascript/tokenize.scm (read-identifier): Identifiers
now read as symbols, not strings.
Diffstat (limited to 'module/language/ecmascript/tokenize.scm')
-rw-r--r-- | module/language/ecmascript/tokenize.scm | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/module/language/ecmascript/tokenize.scm b/module/language/ecmascript/tokenize.scm index 7a716e0d6..936b304d0 100644 --- a/module/language/ecmascript/tokenize.scm +++ b/module/language/ecmascript/tokenize.scm @@ -225,7 +225,7 @@ => (lambda (x) `(,x . #f))) ((assoc-ref *future-reserved-words* word) (error "word is reserved for the future, dude." word)) - (else `(Identifier . ,word)))) + (else `(Identifier . ,(string->symbol word))))) (begin (read-char port) (lp (peek-char port) (cons c chars)))))) |