| 
					
				 | 
			
			
				@@ -46,15 +46,7 @@ var defaults = function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if (3 > process.argv.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	usage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	var files = handle_options(process.argv.slice(2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	check_for_closure_compiler(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	var compilerFiles = resolve_libraries(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	collect_files(files); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	create_compiler(compilerFiles); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	compile(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if (undefined !== defaults.program) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		compose_js_files(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	handle_options(process.argv.slice(2)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -110,8 +102,10 @@ function handle_options(optionsArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		currentItem = optionsArray.shift(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	check_for_closure_compiler(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return nonOptions; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	collect_files(nonOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -228,37 +222,6 @@ function resolve_js(filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function resolve_libraries() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// Resolve libraries listed in defaults.base 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	defaults.base.forEach(function(file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		defaults.libraries.push(resolve_js(file)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// Resolve libraries listed in defaults.compiler 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	var compilerFiles = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	defaults.compiler_libraries.forEach(function(file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		compilerFiles.push(resolve_js(file)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// Resolve libraries listed in defaults.load 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	defaults.load.forEach(function(file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		var resolvedFile = resolve_js(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		compilerFiles.push(resolvedFile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		defaults.libraries.push(resolvedFile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// check and add init.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	var initFile = defaults.init; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if ('.js' !== path.extname(initFile)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		initFile = resolve_js(initFile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		defaults.init = initFile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	compilerFiles.push(initFile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return compilerFiles; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // -------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // Collect libraries and Smalltalk files looking 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // both locally and in $AMBER/js and $AMBER/st  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -291,6 +254,38 @@ function collect_files(filesArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		currentFile = filesArray.shift(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	resolve_libraries(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function resolve_libraries() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Resolve libraries listed in defaults.base 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	defaults.base.forEach(function(file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		defaults.libraries.push(resolve_js(file)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Resolve libraries listed in defaults.compiler 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var compilerFiles = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	defaults.compiler_libraries.forEach(function(file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		compilerFiles.push(resolve_js(file)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// Resolve libraries listed in defaults.load 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	defaults.load.forEach(function(file) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var resolvedFile = resolve_js(file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		compilerFiles.push(resolvedFile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		defaults.libraries.push(resolvedFile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// check and add init.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var initFile = defaults.init; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if ('.js' !== path.extname(initFile)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		initFile = resolve_js(initFile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		defaults.init = initFile; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	compilerFiles.push(initFile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	create_compiler(compilerFiles); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -305,6 +300,8 @@ function create_compiler(compilerFilesArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	content = content + 'return smalltalk;})();'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	defaults.smalltalk = eval(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	console.log('Compiler loaded'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	compile(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -329,6 +326,10 @@ function compile() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		var minifiedName = path.basename(file, '.js') + '.min.js'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		closure_compile(file, minifiedName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if (undefined !== defaults.program) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		compose_js_files(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |