(deftrans-defn-dirdeclor names bodies extra-args extra-args-names) → *
Function:
(defun deftrans-defn-dirdeclor (names bodies extra-args extra-args-names) (declare (xargs :guard (and (alistp names) (alistp bodies) (true-listp extra-args) (true-listp extra-args-names)))) (let ((__function__ 'deftrans-defn-dirdeclor)) (declare (ignorable __function__)) (deftrans-defn 'dirdeclor names bodies '((dirdeclor dirdeclorp)) extra-args (cons 'dirdeclor-case (cons 'dirdeclor (cons ':ident (cons (cons 'dirdeclor-ident (cons (cons (cdr (assoc-eq 'ident names)) (cons 'dirdeclor.unwrap extra-args-names)) 'nil)) (cons ':paren (cons (cons 'dirdeclor-paren (cons (cons (cdr (assoc-eq 'declor names)) (cons 'dirdeclor.unwrap extra-args-names)) 'nil)) (cons ':array (cons (cons 'make-dirdeclor-array (cons ':decl (cons (cons (cdr (assoc-eq 'dirdeclor names)) (cons 'dirdeclor.decl extra-args-names)) (cons ':tyquals (cons 'dirdeclor.tyquals (cons ':expr? (cons (cons (cdr (assoc-eq 'expr-option names)) (cons 'dirdeclor.expr? extra-args-names)) 'nil))))))) (cons ':array-static1 (cons (cons 'make-dirdeclor-array-static1 (cons ':decl (cons (cons (cdr (assoc-eq 'dirdeclor names)) (cons 'dirdeclor.decl extra-args-names)) (cons ':tyquals (cons 'dirdeclor.tyquals (cons ':expr (cons (cons (cdr (assoc-eq 'expr names)) (cons 'dirdeclor.expr extra-args-names)) 'nil))))))) (cons ':array-static2 (cons (cons 'make-dirdeclor-array-static2 (cons ':decl (cons (cons (cdr (assoc-eq 'dirdeclor names)) (cons 'dirdeclor.decl extra-args-names)) (cons ':tyquals (cons 'dirdeclor.tyquals (cons ':expr (cons (cons (cdr (assoc-eq 'expr names)) (cons 'dirdeclor.expr extra-args-names)) 'nil))))))) (cons ':array-star (cons (cons 'make-dirdeclor-array-star (cons ':decl (cons (cons (cdr (assoc-eq 'dirdeclor names)) (cons 'dirdeclor.decl extra-args-names)) '(:tyquals dirdeclor.tyquals)))) (cons ':function-params (cons (cons 'make-dirdeclor-function-params (cons ':decl (cons (cons (cdr (assoc-eq 'dirdeclor names)) (cons 'dirdeclor.decl extra-args-names)) (cons ':params (cons (cons (cdr (assoc-eq 'paramdecl-list names)) (cons 'dirdeclor.params extra-args-names)) '(:ellipsis dirdeclor.ellipsis)))))) (cons ':function-names (cons (cons 'make-dirdeclor-function-names (cons ':decl (cons (cons (cdr (assoc-eq 'dirdeclor names)) (cons 'dirdeclor.decl extra-args-names)) (cons ':names (cons (cons (cdr (assoc-eq 'ident-list names)) (cons 'dirdeclor.names extra-args-names)) 'nil))))) 'nil)))))))))))))))))) '(:returns (new-dirdeclor dirdeclorp) :measure (dirdeclor-count dirdeclor)))))