Skip to main content

a modern parsing library

Project description

Lark is a modern general-purpose parsing library for Python.

With Lark, you can parse any context-free grammar, efficiently, with very little code.

Main Features:
  • Builds a parse-tree (AST) automagically, based on the structure of the grammar

  • Earley parser
    • Can parse all context-free grammars

    • Full support for ambiguous grammars

  • LALR(1) parser
    • Fast and light, competitive with PLY

    • Can generate a stand-alone parser

  • CYK parser, for highly ambiguous grammars

  • EBNF grammar

  • Unicode fully supported

  • Automatic line & column tracking

  • Standard library of terminals (strings, numbers, names, etc.)

  • Import grammars from Nearley.js

  • Extensive test suite

  • And much more!

Since version 1.0, only Python versions 3.6 and up are supported.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lark-1.1.2.tar.gz (243.2 kB view hashes)

Uploaded source

Built Distribution

lark-1.1.2-py2.py3-none-any.whl (104.7 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page