Simple wrapper around pegjs; caches parsers built from grammar files; provides callback interface for parsing files.
See http://pegjs.majda.cz/documentation#grammar-syntax-and-semantics 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
});
});
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 tosome/dir
.some/filename
- Cache tosome/filename
.
pegjs
- Pass through options to PEG.js. See documentation forbuildParser
at https://github.com/dmajda/pegjs#javascript-api
cb
- Callback called with(err, parser)
. See below for the parser API.
Creates a quickpeg function with default options.
options
- Default options for the quickpeg function.quickpegFunction
- Configured quickpeg function.
Parses a string with the parser and returns the result.
sourceString
- Source string to be parsed.result
- Result of parsingsourceString
with the parser.
See http://pegjs.majda.cz/documentation#using-the-parser for more details.
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)
.