diff: compiler/notes/compiler_design.html & pragma export

Fergus Henderson fjh at cs.mu.oz.au
Thu Jan 8 17:12:42 AEDT 1998


compiler/notes/compiler_design.html:
	Document where `pragma export' is handled.

Index: compiler_design.html
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/notes/compiler_design.html,v
retrieving revision 1.13
diff -u -u -r1.13 compiler_design.html
--- compiler_design.html	1998/01/02 00:11:10	1.13
+++ compiler_design.html	1998/01/06 06:13:31
@@ -444,7 +444,7 @@
 <p>
 
 <dl>
- <dt> pre-passes to annotate the HLDS
+<dt> pre-passes to annotate the HLDS
 
 	<dd>
 	Before code generation there are a few more passes which 
@@ -542,13 +542,19 @@
 			and saves information about procedures.
 		</dl>
 
+<dt> code generation for `pragma export' declarations (export.m)
+<dd> This is handled seperately from the other parts of code generation.
+     mercury_compile.m calls the procedures `export__produce_header_file'
+     and `export__get_pragma_exported_procs' to produce C code fragments
+     which declare/define the C functions which are the interface stubs
+     for procedures exported to C.
 </dl>
 
 <p>
 
 The result of code generation is the Low Level Data Structure (llds.m).
-The code is generated as a tree of code fragments which is then
-flattened (tree.m).
+The code for each procedure is generated as a tree of code fragments
+which is then flattened (tree.m).
 
 <p>
 
-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list