Basic constructor macro for symbol-nonterminal structures.
(make-symbol-nonterminal [:get <get>])
This is the usual way to construct symbol-nonterminal structures. It simply conses together a structure with the specified fields.
This macro generates a new symbol-nonterminal structure from scratch. See also change-symbol-nonterminal, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-symbol-nonterminal (&rest args) (std::make-aggregate 'symbol-nonterminal args '((:get)) 'make-symbol-nonterminal nil))
Function:
(defun symbol-nonterminal (get) (declare (xargs :guard (rulenamep get))) (declare (xargs :guard t)) (let ((__function__ 'symbol-nonterminal)) (declare (ignorable __function__)) (b* ((get (mbe :logic (rulename-fix get) :exec get))) get)))