13. In a computing environment, a system for transforming dynamic code, the system comprising: one or more processors; one or more computer readable media coupled to the one or more processors, wherein the one or more computer readable media comprise computer executable instruction that when executed by one or more of the one or more processors cause one or more of the one or more processors to perform the following: parsing one or more first data structures to generate one or more syntax trees defining constructs in a body of dynamic language source code; from the one or more syntax trees, extracting identifier information for one or more of the defined constructs; augmenting knowledge about the constructs by at least one of explicit inspection of the body of the dynamic language source code or implied inferences related to the dynamic language source code, wherein augmenting comprises modeling the results of executing the dynamic language source code including symbolic execution, abstraction interpretation, and control and data flow analysis; producing a correlation between identifiers and augmented knowledge; using the identifier information and augmented knowledge, generating metadata about the body of dynamic language source code, the generated metadata being represented as a symbol table; traversing the one or more syntax trees to construct a hierarchical symbol table that expresses scoping of all discovered symbols of the dynamic language source code; and using the hierarchical symbol table, transforming the body of dynamic language source code comprising performing code refactoring including code partitioning to identify and rescope the discovered symbols of the dynamic language source code.
15. The system of claim 13 , wherein transforming the body of dynamic language source code comprises performing minification operations on the dynamic language source code.