Chevrotain

Parser Building Toolkit for JavaScript
GitHub
2.51k
Created 10 years ago, last commit 2 months ago
70 contributors
2.34k commits
Stars added on GitHub, month by month
N/A
N/A
N/A
N/A
N/A
N/A
12
1
2
3
4
5
6
7
8
9
10
11
2023
2024
Stars added on GitHub, per day, on average
Yesterday
=
Last week
+0.6
/day
Last month
+0.4
/day
npmPackage on NPM
Monthly downloads on NPM
12
1
2
3
4
5
6
7
8
9
10
11
2023
2024
README

Discussions npm npm Continuous Integration styled with prettier Commitizen friendly

Chevrotain

TLDR

Introduction

Chevrotain is a blazing fast and feature rich Parser Building Toolkit for JavaScript with built-in support for LL(K). Grammars and 3rd party plugin for LL(*) 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 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

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:

  1. HyperFormula

    • HyperFormula is an open source, spreadsheet-like calculation engine
    • source
  2. Langium

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

    • A Prettier Plugin for Java
    • source
  4. JHipster Domain Language

    • 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
  5. Argdown

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