Basic constructor macro for dirdeclor-array-star structures.
(make-dirdeclor-array-star [:declor <declor>]
[:qualspecs <qualspecs>])
This is the usual way to construct dirdeclor-array-star structures. It simply conses together a structure with the specified fields.
This macro generates a new dirdeclor-array-star structure from scratch. See also change-dirdeclor-array-star, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-dirdeclor-array-star (&rest args) (std::make-aggregate 'dirdeclor-array-star args '((:declor) (:qualspecs)) 'make-dirdeclor-array-star nil))
Function:
(defun dirdeclor-array-star (declor qualspecs) (declare (xargs :guard (and (dirdeclorp declor) (typequal/attribspec-listp qualspecs)))) (declare (xargs :guard t)) (b* ((declor (mbe :logic (dirdeclor-fix declor) :exec declor)) (qualspecs (mbe :logic (typequal/attribspec-list-fix qualspecs) :exec qualspecs))) (cons :array-star (cons declor qualspecs))))