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:
Simon Forman 2024-04-09 12:35:14 -07:00
parent da1426ed8d
commit c07883f4cb
1 changed files with 6 additions and 6 deletions

View File

@ -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)