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