#! /usr/bin/env node
global.sys = require(/^v0\.[012]/.test(process.version) ? "sys" : "util");
var fs = require("fs");
var uglify = require("uglify-js"), // symlink ~/.node_libraries/uglify-js.js to ../uglify-js.js
jsp = uglify.parser,
pro = uglify.uglify;
var code = fs.readFileSync("hoist.js", "utf8");
var ast = jsp.parse(code);
ast = pro.ast_lift_variables(ast);
var w = pro.ast_walker();
ast = w.with_walkers({
"function": function() {
var node = w.dive(this); // walk depth first
console.log(pro.gen_code(node, { beautify: true }));
return node;
},
"name": function(name) {
return [ this[0], "X" ];
}
}, function(){
return w.walk(ast);
});
console.log(pro.gen_code(ast, {
beautify: true
}));
|