You cannot 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 4089aac71e Use util.processOptions 6 years ago
.github Clarify templates 7 years ago
bin Use util.processOptions 6 years ago
docs Add doc for tracer.trace 6 years ago
examples Merge pull request #490 from chearon/css-num-fix 7 years ago
lib Refactor vm.runInContext 6 years ago
src Regenerate parser 6 years ago
test Use peg.util.reservedWords 6 years ago
.babelrc Moved Babel options to .babelrc 7 years ago
.eslintignore Add an ignore file 6 years ago
.eslintrc.js Update code format and style 7 years ago
.gitattributes Ensure bin/*.js files use LF instead of CRLF 7 years ago
.gitignore Integrate yarn 6 years ago
.nycrc Move nyc options to separate config 6 years ago
.travis.yml Test only the latest versions of LTS releases 6 years ago Update 8 years ago
LICENSE Updated maintainer #503 7 years ago Link to doc for plugins 6 years ago
gulpfile.js Gulp 4 6 years ago
package.json Updated keywords for NPM 6 years ago
yarn.lock Update lockfile 6 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