http://www.perlmonks.org?node_id=117923


in reply to Re: Re: Re: Re: Compressing/Obfuscating a Javascript file
in thread Compressing/Obfuscating a Javascript file

Herein you strike the basic problem. To do this correctly you need a complete tokenisation/lexical analysis. As even Netscape and M$ do not agree on what constitutes valid code this is an interesting task. However I am not interested :-)

If you are happy that a function definition will generally start on a line by itself then option 2 is the go. This will leave named nested functions alone which would not seem to be a major deal. You either make a compromise and be happy that you can parse a say 99% subset of all legal code with a simple rules based system or you get the sourcecode of a javascript interpretter, and hack into the guts of it.

I once wrote some code to strip the comments out of Perl code and condense it down. It ended up about 70K and 1000 lines long, and will still fail in some specific *rare* cases (but it will strip the entire standard distro :-) It would have been quicker to hack to perl source I think. You can have a look to see how over the top it can get here

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print