esliveness
Variable liveness analysis for ECMAScript (JavaScript) based on Mozilla's Parser API AST.
Compatible with https://github.com/estools
Usage
// Create AST and control-flow graphvar ast = esprima;var cfg = ; var liveness = ; liveness;var sourceWithComments = liveness;
Examples
do-while loop (test 03-loops-02.js):
// Liveness: c, write// - Kill: avar a = 0 b c;do // Liveness: a, c, write // - Gen: a // - Kill: b b = a + 1; // Liveness: b, c, write // - Gen: b, c // - Kill: c c = c + b; // Liveness: b, c, write // - Gen: b // - Kill: a a = b * 2; while // Liveness: a, c, write// - Gen: aa < 9;// Liveness: c, write// - Gen: c, write;