This is a Javascript compressor/decompressor and can remove comments; add/remove whitespace; and compress variable names from Javascript code.
When removing whitespace globally declared functions are always started on a new line.
WARNINGS: The program does not do comprehensive automatic semicolon insertion and so missing semicolons may produce errors in the compressed code. The HTML parsed output can help to identify any problems.
Additionally the code is expected not to contain any $ characters (except within string literals).
When compressing variable names it attempts to use the first letter of the existing name. If this fails then it uses only lower case letters starting with 'a' and increases the length as necessary until we find the shortest available name within the variable's context.