scscm/expander
src/scscm/expander.tur
defn
expand
(expand [ast : int])
expand macros in a single AST node.
Parameters
| ast | AST node handle (from parser) |
Returns
Expanded AST node handle (may be a new allocation).
Example
(expand (parse-one-form my-tokens))
Since: SC3
defn
expand-all
(expand-all [asts : int])
expand macros in a cons list of top-level AST nodes.
Parameters
| asts | cons list of AST node handles |
Returns
Cons list of expanded AST node handles.
Example
(expand-all top-level-nodes)
Since: SC3
Internal definitions
scscm-macro-env-getscscm-macro-env-setscscm-macro-env-updatescscm-macro-env-opscscm-macro-getscscm-macro-setscscm-macro-definescscm-cstr-eq-node?scscm-macro-lookup-loopscscm-macro-lookupscscm-make-symscscm-make-list-from-consscscm-fill-list-from-consscscm-make-wrapscscm-make-call2scscm-copy-childrenscscm-children-consscscm-children-cons-loopscscm-voidscscm-expand-qqscscm-qq-fill-listscscm-splice-childrenscscm-thread-first-stepscscm-thread-last-stepscscm-expand-thread-firstscscm-expand-thread-lastscscm-macro-applyscscm-kind-intscscm-substscscm-subst-fillscscm-find-paramscscm-find-param-loopscscm-cons-nthscscm-expand-whenscscm-expand-unlessscscm-copy-expanded-childrenscscm-expand-childrenscscm-expand-pbindscscm-expand-pattern-fnscscm-expand-defsynthscscm-expand-definstscscm-expand-compscscm-expand-partialscscm-expand-adsrscscm-expand-percscscm-expand-env-linescscm-expand-midi-hzscscm-expand-hz-midiscscm-expand-db-ampscscm-expand-amp-dbscscm-expand-ctlscscm-expand-killscscm-expand-doseqscscm-expand-dotimesscscm-expand-collectscscm-handle-defmacroscscm-expand-listscscm-expand-letscscm-expand-let-bindingsscscm-expand-condscscm-expand-cond-pairs