Wayback 20041211223426
www.stripedgazelle.org/joey/src/dream/dream.html
This commit is contained in:
		
							parent
							
								
									ff81af0857
								
							
						
					
					
						commit
						91c4ac2da3
					
				| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<html>
 | 
			
		||||
<title>Notes on the Design of the 'dream' Scheme Interpreter</title>
 | 
			
		||||
<h1>Notes on the Design of the 'dream' Scheme Interpreter</h1>
 | 
			
		||||
Download here for Linux on x86 only: <a href="http://www.stripedgazelle.org/joey/src/dream.tar.gz">dream.tar.gz</a>
 | 
			
		||||
Download source (gcc on x86): <a href="http://www.stripedgazelle.org/joey/src/dream.tar.gz">dream.tar.gz</a>
 | 
			
		||||
<p>
 | 
			
		||||
The design for the 'dream' Scheme interpreter began with the design given in Abelson and Sussman's <u>Structure and Interpretation of Computer Programs</u>.
 | 
			
		||||
</p>
 | 
			
		||||
| 
						 | 
				
			
			@ -57,6 +57,10 @@ The x86 register ecx is left free to be used as temporary storage and need never
 | 
			
		|||
All other registers except esp must point to a valid scheme object (or null) when the garbage collector is invoked.
 | 
			
		||||
The stop and copy garbage collector registers old, new, and scan in <u>Structure and Interpretation of Computer Programs</u> are implemented by the x86 registers esi, edi, and eax respectively.
 | 
			
		||||
</p>
 | 
			
		||||
<h2>Input/Output</h2>
 | 
			
		||||
<p>
 | 
			
		||||
The standard C library is used for file input and output in order facilitate portability (albeit limited to x86 architectures).  Specifically, only fgetc, fputc, fprintf, fopen, and fclose are used.
 | 
			
		||||
</p>
 | 
			
		||||
<hr>
 | 
			
		||||
<a href="http://www.stripedgazelle.org/joey/index.html">Home</a>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue