Basic constructor macro for stat structures.
(make-stat [:xregs <xregs>] [:pc <pc>] [:memory <memory>] [:error <error>])
This is the usual way to construct stat structures. It simply conses together a structure with the specified fields.
This macro generates a new stat structure from scratch. See also change-stat, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-stat (&rest args) (std::make-aggregate 'stat args '((:xregs) (:pc) (:memory) (:error)) 'make-stat nil))
Function:
(defun stat (xregs pc memory error) (declare (xargs :guard (and (ubyte8-listp memory) (booleanp error)))) (declare (xargs :guard t)) (let ((__function__ 'stat)) (declare (ignorable __function__)) (b* ((memory (mbe :logic (acl2::ubyte8-list-fix memory) :exec memory)) (error (mbe :logic (acl2::bool-fix error) :exec error))) (list (cons 'xregs xregs) (cons 'pc pc) (cons 'memory memory) (cons 'error error)))))