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