summaryrefslogtreecommitdiff
path: root/module/language/ecmascript
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-11-18 12:24:01 +0100
committerAndy Wingo <wingo@pobox.com>2010-11-18 12:24:01 +0100
commita608cad27e43e176d1a6e6d7cb4a53ba3861b308 (patch)
treee2a6a68d9ac87c313b44c8fb8d9c4f97861eea06 /module/language/ecmascript
parent29de6ae2e8da0db797fcb808b4d35d07e2b9d5f4 (diff)
downloadguile-a608cad27e43e176d1a6e6d7cb4a53ba3861b308.tar.gz
fix ecmascript at the repl
* module/language/ecmascript/tokenize.scm (syntax-error): Reorder args to throw vals in the right order. (make-tokenizer/1): Fix. Broken since the lalr refactor...
Diffstat (limited to 'module/language/ecmascript')
-rw-r--r--module/language/ecmascript/tokenize.scm19
1 files changed, 11 insertions, 8 deletions
diff --git a/module/language/ecmascript/tokenize.scm b/module/language/ecmascript/tokenize.scm
index 270a472d3..ab6846c87 100644
--- a/module/language/ecmascript/tokenize.scm
+++ b/module/language/ecmascript/tokenize.scm
@@ -24,8 +24,8 @@
#:use-module (system base lalr)
#:export (next-token make-tokenizer make-tokenizer/1 tokenize tokenize/1))
-(define (syntax-error message . args)
- (throw 'syntax-error 'tokenize #f message #f #f args))
+(define (syntax-error what . args)
+ (throw 'syntax-error 'tokenize what #f #f #f args))
;; taken from SSAX, sorta
(define (read-until delims port)
@@ -442,21 +442,24 @@
(let ((tok (next-token port div?)))
(case (if (lexical-token? tok) (lexical-token-category tok) tok)
((lparen)
- (set! stack (make-lexical-token 'lparen #f stack)))
+ (set! stack (cons tok stack)))
((rparen)
- (if (and (pair? stack) (eq? (car stack) 'lparen))
+ (if (and (pair? stack)
+ (eq? (lexical-token-category (car stack)) 'lparen))
(set! stack (cdr stack))
(syntax-error "unexpected right parenthesis")))
((lbracket)
- (set! stack (make-lexical-token 'lbracket #f stack)))
+ (set! stack (cons tok stack)))
((rbracket)
- (if (and (pair? stack) (eq? (car stack) 'lbracket))
+ (if (and (pair? stack)
+ (eq? (lexical-token-category (car stack)) 'lbracket))
(set! stack (cdr stack))
(syntax-error "unexpected right bracket" stack)))
((lbrace)
- (set! stack (make-lexical-token 'lbrace #f stack)))
+ (set! stack (cons tok stack)))
((rbrace)
- (if (and (pair? stack) (eq? (car stack) 'lbrace))
+ (if (and (pair? stack)
+ (eq? (lexical-token-category (car stack)) 'lbrace))
(set! stack (cdr stack))
(syntax-error "unexpected right brace" stack)))
((semicolon)