Metadata-Version: 1.1
Name: esprima
Version: 4.0.1
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: |Donate| |PyPI Version| |PyPI License| |PyPI Format| |PyPI Status|
        
        **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:: javascript
        
            >>> 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>`__.
        
        .. |Donate| image:: https://img.shields.io/badge/Donate-PayPal-green.svg
           :target: https://www.paypal.me/Kronuz/25
        .. |PyPI Version| image:: https://img.shields.io/pypi/v/esprima.svg
           :target: https://pypi.python.org/pypi/esprima
        .. |PyPI License| image:: https://img.shields.io/pypi/l/esprima.svg
           :target: https://pypi.python.org/pypi/esprima
        .. |PyPI Wheel| image:: https://img.shields.io/pypi/wheel/esprima.svg
           :target: https://pypi.python.org/pypi/esprima
        .. |PyPI Format| image:: https://img.shields.io/pypi/format/esprima.svg
           :target: https://pypi.python.org/pypi/esprima
        .. |PyPI Python Version| image:: https://img.shields.io/pypi/pyversions/esprima.svg
           :target: https://pypi.python.org/pypi/esprima
        .. |PyPI Implementation| image:: https://img.shields.io/pypi/implementation/esprima.svg
           :target: https://pypi.python.org/pypi/esprima
        .. |PyPI Status| image:: https://img.shields.io/pypi/status/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 :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Compilers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing :: General
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