{"id":15038028,"url":"https://github.com/chevrotain/chevrotain","last_synced_at":"2025-12-12T03:43:06.105Z","repository":{"id":30467238,"uuid":"34021217","full_name":"Chevrotain/chevrotain","owner":"Chevrotain","description":"Parser Building Toolkit for JavaScript","archived":false,"fork":false,"pushed_at":"2025-05-06T12:37:48.000Z","size":38310,"stargazers_count":2609,"open_issues_count":37,"forks_count":212,"subscribers_count":29,"default_branch":"master","last_synced_at":"2025-05-06T14:52:13.590Z","etag":null,"topics":["grammars","javascript","lexer","open-source","parser-library","parsing","tokenizer","typescript"],"latest_commit_sha":null,"homepage":"https://chevrotain.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Chevrotain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-04-15T22:10:34.000Z","updated_at":"2025-05-06T02:49:06.000Z","dependencies_parsed_at":"2024-01-26T14:41:28.408Z","dependency_job_id":"2525c073-2b1f-4944-8799-7dd5b3a72fc0","html_url":"https://github.com/Chevrotain/chevrotain","commit_stats":{"total_commits":2161,"total_committers":70,"mean_commits":30.87142857142857,"dds":0.6709856547894493,"last_synced_commit":"4272462f2c88846357dc95dfdd5684d87c153c4f"},"previous_names":["sap/chevrotain"],"tags_count":169,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chevrotain%2Fchevrotain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chevrotain%2Fchevrotain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chevrotain%2Fchevrotain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chevrotain%2Fchevrotain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chevrotain","download_url":"https://codeload.github.com/Chevrotain/chevrotain/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253969228,"owners_count":21992262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grammars","javascript","lexer","open-source","parser-library","parsing","tokenizer","typescript"],"created_at":"2024-09-24T20:36:51.861Z","updated_at":"2025-12-12T03:43:06.074Z","avatar_url":"https://github.com/Chevrotain.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Discussions](https://img.shields.io/github/discussions/chevrotain/chevrotain?style=flat-square)](https://github.com/Chevrotain/chevrotain/discussions)\n[![npm](https://img.shields.io/npm/v/chevrotain.svg)](https://www.npmjs.com/package/chevrotain)\n![npm](https://img.shields.io/npm/dm/chevrotain)\n[![Continuous Integration](https://github.com/Chevrotain/chevrotain/actions/workflows/ci.yml/badge.svg)](https://github.com/Chevrotain/chevrotain/actions/workflows/ci.yml)\n[![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n\n# Chevrotain\n\n## TLDR\n\n- [**Online Playground**](https://chevrotain.io/playground/)\n- [**Getting Started Tutorial**](https://chevrotain.io/docs/tutorial/step0_introduction.html)\n- [**YouTube Video**: Introduction to Lexers, Parsers and Interpreters with Chevrotain](https://www.youtube.com/watch?v=l-jMsoAY64k)\n- [**Performance benchmark**](https://chevrotain.io/performance/)\n\n## Introduction\n\nChevrotain is a [**blazing fast**](https://chevrotain.io/performance/)\nand [**feature rich**](http://chevrotain.io/docs/features/blazing_fast.html)\n**Parser Building Toolkit** for **JavaScript** with built-in support for **LL(K)**.\nGrammars and [3rd party plugin for **LL(\\*)**](https://github.com/langium/chevrotain-allstar) grammars.\nIt can be used to build parsers/compilers/interpreters for various use cases ranging from simple configuration files,\nto full-fledged programming languages.\n\nGrammars are written as [**pure JavaScript sources**](https://chevrotain.io/docs/FAQ.html#VS_GENERATORS) without a code generation phase,\n\nA more in depth review of Chevrotain can be found in this great article on: [Parsing in JavaScript: Tools and Libraries](https://tomassetti.me/parsing-in-javascript/#chevrotain).\n\n## Installation\n\n- **npm**: `npm install chevrotain`\n- **Browser** **ESM** bundled versions:\n  These can be downloaded directly via [UNPKG](https://unpkg.com/) or other NPM cdn services, e.g.:\n  - Latest:\n    - `https://unpkg.com/chevrotain/lib/chevrotain.mjs`\n    - `https://unpkg.com/chevrotain/lib/chevrotain.min.mjs`\n  - Explicit version number:\n    - `https://unpkg.com/chevrotain@11.0.3/lib/chevrotain.mjs`\n    - `https://unpkg.com/chevrotain@11.0.3/lib/chevrotain.min.mjs`\n\n## Documentation \u0026 Resources\n\n- **[Sample Grammars](https://github.com/chevrotain/chevrotain/blob/master/examples/grammars)**.\n\n- **[FAQ](https://chevrotain.io/docs/FAQ.html).**\n\n- **[Other Examples](https://github.com/chevrotain/chevrotain/blob/master/examples)**.\n\n- **[HTML API docs](https://chevrotain.io/documentation).**\n\n  - [The Parsing DSL Docs](https://chevrotain.io/documentation/10_0_0/classes/BaseParser.html#AT_LEAST_ONE).\n\n- [ALL(\\*) Lookahead in Langium](https://www.typefox.io/blog/allstar-lookahead)\n\n## Compatibility\n\nChevrotain will run on any **modern** JavaScript ES2015 runtime.\nThat includes nodejs maintenance/active/current version, modern major browsers,\nbut **not** legacy ES5.1 runtimes such as IE11.\n\n## Contributions\n\nContributions are **greatly** appreciated.\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for details.\n\n## Where used\n\nA small-curated list:\n\n1. [HyperFormula](https://github.com/handsontable/hyperformula)\n\n   - HyperFormula is an open source, spreadsheet-like calculation engine\n   - [source](https://github.com/handsontable/hyperformula/blob/5749f9ce57a3006109ccadc4a2e7d064c846ff78/src/parser/FormulaParser.ts)\n\n2. [Langium](https://github.com/langium/langium)\n\n   - Langium is a language engineering tool with built-in support for the Language Server Protocol.\n\n3. [Prettier-Java](https://github.com/jhipster/prettier-java)\n\n   - A Prettier Plugin for Java\n   - [source](https://github.com/jhipster/prettier-java/tree/main/packages/java-parser)\n\n4. [JHipster Domain Language](https://www.jhipster.tech/jdl/intro)\n\n   - The JDL is a JHipster-specific domain language where you can describe all your applications, deployments, entities\n     and their relationships in a single file (or more than one) with a user-friendly syntax.\n   - [source](https://github.com/jhipster/generator-jhipster/tree/main/jdl/parsing)\n\n5. [Argdown](https://github.com/christianvoigt/argdown)\n   - Argdown is a simple syntax for analyzing complex argumentation.\n   - [source](https://github.com/christianvoigt/argdown/blob/master/packages/argdown-core/src/parser.ts)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchevrotain%2Fchevrotain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchevrotain%2Fchevrotain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchevrotain%2Fchevrotain/lists"}