aboutsummaryrefslogtreecommitdiff
path: root/lib/parse.js
AgeCommit message (Expand)Author
2012-09-14more optimizations that v1 does and some cleanups...- a = a + x ==> a+=x - joining consecutive var statements (hoisting is not always desirable) - x == false ==> x == 0, x != true ==> x != 1 - x, x ==> x; x = exp(), x ==> x = exp() - discarding useless break-s Mihai Bazon
2012-09-05cleaned up usage of AST_BlockStatement...The following nodes were instances of AST_BlockStatement: AST_Scope, AST_SwitchBlock, AST_SwitchBranch. Also, AST_Try, AST_Catch, AST_Finally were having a body instanceof AST_BlockStatement. Overloading the meaning of AST_BlockStatement this way turned out to be a mess; we now have an AST_Block class that is the base class for things having a block of statements (might or might not be bracketed). The `this.body` of AST_Scope, AST_Try, AST_Catch, AST_Finally is now an array of statements (as they inherit from AST_Block). Avoiding calling superclass's _walk function in walkers (turns out we walked a node multiple times). Mihai Bazon
2012-09-03an AST_If is too a StatementWithBodyMihai Bazon
2012-09-03a LabeledStatement should be in fact a StatementWithBody...This fixes output for: if (foo) { moo: if (bar) { break moo; } } else { baz(); } (the labeled statement must be outputted inside brackets) Mihai Bazon
2012-09-03Reverting "minor perf. improvements"...Revert "minor perf. improvements" This reverts commit 24bfd55a22afd791d4a97694641831cfbd27fb14. broke the parser somehow; too early to optimize, let's get the other stuff running. Mihai Bazon
2012-09-02minor perf. improvementsMihai Bazon
2012-08-27update (c) yearsMihai Bazon
2012-08-22added licenseMihai Bazon
2012-08-21hint that brackets may be required in AST_BlockStatementMihai Bazon
2012-08-21cleaned up some mess and started the actual compressorMihai Bazon
2012-08-19simple visitor API and code to figure out scope and referencesMihai Bazon
2012-08-17code generator finally seems to work properlyMihai Bazon
2012-08-16lots'o'fixes in the output routines; still a looong way to go.Mihai Bazon
2012-08-16codegen and dropped the useless walkerMihai Bazon
2012-08-15WIPMihai Bazon
2012-06-03WIPMihai Bazon
2012-05-27Fixes some gotchas....DynarchLIB (660K) now passes parsing in 440ms (about 30% slower than the parser in UglifyJS v1). Mihai Bazon
2012-05-27init repoMihai Bazon