diff --git a/parser-tools/private-yacc/input-file-parser.rkt b/parser-tools/private-yacc/input-file-parser.rkt index 1c78bdb..51605e4 100644 --- a/parser-tools/private-yacc/input-file-parser.rkt +++ b/parser-tools/private-yacc/input-file-parser.rkt @@ -217,9 +217,12 @@ nt p #f - (for/first ([gs (in-vector p (sub1 (vector-length p)) -1 -1)] - #:when (term? gs)) - (term-prec gs)) + (let loop ([i (sub1 (vector-length p))]) + (and (>= i 0) + (let ([gs (vector-ref p i)]) + (if (term? gs) + (term-prec gs) + (loop (sub1 i)))))) (parse-action #'PROD-RHS #'ACTION)))] [(PROD-RHS (PREC TERM) ACTION) (identifier? #'TERM)