Basic constructor macro for vl-assignpat-repeat structures.
(make-vl-assignpat-repeat [:reps <reps>] [:vals <vals>])
This is the usual way to construct vl-assignpat-repeat structures. It simply conses together a structure with the specified fields.
This macro generates a new vl-assignpat-repeat structure from scratch. See also change-vl-assignpat-repeat, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-vl-assignpat-repeat (&rest args) (std::make-aggregate 'vl-assignpat-repeat args '((:reps) (:vals)) 'make-vl-assignpat-repeat nil))
Function:
(defun vl-assignpat-repeat (reps vals) (declare (xargs :guard (and (vl-expr-p reps) (vl-exprlist-p vals)))) (declare (xargs :guard t)) (let ((__function__ 'vl-assignpat-repeat)) (declare (ignorable __function__)) (b* ((reps (mbe :logic (vl-expr-fix reps) :exec reps)) (vals (mbe :logic (vl-exprlist-fix vals) :exec vals))) (cons :repeat (std::prod-cons reps vals)))))