All Projects → Chevrotain → Chevrotain

Chevrotain / Chevrotain

Licence: apache-2.0
Parser Building Toolkit for JavaScript

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Chevrotain

Jflex
The fast scanner generator for Java™ with full Unicode support
Stars: ✭ 380 (-78.83%)
Mutual labels:  tokenizer, lexer, parsing
autumn
A Java parser combinator library written with an unmatched feature set.
Stars: ✭ 112 (-93.76%)
Mutual labels:  grammars, parsing, parser-library
ohm-editor
An IDE for the Ohm language (JavaScript edition)
Stars: ✭ 78 (-95.65%)
Mutual labels:  grammars, parsing
Covfefe
A parser for nondeterministic context free languages
Stars: ✭ 49 (-97.27%)
Mutual labels:  parsing, parser-library
Lexmachine
Lex machinary for go.
Stars: ✭ 335 (-81.34%)
Mutual labels:  tokenizer, lexer
lex
Lex is an implementation of lex tool in Ruby.
Stars: ✭ 49 (-97.27%)
Mutual labels:  tokenizer, lexer
left-recursion
Quick explanation of eliminating left recursion in Haskell parsers
Stars: ✭ 36 (-97.99%)
Mutual labels:  grammars, parsing
Kgt
BNF wrangling and railroad diagrams
Stars: ✭ 312 (-82.62%)
Mutual labels:  parser-library, parsing
metal
A Java library for parsing binary data formats, using declarative descriptions.
Stars: ✭ 13 (-99.28%)
Mutual labels:  parsing, parser-library
Moo
Optimised tokenizer/lexer generator! 🐄 Uses /y for performance. Moo.
Stars: ✭ 434 (-75.82%)
Mutual labels:  tokenizer, lexer
Php Parser
🌿 NodeJS PHP Parser - extract AST or tokens (PHP5 and PHP7)
Stars: ✭ 400 (-77.72%)
Mutual labels:  tokenizer, lexer
Snl Compiler
SNL(Small Nested Language) Compiler. Maven jUnit Tokenizer Lexer Syntax Parser. 编译原理 词法分析 语法分析
Stars: ✭ 19 (-98.94%)
Mutual labels:  tokenizer, lexer
SwiLex
A universal lexer library in Swift.
Stars: ✭ 29 (-98.38%)
Mutual labels:  tokenizer, lexer
sb-dynlex
Configurable lexer for PHP featuring a fluid API.
Stars: ✭ 27 (-98.5%)
Mutual labels:  parsing, lexer
bredon
A modern CSS value compiler in JavaScript
Stars: ✭ 39 (-97.83%)
Mutual labels:  tokenizer, lexer
snapdragon-lexer
Converts a string into an array of tokens, with useful methods for looking ahead and behind, capturing, matching, et cetera.
Stars: ✭ 19 (-98.94%)
Mutual labels:  tokenizer, lexer
pascal-interpreter
A simple interpreter for a large subset of Pascal language written for educational purposes
Stars: ✭ 21 (-98.83%)
Mutual labels:  tokenizer, lexer
lexertk
C++ Lexer Toolkit Library (LexerTk) https://www.partow.net/programming/lexertk/index.html
Stars: ✭ 26 (-98.55%)
Mutual labels:  tokenizer, lexer
re-typescript
An opinionated attempt at finally solving typescript interop for ReasonML / OCaml.
Stars: ✭ 68 (-96.21%)
Mutual labels:  parsing, lexer
Logos
Create ridiculously fast Lexers
Stars: ✭ 1,001 (-44.23%)
Mutual labels:  lexer, parsing

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:

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

Some interesting samples:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].