public Void visitUnit(UnitTree tree) {
		String name = options.getOutputName();
		if (name == null) {
			name = tree.getSource();
			int dot = name.lastIndexOf('.');
			if (dot > 0) name = name.substring(0, dot);
		}
		File file = new File(options.getOutputDir(), name+".java");
		try {
			output = new PrintStream(file);
		} catch (IOException ioe) {
			//cry like a baby
		}
		if (options.needDebugInfo()) {
			output.println("/* Generated from \""+tree.getSource()+"\" */");
		}
		output.println();
		output.println("import java.io.IOException;");
		output.println();
		output.println("public class "+name+" {");
		output.println("\tpublic static void main(String[] args) throws IOException {");
		output.println("\t\tfinal int ARRAY_SIZE = "+options.getRange()+";");
		output.println("\t\tbyte[] array = new byte[ARRAY_SIZE];");
		output.println("\t\tint position = 0;");
		output.println("\t\tint ch;");
		for (Tree t : tree.getChildren()) {
			t.accept(this, 2);
		}
		output.println("\t\tSystem.out.flush();");
		output.println("\t}");
		output.println("}");
		output.flush();
		output.close();
		System.err.println("File "+name+".java written");
		return null;
	}