Go to file
2019-03-14 16:42:49 +00:00
.gitattributes Accepting request 685011 from home:mimi_vx 2019-03-14 12:52:09 +00:00
.gitignore Accepting request 685011 from home:mimi_vx 2019-03-14 12:52:09 +00:00
fix_version.patch Accepting request 685011 from home:mimi_vx 2019-03-14 12:52:09 +00:00
LICENSE Accepting request 685011 from home:mimi_vx 2019-03-14 12:52:09 +00:00
pyjsparser-2.5.2.tar.gz Accepting request 685011 from home:mimi_vx 2019-03-14 12:52:09 +00:00
python-pyjsparser.changes Accepting request 685071 from home:jengelh:branches:devel:languages:python 2019-03-14 16:42:49 +00:00
python-pyjsparser.spec Accepting request 685071 from home:jengelh:branches:devel:languages:python 2019-03-14 16:42:49 +00:00
README.md Accepting request 685011 from home:mimi_vx 2019-03-14 12:52:09 +00:00

pyjsparser

Fast JavaScript parser - manual translation of esprima.js to python. Takes 1 second to parse whole angular.js library so parsing speed is about 100k characters per second which makes it the fastest and most comprehensible JavaScript parser for python out there.

Supports whole ECMAScript 5.1 and parts of ECMAScript 6. If you need full ECMA 6 support I recomment trying out this parser by Kronuz.

Installation

pip install pyjsparser

Example

>>> from pyjsparser import PyJsParser
>>> p = PyJsParser()
>>> p.parse('var $ = "Hello!"')
{
"type": "Program",
"body": [
    {
        "type": "VariableDeclaration",
        "declarations": [
            {
                "type": "VariableDeclarator",
                "id": {
                    "type": "Identifier",
                    "name": "$"
                },
                "init": {
                    "type": "Literal",
                    "value": "Hello!",
                    "raw": '"Hello!"'
                }
            }
        ],
        "kind": "var"
    }
  ]
}