Lark.js - a port of the Lark parsing toolkit to Javascript
Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.
With Lark.js, you create a fast Javascript parser from a grammar written for Lark.
The compiled Javascript modules include Lark's base classes and utilities, such as Tree, Transformer, and InteractiveParser.
Currently, only LALR(1) is supported. (Earley support is planned!)
Quick links
Install Lark.js
$ pip install lark-js --upgrade
Generate a Javascript LALR(1) parser
python -m lark-js my_grammar.lark -o my_parser.js
For help, run:
python -m lark-js --help
Syntax Highlighting
Lark provides syntax highlighting for its grammar files (*.lark):
List of main features
- Builds a parse-tree (AST) automagically, based on the structure of the grammar
- LALR(1) parser - Fast and light
- EBNF grammar
- Usable in the browser and in Node
- Automatic line & column tracking
- Standard library of terminals (strings, numbers, names, etc.)
- Import grammars from Nearley.js (read more)
- And much more!
License
Lark.js uses the MIT license.
Contribute
Lark.js is accepting pull-requests. If you would like to help, open an issue or find us on gitter.
Sponsoring
Lark.js was made possible with the help of a generous donation by Smore ❤️
If you like Lark, and want to see it grow, please consider sponsoring us!
Metadata
Release files for larkjs 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Larkjs-0.0.2.tar.gz | 33.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Larkjs-0.0.2-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 67.4 kB
Release files / Larkjs-0.0.2.tar.gz
| Download URL | Larkjs-0.0.2.tar.gz |
|---|---|
| Size | 33.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
efd2ef487d3a9d9eb89adf8991bcb281809355f33830e3c9600ad0ae7ec742c7
|
|
BLAKE2b-256 checksum How to use checksums |
0ab0d3dba5508be284ce6167bdc845150ee9eeaeee18f1aa026aff1edafc5e8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.7 CPython/3.8.2 Windows/10
|
Release files / Larkjs-0.0.2-py2.py3-none-any.whl
| Download URL | Larkjs-0.0.2-py2.py3-none-any.whl |
|---|---|
| Size | 33.9 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
da03639dc5459006e07ca62a01ad4327b1596fd1f17fe57916499b66b94a465b
|
|
BLAKE2b-256 checksum How to use checksums |
1190ad90ce3c8174a79186e1a1c706e447ecb672b8a9f92202ee0dc195637dbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.7 CPython/3.8.2 Windows/10
|