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.
David Majda e8be76ee3a Don't expose the "parser" variable in parser code
The "parser" variable allowed access to the parser object. Among other
things, this made it possible to invoke the parser recursively using
"parser.parse".

One problem with the "parser" variable is that it bakes in the idea that
the parser is an *object*, not a *module*. While this is true now, it
won't necessarily be in the future, when parsers may be exported as ES6
modules. Also, people tend to use parsers as modules even today, e.g.
like this:

  var parse = require("parser").parse;
  var result = parse(...);

Such usage broke the "parser" variable (as it was implemented).

For this reasons I decided to remove the "parser" variable. If someone
needs to do tricks like recursive invocation of the parser, he/she must
pass the parser or the "parse" function itself using options.

Related to #433.
8 years ago
..
generate-bytecode.js Construct expectations using functions 8 years ago
generate-js.js Don't expose the "parser" variable in parser code 8 years ago
remove-proxy-rules.js Convert PEG.js code to strict mode 9 years ago
report-duplicate-labels.js Report duplicate labels as errors 8 years ago
report-duplicate-rules.js Add location to the "Rule ... is already defined" error message 8 years ago
report-infinite-loops.js Remove extraneous "with" from an error message 8 years ago
report-left-recursion.js Grammar error messages 3/3: Improve the left recursion message 8 years ago
report-missing-rules.js Grammar error messages 1/3: Improve the missing rule message 8 years ago