JSPM

  • Created
  • Published
  • Downloads 8017329
  • Score
    100M100P100Q247788F
  • License Apache-2.0

Chevrotain is a high performance fault Tolerant Javascript parsing DSL for building recursive decent parsers

Package Exports

  • chevrotain

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (chevrotain) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

npm version Build Status Coverage Status Dependency status devDependency Status

Chevrotain

Chevrotain is a Javascript parsing DSL for building fault tolerant recursive decent parsers.

Chevrotain is NOT a parser generator. it solves the same kind of problems as a parser generator, just without any code generation phase.

---> Try it online <---

Features

  • Lexer engine based on RexExps.

    • Supports Token location tracking.
    • Supports Token skipping (whitespace/comments/...)
    • Allows prioritising shorter matches (Keywords vs Identifiers).
    • No code generation The Lexer does not require any code generation phase.
  • Parsing DSL for creating the parsing rules.

    • No code generation
      • The DSL is just javascript not an external language, what is written is what will be run.
      • Speeds up development,
      • Makes debugging trivial.
      • Allows great flexibility for inserting custom Parser actions.
    • Error Reporting with full location information.
    • Strong Error Recovery/fault tolerance capabilities based on Antlr3's algorithms.
    • Automatic lookahead calculation for LL(1) grammars.
    • Supports Custom lookahead logic for LL(k) grammars.
    • Backtracking support.
  • High performance.

  • Grammar Reflection/Introspection

    • A Parser's grammar's structure is known and exposed at runtime.
    • Can be used to implement advanced features such as dynamically generated syntax diagrams or Syntactic error recovery.
  • Well tested with ~100% code coverage, Unit & Integration tests

Installation

  • npm: npm install chevrotain
  • Bower bower install chevrotain
  • or download directly from github releases:
    • the 'chevrotain-binaries-...' files contain the compiled javascript code.

Getting Started

Documentation

Dependencies

Only a single dependency to lodash.

Compatibility

The Generated artifact(chevrotain.js) should run on any modern Javascript ES5.1 runtime.

  • The CI build runs the tests under
    • Node.js (0.10 / 0.12 / 4 / 5).
    • latest Chromium
    • latest Firefox
  • Additionally local testing is done on latest versions of Chrome/Firefox/IE.
  • Uses UMD to work with common module loaders (browser global / require.js / node.js)