Basic constructor macro for iconst structures.
(make-iconst [:core <core>] [:suffix? <suffix?>])
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?)) 'make-iconst nil))
Function:
(defun iconst (core suffix?) (declare (xargs :guard (and (dec/oct/hex-constp core) (isuffix-optionp suffix?)))) (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?))) (list (cons 'core core) (cons 'suffix? suffix?)))))