Skip to main content

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

Build Status

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)

Source distribution for larkjs 0.0.2
File Size Uploaded
Larkjs-0.0.2.tar.gz 33.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for larkjs 0.0.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page