Released 2016-04-06
- Fixed unit test to use
eol
instead of hard-coded line ending.
Released 2016-04-06
- Tentative Android compatibility.
- Fixed build with MinGW on Windows.
- Changed file reader to open files in binary mode.
- Changed
eol
andeolf
to accept both Unix and MS-DOS line endings. - Optimised bumping the input forward and removed little used bump function.
- Simplified grammar analysis algorithm (and more
analyze()
tests).
Released 2015-11-12
- Improved the JSON grammar and JSON string escaping.
- Added JSON test suite from http://json.org/JSON_checker/.
- Optimised bumping the input forward and string unescaping.
- Promoted
examples/json_changes.hh
topegtl/contrib/changes.hh
.
Released on 2015-09-21
- Added
file_parser
as alias formmap_parser
orread_parser
depending on availability of the former. - Added Clang 3.7 to the automated tests.
- Added MacOS X with XCode 6 and XCode 7 to the automated tests.
- Added coverage test and improved test coverage to 100%.
- Fixed state changing bug in
json_build_one
example.
Released on 2015-08-23
- Added
pegtl_string_t
andpegtl_istring_t
to simplify string definitions as follows:
pegtl::string< 'h', 'e', 'l', 'l', 'o' > // Normal
pegtl_string_t( "hello" ) // New shortcut
- Added
examples/abnf2pegtl.cc
application that converts grammars based on ABNF (RFC 5234) into a PEGTL C++ grammar. - Added
contrib/alphabet.hh
with integer constants for alphabetic ASCII letters.
Released on 2015-07-31
- Renamed namespace
pegtl::ucs4
topegtl::utf32
and generally adopted UTF-32 in all naming. - Added experimental support for UTF-16 similar to the previously existing UTF-32 parsing rules.
- Added support for merging escaped UTF-16 surrogate pairs to
pegtl/contrib/unescape.hh
. - Fixed incorrect handling of escaped UTF-16 surrogate pairs in the JSON examples.
- A state's
S::success()
-method can now have an extended signature to get access to the currentapply_mode
, action- and control class (template). - The
contrib/raw_string
class template now callsAction<raw_string<...>::content>::apply()
with the user's state(s).
Released on 2015-03-29
- First release.
The changelog of the old 0.x versions was dropped due to the large refactoring preceding version 1.0.0.
The PEGTL was initially developed in 2008 as an experiment in C++0x based on ideas from the YARD library by Christopher Diggins. Several years of real-world experience and smaller updates passed until 2014, when some of the more experimental PEGTL features were removed, the remaining parts refactored and refined, and some interesting additions made.
Copyright (c) 2014-2016 Dr. Colin Hirsch and Daniel Frey