Coder Social home page Coder Social logo

anko / chevrotain Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chevrotain/chevrotain

0.0 3.0 0.0 7.03 MB

Javascript parsing DSL

License: Apache License 2.0

CSS 0.30% HTML 0.67% JavaScript 9.29% TypeScript 89.67% Batchfile 0.04% Shell 0.03%

chevrotain's Introduction

npm Build Status Coverage Status Dependency status

Browser Status

Chevrotain

Chevrotain is a Javascript parsing DSL for building high performance 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.

Features

  1. Lexer Engine based on Regular Expressions. * Full Token position information. * Token skipping (whitespace/comments/...). * Prioritise shorter matches (Keywords vs Identifiers). * Multiple Lexer Modes depending on the context. * Tokens Grouping. * No code generation The Lexer does not require any code generation phase.

  2. Parsing DSL. * LL(k) grammars support.
    * Error Reporting with full location information. * Strong Error Recovery/Fault-Tolerance capabilities based on Antlr3's algorithms. * Supports gates/predicates. * Backtracking support. * Grammar Inheritance. * Multiple starting rules. * Parametrized Rules. * No code generation.

    • The DSL is just Javascript, not an external language.
    • Easily debuggable.
    • Short feedback loops.
    • Allows great flexibility for inserting custom Parser actions
  3. High performance.

  4. Generated Railroad Diagrams.

  5. Grammar Reflection/Introspection. * The 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.

  6. Well tested with ~100% code coverage, Unit & Integration tests

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 NPMCDN in a script tag.
    • Latest:
      • https://npmcdn.com/chevrotain/lib/chevrotain.js
      • https://npmcdn.com/chevrotain/lib/chevrotain.min.js
    • Explicit version number:

Getting Started

Online tutorial

Documentation

Dependencies

None.

Compatibility

Chevrotain should run on any modern Javascript ES5.1 runtime.

  • The CI build runs the tests under:

    • Node.js (0.12 / 4 / 5).
    • Latest stable: Chrome, FireFox, IE Edge, IE 11 and Safari 9.
  • Uses UMD to work with common module loaders (browser global / amd / commonjs).

Contributions

Contributions are greatly appreciated. See CONTRIBUTING.md for details

chevrotain's People

Contributors

bd82 avatar firasnajjar avatar kevinastone avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.