Skip to content

frederikchrlarsen/chevrotain

 
 

Repository files navigation

Discussions npm npm Continuous Integration styled with prettier Commitizen friendly

Chevrotain

Introduction

Chevrotain is a blazing fast and feature rich Parser Building Toolkit for JavaScript. It can be used to build parsers/compilers/interpreters for various use cases ranging from simple configuration files, to full fledged programing languages.

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

It is important to note that Chevrotain is NOT a parser generator. It solves the same kind of problems as a parser generator, just without any code generation. Chevrotain Grammars are pure code which can be created/debugged/edited as any other pure code without requiring any new tools or processes.

TLDR

Installation

  • npm: npm install chevrotain
  • Browser: The npm package contains Chevrotain as concatenated and minified files ready for use in a browser. These can also be accessed directly via UNPKG in a script tag.
    • Latest:
      • https://unpkg.com/chevrotain/lib/chevrotain.js
      • https://unpkg.com/chevrotain/lib/chevrotain.min.js
      • https://unpkg.com/chevrotain/lib_esm/chevrotain.mjs
      • https://unpkg.com/chevrotain/lib_esm/chevrotain.min.mjs
    • Explicit version number:
      • https://unpkg.com/chevrotain@9.1.0/lib/chevrotain.js
      • https://unpkg.com/chevrotain@9.1.0/lib/chevrotain.min.js
      • https://unpkg.com/chevrotain@9.1.0/lib_esm/chevrotain.mjs
      • https://unpkg.com/chevrotain@9.1.0/lib_esm/chevrotain.min.mjs

Documentation & Resources

Dependencies

There is a single dependency (outside this monorepo) to regexp-to-ast library. This dependency is included in the bundled artifacts, for ease of consumption in browsers.

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.

  • Uses UMD to work with common module loaders (browser global / amd / commonjs).

Contributions

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

Where used

Some interesting samples:

About

Parser Building Toolkit for JavaScript

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 82.0%
  • JavaScript 16.2%
  • HTML 1.2%
  • Other 0.6%