You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Ben Hohner 8096a8a23c
Fix Typing Error in IRecognitionException (#1850)
1 month ago
.github/workflows ci: remove pnpm logout command 1 month ago
.husky build: switch from yarn v1 to pnpm (#1819) 3 months ago
examples chore(release): release v10.3.0 1 month ago
packages Fix Typing Error in IRecognitionException (#1850) 1 month ago
scripts build: use ES5 as build target 1 month ago
.czrc build: switch from yarn v1 to pnpm (#1819) 3 months ago
.eslintrc.js refactor(utils): replace with lodash (#1694) 11 months ago
.gitattributes .gitAttributes 2 years ago
.gitignore build: switch from yarn v1 to pnpm (#1819) 3 months ago
.npmrc build: ignore peer deps issues with pnpm 3 months ago
.prettierignore build: switch from yarn v1 to pnpm (#1819) 3 months ago
CONTRIBUTING.md build: switch from yarn v1 to pnpm (#1819) 3 months ago
LICENSE.txt license file 8 years ago
NOTICE.txt chore: update copyright notice (#1669) 11 months ago
README.md chore(release): release v10.3.0 1 month ago
lerna.json chore(release): release v10.3.0 1 month ago
nyc.config.js build: merged coverage report a the root of the repo (#1815) 3 months ago
package.json build: use ES5 as build target 1 month ago
pnpm-lock.yaml chore(release): release v10.3.0 1 month ago
pnpm-workspace.yaml build: switch from yarn v1 to pnpm (#1819) 3 months ago
renovate.json5 build: update vuepress 1 month ago
tsconfig.base.json build: use ES5 as build target 1 month ago
tsconfig.json chore: remove validation for redundant methods (#1847) 1 month ago

README.md

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@10.3.0/lib/chevrotain.js
      • https://unpkg.com/chevrotain@10.3.0/lib/chevrotain.min.js
      • https://unpkg.com/chevrotain@10.3.0/lib_esm/chevrotain.mjs
      • https://unpkg.com/chevrotain@10.3.0/lib_esm/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.

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

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