The accumulator parameter was unneccesary.
D'oh! THat's the benefit of re-reading your code though: finding derpy shit like this.
This commit is contained in:
parent
da1426ed8d
commit
c07883f4cb
|
|
@ -205,18 +205,18 @@
|
||||||
(define (one-token-lookahead token tokens)
|
(define (one-token-lookahead token tokens)
|
||||||
(match token
|
(match token
|
||||||
("]" (abort "Extra closing bracket."))
|
("]" (abort "Extra closing bracket."))
|
||||||
("[" (expect-right-bracket tokens '()))
|
("[" (expect-right-bracket tokens))
|
||||||
(_ (values (tokenator token) tokens))))
|
(_ (values (tokenator token) tokens))))
|
||||||
|
|
||||||
(define (expect-right-bracket tokens0 acc)
|
(define (expect-right-bracket tokens0)
|
||||||
(if (null? tokens0) (abort "Missing closing bracket.")
|
(if (null? tokens0) (abort "Missing closing bracket.")
|
||||||
(receive (token tokens) (car+cdr tokens0)
|
(receive (token tokens) (car+cdr tokens0)
|
||||||
(match token
|
(match token
|
||||||
("]" (values acc tokens))
|
("]" (values '() tokens))
|
||||||
("[" (receive (sub_list rest) (expect-right-bracket tokens '())
|
("[" (receive (sub_list rest) (expect-right-bracket tokens)
|
||||||
(receive (el rrest) (expect-right-bracket rest acc)
|
(receive (el rrest) (expect-right-bracket rest)
|
||||||
(values (cons sub_list el) rrest))))
|
(values (cons sub_list el) rrest))))
|
||||||
(_ (receive (el rest) (expect-right-bracket tokens acc)
|
(_ (receive (el rest) (expect-right-bracket tokens)
|
||||||
(values (cons (tokenator token) el) rest)))))))
|
(values (cons (tokenator token) el) rest)))))))
|
||||||
|
|
||||||
(define (tokenator token)
|
(define (tokenator token)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue