Outdated parser which was created from JDT’s Java parser and supported only by JSDT committers:
-
obsolete (support only ECMASCript 3 (1999) / false errors / broken content assist etc.)
-
no commynity support
-
DOM AST model / hard to replace (ASTNode ~ 4000 references)
Esprima is used as JSDT parser:
-
written in JavaScript
-
supported by commynity (JQuery foundation)
-
tolerant parsing support
-
Nashorn (part of Java 8) is used for running in JSDT (transformation to internal AST is required)
-
relatively fast (benchmarks results)
-
slow with parsing big files (> 2 mb) first time (due to Nashorn perfomance / after JIT optimize it it becomes better)
Closure compiler:
-
written in Java (no integration problem - no need to use Nashorn)
-
fast ( > 10x faster than Esprima)
-
active community
-
tolerant parsing support
-
approved by Eclipse Intellectual Property (IP) team
-
converting from Closure Internal Representation to JSDT DOM AST model is required (might be time consuming)