Basic constructor macro for iconst structures.
(make-iconst [:core <core>] [:suffix? <suffix?>] [:info <info>])
This is the usual way to construct iconst structures. It simply conses together a structure with the specified fields.
This macro generates a new iconst structure from scratch. See also change-iconst, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-iconst (&rest args) (std::make-aggregate 'iconst args '((:core) (:suffix?) (:info)) 'make-iconst nil))
Function:
(defun iconst (core suffix? info) (declare (xargs :guard (and (dec/oct/hex-constp core) (isuffix-optionp suffix?) (acl2::any-p info)))) (declare (xargs :guard t)) (let ((__function__ 'iconst)) (declare (ignorable __function__)) (b* ((core (mbe :logic (dec/oct/hex-const-fix core) :exec core)) (suffix? (mbe :logic (isuffix-option-fix suffix?) :exec suffix?)) (info (mbe :logic (identity info) :exec info))) (list (cons 'core core) (cons 'suffix? suffix?) (cons 'info info)))))