<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Esprima</title> <link rel="stylesheet" type="text/css" href="assets/style.css"/> </head> <body> <div class="container"> <div class="topbar"> <ul class="nav"> <li><a href="index.html">← Home</a></li> <li><a href="http://github.com/ariya/esprima">Code</a></li> <li><a href="http://wiki.esprima.org">Documentation</a></li> <li><a href="http://issues.esprima.org">Issues</a></li> </ul> </div> <h1>Esprima <small>ECMAScript parsing infrastructure for multipurpose analysis</small></h1> <div class="main"> <p>Esprima (<a href="http://esprima.org">esprima.org</a>) is an educational <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ECMAScript</a> (also popularly known as <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a>) parsing infrastructure for multipurpose analysis. It is also written in ECMAScript.</p> <p>Esprima can be used in a web browser:</p> <pre><script src="esprima.js"><script></pre> <p>or in a Node.js application via the package manager:</p> <pre>npm install esprima</pre> <p>Esprima parser output is compatible with Mozilla (SpiderMonkey) <a href="https://developer.mozilla.org/en/SpiderMonkey/Parser_API">Parser API</a>.</p> <p>A very simple example:</p> <pre>esprima.parse('var answer=42').body[0].declarations[0].init</pre> <p>produces the following object:</p> <pre>{ type: 'Literal', value: 42 }</pre> <p>Esprima is still in the development, for now please check <a href="http://wiki.esprima.org">the wiki documentation</a>.</p> <p>Since it is not comprehensive nor complete, refer to the <a href="http://issues.esprima.org">issue tracker</a> for <a href="http://code.google.com/p/esprima/issues/list?q=Defect">known problems</a> and <a href="http://code.google.com/p/esprima/issues/list?q=Enhancement">future plans</a>. Esprima is supported on <a href="http://code.google.com/p/esprima/wiki/BrowserCompatibility">many browsers</a>: IE 6+, Firefox 1+, Safari 3+, Chrome 1+, and Opera 8+.</p> <p>Feedback and contribution are welcomed! Please join the <a href="http://groups.google.com/group/esprima">mailing list</a> and read the <a href="http://code.google.com/p/esprima/wiki/ContributionGuide">contribution guide</a> for further info.</p> </div> <div class="sidebar"> <h3>Useful demos</h3> <ul> <li><a href="demo/parse.html">Code parser</a></li> <li><a href="demo/precedence.html">Operator precedence</a></li> <li><a href="demo/collector.html">Regex collector</a></li> <li><a href="demo/functiontrace.html">Function tracing</a></li> </ul> <h3>Harness tests</h3> <ul> <li><a href="test/index.html">Unit tests</a></li> <li><a href="test/compat.html">Compatibility tests</a></li> </ul> <h3>Need for speed</h3> <ul> <li><a href="test/benchmarks.html">Benchmarks suite</a></li> <li><a href="test/compare.html">Speed comparison</a></li> </ul> </div> <br clear="all"/> <div class="footer"><strong>Esprima</strong> is created by <a href="http://ariya.ofilabs.com/about" target="_blank">Ariya Hidayat</a>. Follow <a href="http://twitter.com/ariyahidayat">@ariyahidayat</a> on Twitter. </div> </div> <a href="http://github.com/ariya/esprima"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://a248.e.akamai.net/assets.github.com/img/e6bef7a091f5f3138b8cd40bc3e114258dd68ddf/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67" alt="Fork me on GitHub"></a> </body> </html>