diff --git a/lib/scope.js b/lib/scope.js index b519ddbe..84c65759 100644 --- a/lib/scope.js +++ b/lib/scope.js @@ -552,21 +552,20 @@ AST_Toplevel.DEFMETHOD("compute_char_frequency", function(options) { }); var nameGenerator = (function() { - var freq = Object.create(null); function init(chars) { var array = []; for (var i = 0; i < chars.length; i++) { var ch = chars[i]; array.push(ch); - freq[ch] = -1e-2 * i; + frequency[ch] = -1e-2 * i; } return array; } - var trailing = init("0123456789"); - var leading = init("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_"); - var chars, frequency; + var chars, frequency, trailing, leading; function reset(options) { - frequency = Object.create(freq); + frequency = Object.create(null); + trailing = init(options.trailing_character_set); + leading = init(options.leading_character_set); } nameGenerator.consider = function(str, delta) { for (var i = str.length; --i >= 0;) { @@ -581,13 +580,13 @@ var nameGenerator = (function() { }; nameGenerator.reset = reset; function nameGenerator(num) { - var ret = "", base = 54; + var ret = "", base = leading.length; num++; do { num--; ret += chars[num % base]; num = Math.floor(num / base); - base = 64; + base = leading.length + trailing.length; } while (num > 0); return ret; }