Basic constructor macro for dirabsdeclor-array structures.
(make-dirabsdeclor-array [:decl? <decl?>] [:tyquals <tyquals>] [:expr? <expr?>])
This is the usual way to construct dirabsdeclor-array structures. It simply conses together a structure with the specified fields.
This macro generates a new dirabsdeclor-array structure from scratch. See also change-dirabsdeclor-array, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-dirabsdeclor-array (&rest args) (std::make-aggregate 'dirabsdeclor-array args '((:decl?) (:tyquals) (:expr?)) 'make-dirabsdeclor-array nil))
Function:
(defun dirabsdeclor-array (decl? tyquals expr?) (declare (xargs :guard (and (dirabsdeclor-optionp decl?) (type-qual-listp tyquals) (expr-optionp expr?)))) (declare (xargs :guard t)) (let ((__function__ 'dirabsdeclor-array)) (declare (ignorable __function__)) (b* ((decl? (mbe :logic (dirabsdeclor-option-fix decl?) :exec decl?)) (tyquals (mbe :logic (type-qual-list-fix tyquals) :exec tyquals)) (expr? (mbe :logic (expr-option-fix expr?) :exec expr?))) (cons :array (list decl? tyquals expr?)))))