Age | Commit message (Collapse) | Author | |
---|---|---|---|
2012-10-11 | cleanup | Mihai Bazon | |
- use prototype-less objects where feasible (minor speed improvement) - get rid of HOP | |||
2012-10-11 | fix propagation of symbol references | Mihai Bazon | |
2012-10-10 | seems cleaner if AST_Label doesn't inherit from AST_SymbolDeclaration | Mihai Bazon | |
2012-10-10 | add `--lint` and display {file} in scope_warnings | Mihai Bazon | |
2012-10-09 | added $propdoc to AST nodes and some cleanups | Mihai Bazon | |
hopefully we can make the AST documentation self-generating | |||
2012-10-08 | should not expose base54.sort() in the API docs, I think | Mihai Bazon | |
2012-10-05 | prevent mangling only when eval is *called*, not when it's just referenced | Mihai Bazon | |
2012-10-04 | removed some unused variables | Mihai Bazon | |
2012-10-03 | more cleanup (dropped AST_SwitchBlock) | Mihai Bazon | |
2012-10-02 | option to exclude certain names from mangling | Mihai Bazon | |
2012-10-02 | support defines | Mihai Bazon | |
2012-10-02 | "use strict"; | Mihai Bazon | |
2012-10-02 | add AST_SymbolConst for names defined with `const` | Mihai Bazon | |
2012-10-02 | a shy attempt to obey `width` in the beautifier; added `bracketize` option ↵ | Mihai Bazon | |
to always print brackets around if/do/while/for statements; export more options via the CLI | |||
2012-09-28 | minor | Mihai Bazon | |
2012-09-27 | fix mangling | Mihai Bazon | |
(bug in our code prevented the mangler from using a name that was in use prior to mangling but not after it) | |||
2012-09-23 | properly drop mutually-referring declarations that are not otherwise | Mihai Bazon | |
referenced and have no side effects | |||
2012-09-21 | better support for multiple input files: | Mihai Bazon | |
- use a single AST_Toplevel node for all files - keep original source filename in the tokens | |||
2012-09-19 | drop unused variables | Mihai Bazon | |
2012-09-18 | fixed label scope/mangling | Mihai Bazon | |
2012-09-18 | minor | Mihai Bazon | |
2012-09-18 | support for directives | Mihai Bazon | |
2012-09-15 | figure out label targets | Mihai Bazon | |
2012-09-11 | fixed some mess with symbols/scope | Mihai Bazon | |
- all symbols now have a `thedef` property which is a SymbolDef object, instead of the `uniq` that we had before (pointing to the first occurrence of the name as declaration). - for undeclared symbols we still create a SymbolDef object in the toplevel scope but mark it "undeclared" - we can now call figure_out_scope after squeezing, which is useful in order not to mangle names that were dropped by the squeezer | |||
2012-09-11 | checkpoint | Mihai Bazon | |
- discard statements with no side effects (unsafe? could be) - safer hoist_vars (needs some revamping of scope/mangling) | |||
2012-09-10 | adaptive base54 digits depending on char frequency (WIP) | Mihai Bazon | |
2012-09-05 | fix for variable names like `toString` | Mihai Bazon | |
2012-09-05 | cleaned up usage of AST_BlockStatement | Mihai Bazon | |
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). | |||
2012-09-04 | checkpoint | Mihai Bazon | |
2012-08-29 | don't mangle names of setters/getters | Mihai Bazon | |
2012-08-27 | update (c) years | Mihai Bazon | |
2012-08-22 | added license | Mihai Bazon | |
2012-08-22 | declare some properties in the node constructor so that they're copied in clone | Mihai Bazon | |
2012-08-21 | hint that brackets may be required in AST_BlockStatement | Mihai Bazon | |
2012-08-21 | cleaned up some mess and started the actual compressor | Mihai Bazon | |
2012-08-21 | some reorganization | Mihai Bazon | |
(moved pretty much everything that relates to scope in scope.js, added a module for NodeJS that can be used with require() and exports everything.) | |||
2012-08-21 | handle labels properly | Mihai Bazon | |
(they can't be handled the same way as variables in a scope) | |||
2012-08-21 | warn about unreferenced symbols | Mihai Bazon | |
2012-08-21 | more fixes: | Mihai Bazon | |
- added walker for AST_ObjectProperty - handle redefinitions properly (only mangle one symbol, make them all point to a single definition) DynarchLIB seems to run fine after mangling + compressed output. | |||
2012-08-20 | added mangler and other stuff | Mihai Bazon | |
2012-08-20 | doc (WIP) | Mihai Bazon | |
2012-08-19 | simple visitor API and code to figure out scope and references | Mihai Bazon | |