Tail-recursive version of lex* (to prevent stack overflows).
(lex*-exec sin acc) → (mv okp new-acc sin)
Function:
(defun lex*-exec (sin acc) (declare (xargs :stobjs (sin))) (declare (xargs :guard t)) (let ((__function__ 'lex*-exec)) (declare (ignorable __function__)) (b* (((when (sin-endp sin)) (mv t acc sin)) ((mv tok1 sin) (lex1 sin)) ((unless tok1) (mv nil acc sin))) (lex*-exec sin (cons tok1 acc)))))