aboutsummaryrefslogtreecommitdiff
path: root/src/interp/c-util.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-10-29 21:48:36 +0000
committerdos-reis <gdr@axiomatics.org>2011-10-29 21:48:36 +0000
commitfe017bc0d4dfb95fa051aaa18188506c0857707d (patch)
treeda7ed2ee9c47458efc64d4c2a4404552809a6e96 /src/interp/c-util.boot
parent8325a1bb16ac1a277c302a6aee7d6d584a1f7684 (diff)
downloadopen-axiom-fe017bc0d4dfb95fa051aaa18188506c0857707d.tar.gz
* interp/daase.lisp (dbCompilerData): New accessor macro.
(dbBeingDefined?): Adjust. * interp/c-util.boot (makeCompilationData): New. (dbFormalSubst): New accessor macro. (dbSubstituteFormals): New. * interp/define.boot ($pairlis): Remove. (NRTmakeCategoryAlist): Use dbSubstituteFormals. (NRTgetLookupFunction): Likewise. (compDefineCategory2): Likewise. Set dbCompilerData and dbFormalSubst. (compDefineFunctor1): Likewise. * interp/functor.boot (ProcessCond): Use dbSubstituteFormals. * interp/lisplib.boot (NRTgenInitialAttributeAlist): Likewise. (makePredicateBitVector): Likewise. (finalizeLisplib): Do not set $pairlis.
Diffstat (limited to 'src/interp/c-util.boot')
-rw-r--r--src/interp/c-util.boot18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index bd1566da..20230eb9 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -131,6 +131,24 @@ macro domainPredicates d ==
macro domainData d ==
domainRef(d,4)
+--%
+--% Constructor Compilation Data.
+--% Operational Semantics:
+--% structure CompilationData ==
+--% Record(formalSubst: Substitution)
+--%
+
+++ Make a fresh compilation data structure.
+makeCompilationData() ==
+ [nil]
+
+macro dbFormalSubst db ==
+ first dbCompilerData db
+
+++ Apply the formal substitution or `db'to th form `x'.
+dbSubstituteFormals(db,x) ==
+ applySubst(dbFormalSubst db,x)
+
--%
$SetCategory ==
'(SetCategory)