Parser Building Toolkit for JavaScript
Permalink
Failed to load latest commit information.
.idea Labels for CST nonTerminal nodes are no longer lost in recovery. Jul 20, 2018
benchmark_web Update performance benchmark to version 4.0 breakking changes. Sep 25, 2018
diagrams update prettier version. Jun 1, 2018
docs release 4.1.0 Sep 28, 2018
examples Update webpack in group default to the latest version πŸš€ (#833) Oct 17, 2018
scripts Run CI tasks in parallel. Oct 3, 2018
src Docs for parser traits. Oct 17, 2018
test Splitting up the Parser to different traits (#830) Oct 15, 2018
test_integration No Token Vector input for Parser Constructor (#823) Sep 25, 2018
.gitignore vuepress based docs website. (#701) Apr 24, 2018
.prettierignore Run CI tasks in parallel. Oct 3, 2018
.travis.yml Remove browser tests from CI. Oct 3, 2018
BREAKING_CHANGES.md vuepress based docs website. (#701) Apr 24, 2018
CHANGELOG.md vuepress based docs website. (#701) Apr 24, 2018
CONTRIBUTING.md Update CONTRIBUTING.md Oct 17, 2018
LICENSE.txt license file Mar 4, 2015
NOTICE.txt Update NOTICE.txt Feb 4, 2018
api.d.ts No Token Vector input for Parser Constructor (#823) Sep 25, 2018
greenkeeper.json Update dependencies to enable Greenkeeper 🌴 (#806) Sep 9, 2018
gruntfile.js Develop APIs separately. (#714) May 20, 2018
karma.conf.js Windows OS list of browsers for karma tests. Oct 18, 2018
package.json Windows OS list of browsers for karma tests. Oct 18, 2018
readme.md Remove browser tests from CI. Oct 3, 2018
tsconfig.json Automatic line terminator handling. (#757) Jun 20, 2018
tslint.json Update dependencies to enable Greenkeeper 🌴 (#806) Sep 9, 2018
webpack_release.config.js Fix Chevrotain UMD bundle not usable under node.js Jun 5, 2018
webpack_release_min.config.js Fix Chevrotain UMD bundle not usable under node.js Jun 5, 2018
webpack_specs.config.js Update Webpack version. (#713) May 17, 2018
yarn.lock Windows OS list of browsers for karma tests. Oct 18, 2018

readme.md

Join the chat at https://gitter.im/chevrotain-parser/Lobby npm Build Status Coverage Status Dependency status styled with prettier Greenkeeper badge

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
    • Explicit version number:
      • https://unpkg.com/chevrotain@4.1.0/lib/chevrotain.js
      • https://unpkg.com/chevrotain@4.1.0/lib/chevrotain.min.js

Documentation & Resources

Dependencies

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

Compatibility

Chevrotain runs on any modern JavaScript ES5.1 runtime. That includes any modern nodejs version, modern browsers and even 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: