(function() { var undefined; var PEG = { /* * Generates a parser from a specified grammar and returns it. * * The grammar must be a string in the format described by the metagramar in * the parser.pegjs file. * * Throws |PEG.parser.SyntaxError| if the grammar contains a syntax error or * |PEG.GrammarError| if it contains a semantic error. Note that not all * errors are detected during the generation and some may protrude to the * generated parser and cause its malfunction. */ buildParser: function(grammar) { return PEG.compiler.compile(PEG.parser.parse(grammar)); } }; /* Thrown when the grammar contains an error. */ PEG.GrammarError = function(message) { this.name = "PEG.GrammarError"; this.message = message; }; PEG.GrammarError.prototype = Error.prototype; // @include "utils.js" // @include "parser.js" // @include "compiler.js" if (typeof exports !== "undefined") { // Looks like we're in CommonJS environment. extend(exports, PEG); } else { // Okay, assume this is a browser. window.PEG = PEG; } })();