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:
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.
- 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
5. Argdown
- Argdown is a simple syntax for analyzing complex argumentation.
- source