(vl-parse-1+-let-ports &key (tokstream 'tokstream) (config 'config)) → (mv errmsg? value new-tokstream)
Function:
(defun vl-parse-1+-let-ports-fn (tokstream config) (declare (xargs :stobjs (tokstream))) (declare (xargs :guard (vl-loadconfig-p config))) (declare (ignorable config)) (let ((__function__ 'vl-parse-1+-let-ports)) (declare (ignorable __function__)) (seq tokstream (atts := (vl-parse-0+-attribute-instances)) (type := (if (and (vl-is-token? :vl-idtoken) (vl-lookahead-is-some-token? '(:vl-comma :vl-rparen :vl-equalsign) (cdr (vl-tokstream->tokens)))) (mv nil *vl-plain-old-logic-type* tokstream) (vl-parse-datatype-or-implicit))) (id := (vl-match-token :vl-idtoken)) (when (vl-is-token? :vl-equalsign) (expr := (vl-parse-expression))) (when (vl-is-token? :vl-comma) (:= (vl-match)) (rest := (vl-parse-1+-let-ports))) (return (cons (make-vl-portdecl :name (vl-idtoken->name id) :loc (vl-token->loc id) :dir :vl-input :type type :default expr :atts atts) rest)))))
Theorem:
(defthm vl-parse-1+-let-ports-fails-gracefully (implies (mv-nth 0 (vl-parse-1+-let-ports)) (not (mv-nth 1 (vl-parse-1+-let-ports)))))
Theorem:
(defthm vl-warning-p-of-vl-parse-1+-let-ports (iff (vl-warning-p (mv-nth 0 (vl-parse-1+-let-ports))) (mv-nth 0 (vl-parse-1+-let-ports))))
Theorem:
(defthm vl-parse-1+-let-ports-result (implies (and (not (mv-nth 0 (vl-parse-1+-let-ports))) (and t)) (vl-portdecllist-p (mv-nth 1 (vl-parse-1+-let-ports)))))
Theorem:
(defthm vl-parse-1+-let-ports-true-listp (true-listp (mv-nth 1 (vl-parse-1+-let-ports))) :rule-classes :type-prescription)
Theorem:
(defthm vl-parse-1+-let-ports-count-weak (<= (vl-tokstream-measure :tokstream (mv-nth 2 (vl-parse-1+-let-ports))) (vl-tokstream-measure)) :rule-classes ((:rewrite) (:linear)))