(vl-parse-genelements-or-classes-until endkwd &key (tokstream 'tokstream) (config 'config)) → (mv errmsg? value new-tokstream)
Function:
(defun vl-parse-genelements-or-classes-until-fn (endkwd tokstream config) (declare (xargs :stobjs (tokstream))) (declare (xargs :guard (vl-loadconfig-p config))) (declare (ignorable config)) (declare (xargs :guard (vl-tokentype-p endkwd))) (let ((__function__ 'vl-parse-genelements-or-classes-until)) (declare (ignorable __function__)) (seq tokstream (when (vl-is-token? endkwd) (return nil)) (when (vl-is-token? :vl-kwd-generate) (:= (vl-match)) (elems :w= (vl-parse-genelements-until :vl-kwd-endgenerate)) (:= (vl-match-token :vl-kwd-endgenerate)) (rest := (vl-parse-genelements-or-classes-until endkwd)) (return (append elems rest))) (first :s= (vl-parse-genelement-or-class)) (rest := (vl-parse-genelements-until endkwd)) (return (append first rest)))))
Theorem:
(defthm vl-parse-genelements-or-classes-until-fails-gracefully (implies (mv-nth 0 (vl-parse-genelements-or-classes-until endkwd)) (not (mv-nth 1 (vl-parse-genelements-or-classes-until endkwd)))))
Theorem:
(defthm vl-warning-p-of-vl-parse-genelements-or-classes-until (iff (vl-warning-p (mv-nth 0 (vl-parse-genelements-or-classes-until endkwd))) (mv-nth 0 (vl-parse-genelements-or-classes-until endkwd))))
Theorem:
(defthm vl-parse-genelements-or-classes-until-result (implies (and (force (vl-tokentype-p endkwd))) (vl-genelementlist-p (mv-nth 1 (vl-parse-genelements-or-classes-until endkwd)))))
Theorem:
(defthm vl-parse-genelements-or-classes-until-true-listp (true-listp (mv-nth 1 (vl-parse-genelements-or-classes-until endkwd))) :rule-classes :type-prescription)
Theorem:
(defthm vl-parse-genelements-or-classes-until-count-weak (<= (vl-tokstream-measure :tokstream (mv-nth 2 (vl-parse-genelements-or-classes-until endkwd))) (vl-tokstream-measure)) :rule-classes ((:rewrite) (:linear)))