diff --git a/collects/parser-tools/yacc.ss b/collects/parser-tools/yacc.ss index 296e027..09ba0c9 100644 --- a/collects/parser-tools/yacc.ss +++ b/collects/parser-tools/yacc.ss @@ -320,6 +320,9 @@ (define (make-parser start-number) (lambda (get-token) + (unless (and (procedure? get-token) + (procedure-arity-includes? get-token 0)) + (error 'get-token "expected a nullary procedure, got ~e" get-token)) (let parsing-loop ((stack (make-empty-stack start-number)) (ip (get-token))) (let-values (((tok val start-pos end-pos)