Basic constructor macro for deftreeops-table-value structures.
(make-deftreeops-table-value [:rulename-info-alist <rulename-info-alist>] [:numrange-info-alist <numrange-info-alist>] [:charval-info-alist <charval-info-alist>] [:event-alist <event-alist>] [:call <call>])
This is the usual way to construct deftreeops-table-value structures. It simply conses together a structure with the specified fields.
This macro generates a new deftreeops-table-value structure from scratch. See also change-deftreeops-table-value, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-deftreeops-table-value (&rest args) (std::make-aggregate 'deftreeops-table-value args '((:rulename-info-alist) (:numrange-info-alist) (:charval-info-alist) (:event-alist) (:call)) 'make-deftreeops-table-value nil))
Function:
(defun deftreeops-table-value (rulename-info-alist numrange-info-alist charval-info-alist event-alist call) (declare (xargs :guard (and (deftreeops-rulename-info-alistp rulename-info-alist) (deftreeops-numrange-info-alistp numrange-info-alist) (deftreeops-charval-info-alistp charval-info-alist) (symbol-pseudoeventform-alistp event-alist) (pseudo-event-formp call)))) (declare (xargs :guard t)) (let ((__function__ 'deftreeops-table-value)) (declare (ignorable __function__)) (b* ((rulename-info-alist (mbe :logic (deftreeops-rulename-info-alist-fix rulename-info-alist) :exec rulename-info-alist)) (numrange-info-alist (mbe :logic (deftreeops-numrange-info-alist-fix numrange-info-alist) :exec numrange-info-alist)) (charval-info-alist (mbe :logic (deftreeops-charval-info-alist-fix charval-info-alist) :exec charval-info-alist)) (event-alist (mbe :logic (acl2::symbol-pseudoeventform-alist-fix event-alist) :exec event-alist)) (call (mbe :logic (acl2::pseudo-event-form-fix call) :exec call))) (list (cons 'rulename-info-alist rulename-info-alist) (cons 'numrange-info-alist numrange-info-alist) (cons 'charval-info-alist charval-info-alist) (cons 'event-alist event-alist) (cons 'call call)))))