use std::fs::File;
use std::io::*;
use lexer;
use parser;
use transformer::javascript as js_transform;
use generator::javascript as js_generator;
pub fn execute_file(mut file: File, output_stream: &mut Write) {
let mut buf = String::new();
file.read_to_string(&mut buf).expect("Failed to read input file");
let tokens = lexer::lex(&buf);
let ast = parser::parse(&tokens);
let js_ast = js_transform::transform(ast);
let js_code = js_generator::generate_with_library(&js_ast);
output_stream.write(js_code.as_bytes()).ok();
}