Metadata-Version: 1.1
Name: esprima
Version: 4.0.0.dev5
Summary: ECMAScript parsing infrastructure for multipurpose analysis in Python
Home-page: https://github.com/Kronuz/esprima-python
Author: German M. Bravo (Kronuz)
Author-email: german.mb@gmail.com
License: BSD License
Description: |PyPI version| |PyPI downloads|
        
        **Esprima** (`esprima.org <http://esprima.org>`__, BSD license) is a
        high performance, standard-compliant
        `ECMAScript <http://www.ecma-international.org/publications/standards/Ecma-262.htm>`__
        parser officially written in ECMAScript (also popularly known as
        `JavaScript <https://en.wikipedia.org/wiki/JavaScript>`__) and ported to
        Python. Esprima is created and maintained by `Ariya
        Hidayat <https://twitter.com/ariyahidayat>`__, with the help of `many
        contributors <https://github.com/jquery/esprima/contributors>`__.
        
        Python port is a line-by-line manual translation and was created and is
        maintained by `German Mendez Bravo
        (Kronuz) <https://twitter.com/germbravo>`__.
        
        Features
        ~~~~~~~~
        
        -  Full support for ECMAScript 2017 (`ECMA-262 8th
           Edition <http://www.ecma-international.org/publications/standards/Ecma-262.htm>`__)
        -  Sensible `syntax tree
           format <https://github.com/estree/estree/blob/master/es5.md>`__ as
           standardized by `ESTree project <https://github.com/estree/estree>`__
        -  Experimental support for `JSX <https://facebook.github.io/jsx/>`__, a
           syntax extension for `React <https://facebook.github.io/react/>`__
        -  Optional tracking of syntax node location (index-based and
           line-column)
        -  `Heavily tested <http://esprima.org/test/ci.html>`__ (~1500 `unit
           tests <https://github.com/jquery/esprima/tree/master/test/fixtures>`__
           with `full code
           coverage <https://codecov.io/github/jquery/esprima>`__)
        
        Installation
        ~~~~~~~~~~~~
        
        .. code:: shell
        
            pip install esprima
        
        API
        ~~~
        
        Esprima can be used to perform `lexical
        analysis <https://en.wikipedia.org/wiki/Lexical_analysis>`__
        (tokenization) or `syntactic
        analysis <https://en.wikipedia.org/wiki/Parsing>`__ (parsing) of a
        JavaScript program.
        
        A simple example:
        
        .. code:: python
        
            >>> import esprima
            >>> program = 'const answer = 42'
        
            >>> esprima.tokenize(program)
            [{ type: "Keyword", value: "const" },
             { type: "Identifier", value: "answer" },
             { type: "Punctuator", value: "=" },
             { type: "Numeric", value: "42" }]
        
            >>> esprima.parseScript(program)
            { body: [{ kind: "const", declarations: [{ init: { raw: "42", type: "Literal", value: 42 }, type: "VariableDeclarator", id: { type: "Identifier", name: "answer" } }], type: "VariableDeclaration" }], type: "Program", sourceType: "script" }
        
        For more information, please read the `complete
        documentation <http://esprima.org/doc>`__.
        
        .. |PyPI version| image:: https://img.shields.io/pypi/v/esprima.svg
           :target: https://pypi.python.org/pypi/esprima
        .. |PyPI downloads| image:: https://img.shields.io/pypi/dm/esprima.svg
           :target: https://pypi.python.org/pypi/esprima
Keywords: esprima ecmascript javascript parser ast
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Compilers
Classifier: Topic :: Text Processing :: General
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
