|
|
|
0.6 (2011-04-14)
|
|
|
|
----------------
|
|
|
|
|
|
|
|
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-ine 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 (2010-11-28)
|
|
|
|
------------------
|
|
|
|
|
|
|
|
Small Changes:
|
|
|
|
|
|
|
|
* Fixed a problem where "SyntaxError: Invalid range in character class." error
|
|
|
|
appeared when using command-line version on Widnows (GH-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 (2010-06-10)
|
|
|
|
----------------
|
|
|
|
|
|
|
|
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).
|
|
|
|
* Fixed bug causing incorrect error messages (issue #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 (2010-04-17)
|
|
|
|
----------------
|
|
|
|
|
|
|
|
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 (2010-03-14)
|
|
|
|
----------------
|
|
|
|
|
|
|
|
* 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 (2010-03-08)
|
|
|
|
------------------
|
|
|
|
|
|
|
|
* Added "pegjs-" prefix to the name of the minified runtime file.
|
|
|
|
|
|
|
|
0.2 (2010-03-08)
|
|
|
|
----------------
|
|
|
|
|
|
|
|
* 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 (2010-03-08)
|
|
|
|
----------------
|
|
|
|
|
|
|
|
* Initial release.
|