aboutsummaryrefslogtreecommitdiff
path: root/cordova/node_modules/pegjs/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'cordova/node_modules/pegjs/CHANGELOG.md')
-rw-r--r--cordova/node_modules/pegjs/CHANGELOG.md618
1 files changed, 618 insertions, 0 deletions
diff --git a/cordova/node_modules/pegjs/CHANGELOG.md b/cordova/node_modules/pegjs/CHANGELOG.md
new file mode 100644
index 0000000..26afd3e
--- /dev/null
+++ b/cordova/node_modules/pegjs/CHANGELOG.md
@@ -0,0 +1,618 @@
+Change Log
+==========
+
+This file documents all notable changes to PEG.js. The releases follow [semantic
+versioning](http://semver.org/).
+
+0.10.0
+------
+
+Released: August 19, 2016
+
+### Major Changes
+
+ * **Parsers can be generated in multiple module formats.** The available
+ formats are: CommonJS (the default), AMD, UMD, globals, and bare (not
+ available from the command-line).
+
+ The format can be specified using the `format` option of the `peg.generate`
+ function or the `--format` option on the command-line.
+
+ It is also possible to specify parser dependencies using the `dependencies`
+ option of the `peg.generate` function or the `--dependency`/`-d` option on
+ the command-line. This is mainly useful for the UMD format, where the
+ dependencies are translated into both AMD dependencies and CommonJS
+ `require` calls.
+
+ * **Browser version of PEG.js is now in the UMD format.** This means it will try
+ to detect AMD or Node.js/CommonJS module loader and define itself as a
+ module. If no loader is found, it will export itself using a global
+ variable.
+
+ * **API polishing.** The `peg.buildParser` function was renamed to
+ `peg.generate`. The global variable the browser version of PEG.js is
+ available in when no loader is detected was renamed from `PEG` to `peg`.
+
+ * **CLI improvements.** There is new `--output`/`-o` command-line option which
+ allows to specify the output file. The old way of specifying the output file
+ using a second argument was removed. To make room for the new `-o` option
+ the old one (a shortcut for `--optimize`) was renamed to `-O`. All these
+ changes make PEG.js conform to traditional compiler command-line interface.
+
+ It is now also possible to use `-` as a file name on the command-line (with
+ the usual meaning of standard input/output).
+
+ * **Improved error messages.** Both messages produced by PEG.js and generated
+ parsers were improved.
+
+ * **Duplicate rule definitions are reported as errors.**
+
+ * **Duplicate labels are reported as errors.**
+
+### Minor Changes
+
+ * Exposed the AST node visitor builder as `peg.compiler.visitor`. This is
+ useful mainly for plugins which manipulate the AST.
+
+ * Exposed the function which builds messages of exceptions produced by
+ generated parsers as `SyntaxError.buildMessage`. This is useful mainly for
+ customizing these error messages.
+
+ * The `error` and `expected` functions now accept an optional `location`
+ parameter. This allows to customize the location in which the resulting
+ syntax error is reported.
+
+ * Refactored expectations reported in the `expected` property of exceptions
+ produced by generated parsers. They are no longer de-duplicated and sorted,
+ their format changed to be more machine-readable, and they no longer contain
+ human-readable descriptions.
+
+ * The `found` property of exceptions produced by the `error` function is now
+ set to `null`.
+
+ * Removed access to the parser object in parser code via the `parser`
+ variable.
+
+ * Made handling of optional parameters consistent with ES 2015. Specifically,
+ passing `undefined` as a parameter value is now equivalent to not passing
+ the parameter at all.
+
+ * Renamed several compiler passes.
+
+ * Generated parsers no longer consider `\r`, `\u2028`, and `\u2029` as
+ newlines (only `\n` and `\r\n`).
+
+ * Simplified the arithmetics example grammar.
+
+ * Switched from `first`/`rest` to `head`/`tail` in PEG.js grammar and example
+ grammars.
+
+ * Started using ESLint instead of JSHint and fixed various problems it found.
+
+ * Added [contribution
+ guidelines](https://github.com/pegjs/pegjs/blob/master/CONTRIBUTING.md).
+
+ * Removed support for io.js.
+
+### Bug Fixes
+
+ * Fixed `bin/pegjs` so that invoking it with one non-option argument which is
+ an extension-less file doesn’t cause that file to be overwritten.
+
+ * Fixed label scoping so that labels in expressions like `(a:"a")` or `(a:"a"
+ b:"b" c:"c")` aren’t visible from the outside.
+
+ * Fixed escaping of generated JavaScript strings & regexps to also escape DEL
+ (U+007F).
+
+ * Fixed the JSON example grammar to correctly handle characters with code
+ points above U+10FF in strings.
+
+ * Fixed multiple compatibility issues of `tools/impact` on OS X.
+
+ * Fixed slow deduplication of expectation descriptions.
+
+[Complete set of changes](https://github.com/pegjs/pegjs/compare/v0.9.0...v0.10.0)
+
+0.9.0
+-----
+
+Released: August 30, 2015
+
+### Major Changes
+
+ * **Tracing support.** Parsers can be compiled with support for tracing their
+ progress, which can help debugging complex grammars. This feature is
+ experimental and is expected to evolve over time as experience is gained.
+ [More details](https://github.com/pegjs/pegjs/commit/da57118a43a904f753d44d407994cf0b36358adc)
+
+ * **Infinite loop detection.** Grammar constructs that could cause infinite
+ loops in generated parsers are detected during compilation and cause errors.
+
+ * **Improved location information API.** The `line`, `column`, and `offset`
+ functions available in parser code were replaced by a single `location`
+ function which returns an object describing the current location. Similarly,
+ the `line`, `column`, and `offset` properties of exceptions were replaced by
+ a single `location` property. The location is no longer a single point but a
+ character range, which is meaningful mainly in actions where the range
+ covers action’s expression.
+ [More details](https://github.com/pegjs/pegjs/compare/e75f21dc8f0e66b3d87c4c19b3fcb8f89d9c3acd...eaca5f0acf97b66ef141fed84aa95d4e72e33757)
+
+ * **Improved error reporting.** All exceptions thrown when generating a parser
+ have associated location information. And all exceptions thrown by generated
+ parser and PEG.js itself have a stack trace (the `stack` property) in
+ environments that support `Error.captureStackTrace`.
+
+ * **Strict mode code**. All PEG.js and generated parser code is written using
+ [JavaScript strict mode](https://developer.mozilla.org/cs/docs/Web/JavaScript/Reference/Strict_mode).
+
+### Minor Changes
+
+ * Labels behave like block-scoped variables. This means parser code can see
+ labels defined outside expressions containing code.
+
+ * Empty sequences are no longer allowed.
+
+ * Label names can’t be JavaScript reserved words.
+
+ * Rule and label names can contain Unicode characters like in JavaScript.
+
+ * Rules have to be separated either by `;` or a newline (until now, any
+ whitespace was enough).
+
+ * The PEG.js grammar and all the example grammars were completely rewritten.
+ This rewrite included a number of cleanups, formatting changes, naming
+ changes, and bug fixes.
+
+ * The parser object can now be accessed as `parser` in parser code.
+
+ * Location information computation is faster.
+
+ * Added support for Node.js >= 0.10.x, io.js, and Edge. Removed support for
+ Node.js < 0.10.x.
+
+### Bug Fixes
+
+ * Fixed left recursion detector which missed many cases.
+
+ * Fixed escaping of U+0100—U+107F and U+1000—U+107F in generated code and
+ error messages.
+
+ * Renamed `parse` and `SyntaxError` to `peg$parse` and `peg$SyntaxError` to
+ mark them as internal identifiers.
+
+[Complete set of changes](https://github.com/pegjs/pegjs/compare/v0.8.0...v0.9.0)
+
+0.8.0
+-----
+
+Released: December 24, 2013
+
+### Big Changes
+
+ * Completely rewrote the code generator. Among other things, it allows
+ optimizing generated parsers for parsing speed or code size using the
+ `optimize` option of the `PEG.buildParser` method or the `--optimize`/`-o`
+ option on the command-line. All internal identifiers in generated code now
+ also have a `peg$` prefix to discourage their use and avoid conflicts.
+ [[#35](https://github.com/dmajda/pegjs/issues/35),
+ [#92](https://github.com/dmajda/pegjs/issues/92)]
+
+ * Completely redesigned error handling. Instead of returning `null` inside
+ actions to indicate match failure, new `expected` and `error` functions can
+ be called to trigger an error. Also, expectation inside the `SyntaxError`
+ exceptions are now structured to allow easier machine processing.
+ [[#198](https://github.com/dmajda/pegjs/issues/198)]
+
+ * Implemented a plugin API. The list of plugins to use can be specified using
+ the `plugins` option of the `PEG.buildParser` method or the `--plugin`
+ option on the command-line. Also implemented the `--extra-options` and
+ `--extra-options-file` command-line options, which are mainly useful to pass
+ additional options to plugins.
+ [[#106](https://github.com/dmajda/pegjs/issues/106)]
+
+ * Made `offset`, `line` and `column` functions, not variables. They are now
+ available in all parsers and return lazily-computed position data. Removed
+ now useless `trackLineAndColumn` option of the `PEG.buildParser` method and
+ the `--track-line-and-column` option on the command-line.
+
+ * Added a new `text` function. When called inside an action, it returns the
+ text matched by action's expression.
+ [[#131](https://github.com/dmajda/pegjs/issues/131)]
+
+ * Added a new `$` operator. It extracts matched strings from expressions.
+
+ * The `?` operator now returns `null` on unsuccessful match.
+
+ * Predicates now always return `undefined`.
+
+ * Replaced the `startRule` parameter of the `parse` method in generated
+ parsers with more generic `options` parameter. The start rule can now be
+ specified as the `startRule` option. The `options` parameter can be also
+ used to pass custom options to the parser because it is visible as the
+ `options` variable inside parser code.
+ [[#37](https://github.com/dmajda/pegjs/issues/37)]
+
+ * The list of allowed start rules of a generated parser now has to be
+ specified explicitly using the `allowedStartRules` option of the
+ `PEG.buildParser` method or the `--allowed-start-rule` option on the
+ command-line. This will make certain optimizations like rule inlining easier
+ in the future.
+
+ * Removed the `toSource` method of generated parsers and introduced a new
+ `output` option of the `PEG.buildParser` method. It allows callers to
+ specify whether they want to get back the parser object or its source code.
+
+ * The source code is now a valid npm package. This makes using development
+ versions easier.
+ [[#32](https://github.com/dmajda/pegjs/issues/32)]
+
+ * Generated parsers are now ~25% faster and ~62%/~3% smaller (when optimized
+ for size/speed) than those generated by 0.7.0.
+
+ * Requires Node.js 0.8.0+.
+
+### Small Changes
+
+ * `bin/pegjs` now outputs just the parser source if the value of the
+ `--export-var` option is empty. This makes embedding generated parsers into
+ other files easier.
+ [[#143](https://github.com/dmajda/pegjs/issues/143)]
+
+ * Changed the value of the `name` property of `PEG.GrammarError` instances
+ from “PEG.GrammarError” to just “GrammarError”. This better reflects the
+ fact that PEG.js can get required with different variable name than `PEG`.
+
+ * Setup prototype chain for `PEG.GrammarError` correctly.
+
+ * Setup prototype chain for `SyntaxError` in generated parsers correctly.
+
+ * Fixed error messages in certain cases with trailing input
+ [[#119](https://github.com/dmajda/pegjs/issues/119)]
+
+ * Fixed code generated for classes starting with `\^`.
+ [[#125](https://github.com/dmajda/pegjs/issues/125)]
+
+ * Fixed too eager proxy rules removal.
+ [[#137](https://github.com/dmajda/pegjs/issues/137)]
+
+ * Added a license to all vendored libraries.
+ [[#207](https://github.com/dmajda/pegjs/issues/207)]
+
+ * Converted the test suite from QUnit to Jasmine, cleaning it up on the way.
+
+ * Travis CI integration.
+
+ * Various internal code improvements and fixes.
+
+ * Various generated code improvements and fixes.
+
+ * Various example grammar improvements and fixes.
+
+ * Improved `README.md`.
+
+ * Converted `CHANGELOG` to Markdown.
+
+0.7.0
+-----
+
+Released: April 18, 2012
+
+### Big Changes
+
+ * Added ability to pass options to `PEG.buildParser`.
+
+ * Implemented the `trackLineAndColumn` option for `PEG.buildParser` (together
+ with the `--track-line-and-column` command-line option). It makes the
+ generated parser track line and column during parsing. These are made
+ available inside actions and predicates as `line` and `column` variables.
+
+ * Implemented the `cache` option for `PEG.buildParser` (together with the
+ `--cache` command-line option). This option enables/disables the results
+ cache in generated parsers, resulting in dramatic speedup when the cache is
+ disabled (the default now). The cost is breaking the linear parsing time
+ guarantee.
+
+ * The current parse position is visible inside actions and predicates as the
+ `offset` variable.
+
+ * Exceptions thrown by the parser have `offset`, `expected` and `found`
+ properties containing machine-readable information about the parse failure
+ (based on a patch by Marcin Stefaniuk).
+
+ * Semantic predicates have access to preceding labels.
+ [[GH-69](https://github.com/dmajda/pegjs/issues/69)]
+
+ * Implemented case-insensitive literal and class matching.
+ [[GH-34](https://github.com/dmajda/pegjs/issues/34)]
+
+ * Rewrote the code generator — split some computations into separate passes
+ and based it on a proper templating system (Codie).
+
+ * Rewrote variable handling in generated parsers in a stack-like fashion,
+ simplifying the code and making the parsers smaller and faster.
+
+ * Adapted to Node.js 0.6.6+ (no longer supported in older versions).
+
+ * Dropped support for IE < 8.
+
+ * As a result of several optimizations, parsers generated by 0.7.0 are ~6.4
+ times faster and ~19% smaller than those generated by 0.6.2 (as reported by
+ `/tools/impact`).
+
+### Small Changes
+
+ * Fixed reported error position when part of the input is not consumed.
+ [[GH-48](https://github.com/dmajda/pegjs/issues/48)]
+
+ * Fixed incorrect disjunction operator in `computeErrorPosition` (original
+ patch by Wolfgang Kluge).
+
+ * Fixed regexp for detecting command-line options in `/bin/pegjs`.
+ [[GH-51](https://github.com/dmajda/pegjs/issues/51)]
+
+ * Generate more efficient code for empty literals (original patch by Wolfgang
+ Kluge).
+
+ * Fixed comment typos (patches by Wolfgang Kluge and Jason Davies).
+ [[GH-59](https://github.com/dmajda/pegjs/issues/59)]
+
+ * Fixed a typo in JavaScript example grammar.
+ [[GH-62](https://github.com/dmajda/pegjs/issues/62)]
+
+ * Made copy & paste inclusion of the PEG.js library into another code easier
+ by changing how the library is exported.
+
+ * Improved the copyright comment and the “Generated by...” header.
+
+ * Replaced `Jakefile` with `Makefile`.
+
+ * Added `make hint` task that checks all JavaScript files using JSHint and
+ resolved all issues it reported. All JavaScript files and also generated
+ parsers are JSHint-clean now.
+
+ * Fixed output printed during test failures (expected value was being printed
+ instead of the actual one). Original patch by Wolfgang Kluge.
+
+ * Added a `/tools/impact` script to measure speed and size impact of commits.
+
+ * Various generated code improvements and fixes.
+
+ * Various internal code improvements and fixes.
+
+ * Improved `README.md`.
+
+0.6.2
+-----
+
+Released: August 20, 2011
+
+### Small Changes
+
+ * Reset parser position when action returns `null`.
+
+ * Fixed typo in JavaScript example grammar.
+
+0.6.1
+-----
+
+Released: April 14, 2011
+
+### Small Changes
+
+ * Use `--ascii` option when generating a minified version.
+
+0.6.0
+-----
+
+Released: April 14, 2011
+
+### Big Changes
+
+ * Rewrote the command-line mode to be based on Node.js instead of Rhino — no
+ more Java dependency. This also means that PEG.js is available as a Node.js
+ package and can be required as a module.
+
+ * Version for the browser is built separately from the command-line one in two
+ flavors (normal and minified).
+
+ * Parser variable name is no longer required argument of `bin/pegjs` — it is
+ `module.exports` by default and can be set using the `-e`/`--export-var`
+ option. This makes parsers generated by `/bin/pegjs` Node.js modules by
+ default.
+
+ * Added ability to start parsing from any grammar rule.
+
+ * Added several compiler optimizations — 0.6 is ~12% faster than 0.5.1 in the
+ benchmark on V8.
+
+### Small Changes
+
+ * Split the source code into multiple files combined together using a build
+ system.
+
+ * Jake is now used instead of Rake for build scripts — no more Ruby
+ dependency.
+
+ * Test suite can be run from the command-line.
+
+ * Benchmark suite can be run from the command-line.
+
+ * Benchmark browser runner improvements (users can specify number of runs,
+ benchmarks are run using `setTimeout`, table is centered and fixed-width).
+
+ * Added PEG.js version to “Generated by...” line in generated parsers.
+
+ * Added PEG.js version information and homepage header to `peg.js`.
+
+ * Generated code improvements and fixes.
+
+ * Internal code improvements and fixes.
+
+ * Rewrote `README.md`.
+
+0.5.1
+-----
+
+Released: November 28, 2010
+
+### Small Changes
+
+ * Fixed a problem where “SyntaxError: Invalid range in character class.” error
+ appeared when using command-line version on Widnows
+ ([GH-13](https://github.com/dmajda/pegjs/issues/13)).
+
+ * Fixed wrong version reported by `bin/pegjs --version`.
+
+ * Removed two unused variables in the code.
+
+ * Fixed incorrect variable name on two places.
+
+0.5
+---
+
+Released: June 10, 2010
+
+### Big Changes
+
+ * Syntax change: Use labeled expressions and variables instead of `$1`, `$2`,
+ etc.
+
+ * Syntax change: Replaced `:` after a rule name with `=`.
+
+ * Syntax change: Allow trailing semicolon (`;`) for rules
+
+ * Semantic change: Start rule of the grammar is now implicitly its first rule.
+
+ * Implemented semantic predicates.
+
+ * Implemented initializers.
+
+ * Removed ability to change the start rule when generating the parser.
+
+ * Added several compiler optimizations — 0.5 is ~11% faster than 0.4 in the
+ benchmark on V8.
+
+### Small Changes
+
+ * `PEG.buildParser` now accepts grammars only in string format.
+
+ * Added “Generated by ...” message to the generated parsers.
+
+ * Formatted all grammars more consistently and transparently.
+
+ * Added notes about ECMA-262, 5th ed. compatibility to the JSON example
+ grammar.
+
+ * Guarded against redefinition of `undefined`.
+
+ * Made `bin/pegjs` work when called via a symlink
+ ([issue #1](https://github.com/dmajda/pegjs/issues/1)).
+
+ * Fixed bug causing incorrect error messages
+ ([issue #2](https://github.com/dmajda/pegjs/issues/2)).
+
+ * Fixed error message for invalid character range.
+
+ * Fixed string literal parsing in the JavaScript grammar.
+
+ * Generated code improvements and fixes.
+
+ * Internal code improvements and fixes.
+
+ * Improved `README.md`.
+
+0.4
+---
+
+Released: April 17, 2010
+
+### Big Changes
+
+ * Improved IE compatibility — IE6+ is now fully supported.
+
+ * Generated parsers are now standalone (no runtime is required).
+
+ * Added example grammars for JavaScript, CSS and JSON.
+
+ * Added a benchmark suite.
+
+ * Implemented negative character classes (e.g. `[^a-z]`).
+
+ * Project moved from BitBucket to GitHub.
+
+### Small Changes
+
+ * Code generated for the character classes is now regexp-based (= simpler and
+ more scalable).
+
+ * Added `\uFEFF` (BOM) to the definition of whitespace in the metagrammar.
+
+ * When building a parser, left-recursive rules (both direct and indirect) are
+ reported as errors.
+
+ * When building a parser, missing rules are reported as errors.
+
+ * Expected items in the error messages do not contain duplicates and they are
+ sorted.
+
+ * Fixed several bugs in the example arithmetics grammar.
+
+ * Converted `README` to GitHub Flavored Markdown and improved it.
+
+ * Added `CHANGELOG`.
+
+ * Internal code improvements.
+
+0.3
+---
+
+Released: March 14, 2010
+
+ * Wrote `README`.
+
+ * Bootstrapped the grammar parser.
+
+ * Metagrammar recognizes JavaScript-like comments.
+
+ * Changed standard grammar extension from `.peg` to `.pegjs` (it is more
+ specific).
+
+ * Simplified the example arithmetics grammar + added comment.
+
+ * Fixed a bug with reporting of invalid ranges such as `[b-a]` in the
+ metagrammar.
+
+ * Fixed `--start` vs. `--start-rule` inconsistency between help and actual
+ option processing code.
+
+ * Avoided ugliness in QUnit output.
+
+ * Fixed typo in help: `parserVar` → `parser_var`.
+
+ * Internal code improvements.
+
+0.2.1
+-----
+
+Released: March 8, 2010
+
+ * Added `pegjs-` prefix to the name of the minified runtime file.
+
+0.2
+---
+
+Released: March 8, 2010
+
+ * Added `Rakefile` that builds minified runtime using Google Closure Compiler
+ API.
+
+ * Removed trailing commas in object initializers (Google Closure does not like
+ them).
+
+0.1
+---
+
+Released: March 8, 2010
+
+ * Initial release.