Chevrotain

Parser Building Toolkit for JavaScript

README

Chevrotain


TLDR


- [Online Playground](https://chevrotain.io/playground/)
- [Getting Started Tutorial](https://chevrotain.io/docs/tutorial/step0_introduction.html)
- [YouTube Video: Introduction to Lexers, Parsers and Interpreters with Chevrotain](https://www.youtube.com/watch?v=l-jMsoAY64k)
- [Performance benchmark](https://chevrotain.io/performance/)

Introduction


Chevrotain is a [blazing fast](https://chevrotain.io/performance/)
and [feature rich](http://chevrotain.io/docs/features/blazing_fast.html)
Parser Building Toolkit for JavaScript with built-in support for LL(K).
Grammars and [3rd party plugin for *LL(\)](https://github.com/langium/chevrotain-allstar) grammars.
It can be used to build parsers/compilers/interpreters for various use cases ranging from simple configuration files,
to full-fledged programing languages.

Grammars are written as [pure JavaScript sources](https://chevrotain.io/docs/FAQ.html#VS_GENERATORS) without a code generation phase,

A more in depth review of Chevrotain can be found in this great article on: Parsing in JavaScript: Tools and Libraries.

Installation


- npm: npm install chevrotain
- Browser ESM bundled versions:
  These can be downloaded directly via UNPKG or other NPM cdn services, e.g.:
  - Latest:
    - https://unpkg.com/chevrotain/lib/chevrotain.mjs
    - https://unpkg.com/chevrotain/lib/chevrotain.min.mjs
  - Explicit version number:
    - https://unpkg.com/chevrotain@11.0.3/lib/chevrotain.mjs
    - https://unpkg.com/chevrotain@11.0.3/lib/chevrotain.min.mjs

Documentation & Resources



- FAQ.





Compatibility


Chevrotain will run on any modern JavaScript ES2015 runtime.
That includes nodejs maintenance/active/current version, modern major browsers,
but not legacy ES5.1 runtimes such as IE11.

Contributions


Contributions are greatly appreciated.
See CONTRIBUTING.md for details.

Where used


A small-curated list:


   - HyperFormula is an open source, spreadsheet-like calculation engine
   - source


   - Langium is a language engineering tool with built-in support for the Language Server Protocol.


   - A Prettier Plugin for Java
   - source


   - The JDL is a JHipster-specific domain language where you can describe all your applications, deployments, entities
     and their relationships in a single file (or more than one) with a user-friendly syntax.
   - source

   - Argdown is a simple syntax for analyzing complex argumentation.
   - source