You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1009 B
28 lines
1009 B
#! /usr/bin/env node |
|
|
|
global.sys = require("sys"); |
|
var fs = require("fs"); |
|
|
|
var jsp = require("../lib/parse-js"); |
|
var pro = require("../lib/process"); |
|
|
|
var filename = process.argv[2]; |
|
fs.readFile(filename, "utf8", function(err, text){ |
|
try { |
|
var ast = time_it("parse", function(){ return jsp.parse(text); }); |
|
ast = time_it("mangle", function(){ return pro.ast_mangle(ast); }); |
|
ast = time_it("squeeze", function(){ return pro.ast_squeeze(ast); }); |
|
var gen = time_it("generate", function(){ return pro.gen_code(ast, false); }); |
|
sys.puts(gen); |
|
} catch(ex) { |
|
sys.debug(ex.stack); |
|
sys.debug(sys.inspect(ex)); |
|
sys.debug(JSON.stringify(ex)); |
|
} |
|
}); |
|
|
|
function time_it(name, cont) { |
|
var t1 = new Date().getTime(); |
|
try { return cont(); } |
|
finally { sys.debug("// " + name + ": " + ((new Date().getTime() - t1) / 1000).toFixed(3) + " sec."); } |
|
};
|
|
|