diff options
author | dos-reis <gdr@axiomatics.org> | 2011-10-29 21:48:36 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-10-29 21:48:36 +0000 |
commit | fe017bc0d4dfb95fa051aaa18188506c0857707d (patch) | |
tree | da7ed2ee9c47458efc64d4c2a4404552809a6e96 /src/interp/c-util.boot | |
parent | 8325a1bb16ac1a277c302a6aee7d6d584a1f7684 (diff) | |
download | open-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.boot | 18 |
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) |