beachte, dass die Syntax eines if bedingt ist:
(if test-expr then-expr else-expr)
so dass wenntest-expr
beliebigen anderen Wert als #f
erzeugt, dann then-expr
ausgewertet wird, und wenn #f
erzeugt wird, else-expr
wird ausgewertet.
Sie haben zur Zeit folgendes:
(if (not (eq? current_token next_token)) (return #f))
, die gleich ist:
(if test-expr then-expr)
; test-expr = (not (eq? current_token next_token))
; then-expr = (return #f)
; Not complete - missing an else expression
ein else expression
Fügen Sie das Problem zu beheben.
Zum Beispiel:
> (if true 0) ; test-expr = true, then-expr = 0
if: missing an "else" expression in: (if true 0)
> (if true 0 1) ; test-expr = true, then-expr = 0, else-expr = 1
0
> (if false 0 1) ; test-expr = false, then-expr = 0, else-expr = 1
1