| 
					
				 | 
			
			
				@@ -277,45 +277,45 @@ messageFromSendNode: aSendNode do: aBlock 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         	yourself) ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ASTInterpreter subclass: #ASTDebugger 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ASTInterpreter subclass: #ASTSteppingInterpreter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	instanceVariableNames: 'continuation' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	package: 'Compiler-Interpreter'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-!ASTDebugger commentStamp! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-ASTDebugger is an interpreter with stepping capabilities. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Use `#stepOver` to actually interpret the next node. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+!ASTSteppingInterpreter commentStamp! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ASTSteppingInterpreter is an interpreter with stepping capabilities. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Use `#step` to actually interpret the next node. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Usage example: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    | ast debugger | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    | ast interpreter | 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ast := Smalltalk current parse: 'foo 1+2+4'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (SemanticAnalyzer on: Object) visit: ast. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    debugger := ASTDebugger new 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    interpreter := ASTSteppingInterpreter new 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         interpret: ast nodes first; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         yourself. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    debugger stepOver; stepOver. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    debugger stepOver; stepOver. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    debugger step; step. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    debugger step; step. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     debugger result."Answers 1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    debugger stepOver. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    debugger step. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     debugger result. "Answers 3" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    debugger stepOver. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    debugger step. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     debugger result. "Answers 7"! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-!ASTDebugger methodsFor: 'initialization'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+!ASTSteppingInterpreter methodsFor: 'initialization'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 initialize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	super initialize. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     continuation := [  ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-!ASTDebugger methodsFor: 'interpreting'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+!ASTSteppingInterpreter methodsFor: 'interpreting'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 interpret: aNode continue: aBlock 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	continuation := [ super interpret: aNode continue: aBlock ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ! ! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-!ASTDebugger methodsFor: 'stepping'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+!ASTSteppingInterpreter methodsFor: 'stepping'! 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 step 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	continuation value 
			 |