aboutsummaryrefslogtreecommitdiff
path: root/src/interp/c-util.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/c-util.boot')
-rw-r--r--src/interp/c-util.boot18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index 7203eca6..3ba88514 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -143,13 +143,21 @@ macro domainData d ==
--% usedEntities: VectorBuffer Pair(SourceEntity,Elaboration))
--%
+structure %CompilationData ==
+ Record(subst: %Substitution,idata: %Substitution,bytes: List %Fixnum,
+ items: %Buffer %Pair(%SourceEntity,%Elaboration)) with
+ cdSubstitution == (.subst)
+ cdImplicits == (.idata)
+ cdBytes == (.bytes)
+ cdItems == (.items)
+
++ Make a fresh compilation data structure.
makeCompilationData() ==
- [nil,nil,nil,[nil,:0]]
+ mk%CompilationData(nil,nil,nil,[nil,:0])
++ Subsitution that replaces parameters with formals.
macro dbFormalSubst db ==
- first dbCompilerData db
+ cdSubstitution dbCompilerData db
++ Return source-level parameters of this constructor.
dbParameters db ==
@@ -159,17 +167,17 @@ dbParameters db ==
++ information is active only during the elaboration of the
++ constructor associated with `db'.
macro dbImplicitData db ==
- second dbCompilerData db
+ cdImplicits dbCompilerData db
++ Return the list of encoding bytes for a function during elaboration.
++ Transcient data.
macro dbByteList db ==
- third dbCompilerData db
+ cdBytes dbCompilerData db
++ Return a buffer of entities referenced during elaboration
++ of current functor.
macro dbEntityBuffer db ==
- fourth dbCompilerData db
+ cdItems dbCompilerData db
++ List (in reverse order) of used entities during elaboration of
++ current functor.