node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Build Status

Simple wrapper around pegjs; caches parsers built from grammar files; provides callback interface for parsing files.

See for details on grammar files.


npm install quickpeg


var quickpeg = require('quickpeg');
quickpeg('my.grammar', function (err, parser) {
  parser.parseFile('my.source', function (err, result) {
    // result of parsing my.source with my.grammar 
    // by default, parser is now cached to my.grammar.js 


quickpeg(grammarFile, [options], cb)

Converts a grammar file to a parser and caches the result (if caching is not disabled). Returns the parser to the callback.

  • grammarFile - The path to the peg grammar file.
  • options - Options:
    • cache - Set to one of the following values:
      • true - Append .js to grammar file path and cache to that location.
      • false - Disable parser caching.
      • some/dir - Append .js to grammar filename and cache to some/dir.
      • some/filename - Cache to some/filename.
    • pegjs - Pass through options to PEG.js. See documentation for buildParser at
  • cb - Callback called with (err, parser). See below for the parser API.

quickpeg.config(options) : quickpegFunction

Creates a quickpeg function with default options.

  • options - Default options for the quickpeg function.
  • quickpegFunction - Configured quickpeg function.

parser.parse(sourceString) : result

Parses a string with the parser and returns the result.

  • sourceString - Source string to be parsed.
  • result - Result of parsing sourceString with the parser.

See for more details.

parser.parseFile(sourceFile, cb)

Parses a file with the parser and returns the result on a callback.

  • sourceFile - The path to the source file.
  • cb - Callback called with (err, result).