123456789101112131415161718192021222324252627282930 |
- #! /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
- }));
|