Source Data Primitive Solution Lambda Lambda Lambda Lambda Context Classify Excludable Add Identifier Add Variable Count Primary Expression Augment List Add Occurrences Add Occurrences Category Add Occurrences Augment Variable Declarations Sort Primitive Values Evaluate Primitive Add Variable Declaration Examine Source Processor Weights Primary Expression Categories Prefixes Source Categories SUBSTITUTABLE LITERALS Global Wholly Examinable Walkers Source Data Directive Prologue Index Prefixed Prefixed Prefixed Walkers Transformers Solution Solution Candidate Source Data Variable Declarations Difference Original Identifier Identifier Identifier Identifier Identifier Identifier Add Identifier Add Identifier Expression Expression Expression Add Variable Source Prefixed Prefixed Prefixed Prefixed Prefixed Prefixed Prefixed Prefixed Position Position Position Position Category Variable Declaration Sort Primitive Values Evaluate Primitive Augment Variable Declarations Walker Walker Walker Walkers Transformers Add Variable Declaration Source Source Source Source Data Directive Prologue Syntax Tree Category Category Category Category Count Identifiers Primitive Values Saving Saving Saving Saving Saving Saving Primitive Values Savings Savings Savings Savings PROPERTY ACCESSOR VARIABLE DECLARATION VARIABLE STATEMENT AFFIXATION CLOSURE IDENTIFIER NAMES LITERALS LITERALS SYMBOLIC EXCLUDABLE Survey Source Examine Functions Prefixed Prefixed Prefixed cname cname cname Position letter digit unicode digit alphanumeric unicode combining mark unicode connector punctuation identifier start identifier parse js JS Parse Error js error token peek peek eof find start token token skip whitespace read parse error read num read escaped hex bytes read read line comment read multiline comment read read regexp grow read operator handle slash handle dot read word eof error token tokenizer Node Token prev croak token error unexpected expect token expect insert semicolon semicolon parenthesised add tokens tokens labeled statement simple statement cont regular block vardefs expr list property subscripts unary make unary expr op expr ops conditional assignable loop parse curry prog1 hash slice characters member HOP warn KEYWORDS RESERVED WORDS KEYWORDS EXPRESSION KEYWORDS ATOM OPERATOR CHARS HEX OCT DEC OPERATORS WHITESPACE CHARS PUNC EXPRESSION PUNC CHARS REGEXP MODIFIERS UNICODE EOF ch ch ch ch ch pos ret ret ret ret len dot num num valid digit quote octal len backslash escaped prev backslash mods bigger regex allowed word UNARY PREFIX UNARY POSTFIX ASSIGNMENT PRECEDENCE STATEMENTS LABELS ATOMIC START TOKEN ctx start start ast dir stat stat statement init test step lhs obj loop cond body body cur block newexp atom expr atom type val val op prec expr expr left expression args ch ch ch ch ch ch ch ch num message message line line line col col col pos pos pos token token token type type type type type val val signal eof signal eof comment pred err prefix prefix regexp op op eof error cont cont force regexp str str str start start start end end punc parser label init init closing trailing comma empty expr expr expr calls calls tag left min prec exigent mode tokens ret obj prop ch ch ch ch ch ch ch ch ch ch ch ch ch ch ch ch ch ch ch ch num num num num num UNARY POSTFIX UNARY POSTFIX KEYWORDS EXPRESSION PUNC EXPRESSION WHITESPACE CHARS err valid valid digit ret ret KEYWORDS KEYWORDS OPERATORS OPERATORS bigger bigger word word word word word word word KEYWORDS ATOM eof error force regexp PUNC CHARS OPERATOR CHARS type type type token val val val punc start start parenthesised semicolon semicolon semicolon semicolon semicolon semicolon body body body statement statement statement statement expression expression expression expression expression label label STATEMENTS LABELS stat init init init init test step lhs obj obj cond belse loop bcatch bfinally newexp args expect expect calls calls calls calls calls calls calls calls calls ATOMIC START TOKEN atom closing closing expr expr expr expr expr expr expr UNARY PREFIX tag op op prec left left left min prec ASSIGNMENT prop letter combining mark connector punctuation digit message line line line line col col col col pos pos pos pos pos pos stack tokpos tokpos tokline tokline tokcol tokcol newline newline newline newline regex allowed regex allowed regex allowed regex allowed comments comments comments type endpos nlb nlb context start end input token token token token token prev prev peeked peeked peeked peeked directives directives directives loop loop loop labels tokenizer parse slice curry member hash PRECEDENCE KEYWORDS ATOM RESERVED WORDS KEYWORDS ATOMIC START TOKEN OPERATORS alphanumeric identifier start identifier logger vardefs vardefs vardefs vardefs block walk dive walkers stack ast walker Scope base54 digits mangled JSON mangled mangle mangled mangled references define define active directive scope reference lambda lambda lambda breacont breacont fixrefs ast add scope define scope scope ast mangle warn stat aborts expr empty evaluate warn unreachable redo redo lambda redo block prepare ifs stop restart found unary binary side effects body toplevel ast lift variables ast squeeze negate make real conditional make conditional rmblock tighten make abort make real squeeze 1 lambda squeeze 2 make ascii encode make indent indent add spaces add commas parenthesize parens make num make make semicolon make block statements make block make block make 1vardef gen code current split custom split lines repeat defaults identifier HOP doit Splice jsp curry slice member identifier PRECEDENCE OPERATORS walkers user stack type type gen gen ret ret ret ret ret ret ret ret ret ret ret ret ret save save DIGITS base base54 current scope walk walk walk walk walk walk walk defun defun origin scope scope ast $NOT CONSTANT left left left val val val val val val lval constant fi conditional body hash hash names op tmp block node Ops DOT CALL PARENS dq sq code code code SPLICE BRACKETS beautify indentation newline space str make call wrapped args obj parens stat body splits token split tok skip defs defs defs defs statements statements statements statements statements statements ast ast ast ast ast ast ast ast ast ast ast ast walkers cont cont cont cont cont type type args args args args args args args body body body body body body body body body body label label scope Mangle extra options options options options options ast1 ast2 expr expr expr expr node node op op handler env block block type cond str str str str str str ascii line incr num keyword parens noindent def tok tok code max line obj prop val val defs defs defs defs defs defs statements statements statements statements statements statements statements statements statements walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk walk expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr expr ctor ctor args args args args args args args args args body body body body body body body body body body body body body body body body body body body body body body cond cond cond cond cond cond lvalue lvalue lvalue lvalue rvalue rvalue rvalue rvalue conditional init init step step block block block block block block block block block block block block vvar vvar hash hash hash left left left left left left left left left left left left left left left left left left left left left left left left left left left left subscript subscript props props stat stat stat stat stat stat ast ast ast ast ast ast ast ast ast ast ast ast ast ast ast ast ast ast ast ast walkers save mname dir dir dir dir dir type type current scope current scope options options options options options Mangle extra extra label label label label ast1 val val val val val stop restart make real conditional cur cur st st st st ret ret ret ret ret ret ret ret num num num num MAP MAP str str str DOT CALL PARENS SPLICE BRACKETS line newline newline newline newline make 1vardef make 1vardef tr fi func func condition condition operator OPERATORS OPERATORS rx stmt make make code code indent split tok tok pos obj prop walk dive walkers names names mangled rev mangled cname refs directives children level level labels body scope scope label mangle toplevel defines functions make seqs dead code warnings comps unsafe indent start indent level quote keys space colon beautify ascii inline script context splice skip ast walker ast mangle ast squeeze ast lift variables gen code ast add scope logger make split lines MAP ast squeeze scope lambda ast squeeze jsp pro slice member curry MAP PRECEDENCE OPERATORS walk save cont args body ast MAP MAP body body walk walk ast ast squeeze stat instrument test jsp pro ast analyzing ast code foo bar baz code code code ast ast beautify uglify jsp pro ast code orig code options orig code ast ast ast parser uglify consolidator exports