Collects one or more matches of the supplied rule with the input stream.
(defun one-or-more (s func)
"Collects one or more matches of the supplied rule with the input stream."
(declare (type function func))
(let ((val (funcall func s)))
(if val
(multiple-value-bind (res nextval)
(none-or-more s func)
(declare (ignore res))
(cons val nextval))
nil)))Source Context