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.
Futago-za Ryuu 2ac387e1c9 Move documentation 3 years ago
.github Clarify templates 3 years ago
bin Use .js files with -c option on CLI 3 years ago
docs Move documentation 3 years ago
examples Merge pull request #490 from chearon/css-num-fix 4 years ago
lib Resolve 'vm.runInContext' bottleneck 3 years ago
src Relay parser opts from peg.generate (#553) 3 years ago
test Provide context to parser (#517) 3 years ago
.babelrc Moved Babel options to .babelrc 4 years ago
.eslintrc.js Update code format and style 4 years ago
.gitattributes Ensure bin/*.js files use LF instead of CRLF 4 years ago
.gitignore Ignore '.idea' directory 3 years ago
.npmrc Ensure 'package-lock.json' is never created 4 years ago
.travis.yml Add support 4 years ago Update 5 years ago
LICENSE Updated maintainer #503 4 years ago Move documentation 3 years ago
gulpfile.js Remove redundant glob for linting 3 years ago
package.json Updated devDependencies 3 years ago

ci coverage release dev bower 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