Basic constructor macro for vl-package structures.
(make-vl-package [:name <name>] [:minloc <minloc>] [:maxloc <maxloc>] [:paramdecls <paramdecls>] [:typedefs <typedefs>] [:comments <comments>] [:warnings <warnings>] [:imports <imports>] [:fundecls <fundecls>] [:taskdecls <taskdecls>] [:vardecls <vardecls>] [:lifetime <lifetime>] [:dpiimports <dpiimports>] [:dpiexports <dpiexports>] [:classes <classes>] [:atts <atts>])
This is the usual way to construct vl-package structures. It simply conses together a structure with the specified fields.
This macro generates a new vl-package structure from scratch. See also change-vl-package, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-vl-package (&rest args) (std::make-aggregate 'vl-package args '((:name) (:minloc) (:maxloc) (:paramdecls) (:typedefs) (:comments) (:warnings) (:imports) (:fundecls) (:taskdecls) (:vardecls) (:lifetime) (:dpiimports) (:dpiexports) (:classes) (:atts)) 'make-vl-package nil))
Function:
(defun vl-package (name minloc maxloc paramdecls typedefs comments warnings imports fundecls taskdecls vardecls lifetime dpiimports dpiexports classes atts) (declare (xargs :guard (and (stringp name) (vl-location-p minloc) (vl-location-p maxloc) (vl-paramdecllist-p paramdecls) (vl-typedeflist-p typedefs) (vl-commentmap-p comments) (vl-warninglist-p warnings) (vl-importlist-p imports) (vl-fundecllist-p fundecls) (vl-taskdecllist-p taskdecls) (vl-vardecllist-p vardecls) (vl-lifetime-p lifetime) (vl-dpiimportlist-p dpiimports) (vl-dpiexportlist-p dpiexports) (vl-classlist-p classes) (vl-atts-p atts)))) (declare (xargs :guard t)) (let ((__function__ 'vl-package)) (declare (ignorable __function__)) (b* ((name (mbe :logic (str-fix name) :exec name)) (minloc (mbe :logic (vl-location-fix minloc) :exec minloc)) (maxloc (mbe :logic (vl-location-fix maxloc) :exec maxloc)) (paramdecls (mbe :logic (vl-paramdecllist-fix paramdecls) :exec paramdecls)) (typedefs (mbe :logic (vl-typedeflist-fix typedefs) :exec typedefs)) (comments (mbe :logic (vl-commentmap-fix comments) :exec comments)) (warnings (mbe :logic (vl-warninglist-fix warnings) :exec warnings)) (imports (mbe :logic (vl-importlist-fix imports) :exec imports)) (fundecls (mbe :logic (vl-fundecllist-fix fundecls) :exec fundecls)) (taskdecls (mbe :logic (vl-taskdecllist-fix taskdecls) :exec taskdecls)) (vardecls (mbe :logic (vl-vardecllist-fix vardecls) :exec vardecls)) (lifetime (mbe :logic (vl-lifetime-fix lifetime) :exec lifetime)) (dpiimports (mbe :logic (vl-dpiimportlist-fix dpiimports) :exec dpiimports)) (dpiexports (mbe :logic (vl-dpiexportlist-fix dpiexports) :exec dpiexports)) (classes (mbe :logic (vl-classlist-fix classes) :exec classes)) (atts (mbe :logic (vl-atts-fix atts) :exec atts))) (cons :vl-package (std::prod-cons (std::prod-cons (std::prod-cons (std::prod-cons name minloc) (std::prod-cons maxloc paramdecls)) (std::prod-cons (std::prod-cons typedefs comments) (std::prod-cons warnings imports))) (std::prod-cons (std::prod-cons (std::prod-cons fundecls taskdecls) (std::prod-cons vardecls lifetime)) (std::prod-cons (std::prod-cons dpiimports dpiexports) (std::prod-cons classes atts))))))))