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.
Nils-Hero Lindemann 0b102d29a8 Fix last link in the TOC (#621) 2 years ago
bin Use input/output from the config file 3 years ago
lib Export utils explicitly 3 years ago
typings Document filename option for generated parsers 3 years ago
.npmignore Publish to pegjs@dev on every CI run 3 years ago
LICENSE Move PEG.js to packages/pegjs 3 years ago Removed test coverage badges (#598) 3 years ago
package.json Publish to pegjs@dev on every CI run 3 years ago

Build Status coverage Maintainability license

PEG.js is a simple parser generator for JavaScript that produces fast parsers with excellent error reporting. You can use it to process complex data or computer languages and build transformers, interpreters, compilers and other tools easily.

PEG.js is still very much work in progress. There are no compatibility guarantees until version 1.0


  • Simple and expressive grammar syntax
  • Integrates both lexical and syntactical analysis
  • Parsers have excellent error reporting out of the box
  • Based on parsing expression grammar formalism - more powerful than traditional LL(k) and LR(k) parsers
  • Usable from your browser, from the command line, or via JavaScript API



Released under the MIT License.

Copyright (c) 2010-2016 David Majda
Copyright (c) 2017+ Futago-za Ryuu