Skip to content

Releases: taocpp/PEGTL

PEGTL 2.2.0

24 Sep 16:17
Compare
Choose a tag to compare
  • Added possibility for actions' apply() or apply0()-methods to return a bool which is then used to determine overall success or failure of the rule to which such an action was attached.
  • Added <tao/pegtl/contrib/parse_tree.hpp> and the examples/parse_tree.cpp application that shows how to build a parse tree. The example goes beyond a traditional parse tree and demonstrates how to select which nodes to include in the parse tree and how to transform the nodes into an AST-like structure.
  • Added bom rules for UTF-8, UTF-16 and UTF-32.
  • Added some missing includes for config.hpp.
  • Added automated testing with Clang 5.
  • Added automated testing with Xcode 9.

PEGTL 2.1.4

27 Jun 20:08
Compare
Choose a tag to compare
  • Fixed shadow warning.

PEGTL 2.1.3

27 Jun 15:57
Compare
Choose a tag to compare
  • Fix raw_string with optional parameters.

PEGTL 2.1.2

25 Jun 20:16
Compare
Choose a tag to compare
  • Bump version.

PEGTL 2.1.1

25 Jun 15:42
Compare
Choose a tag to compare
  • Fixed build with MinGW on Windows.
  • Added automated testing with MinGW.

Note: This version accidentally identifies as 2.1.0 - this has been fixed by version 2.1.2.

PEGTL 2.1.0

23 Jun 22:06
Compare
Choose a tag to compare
  • Added optional template parameters to raw_string for rules that the content must match.
  • Added new contrib rules rep_one_min_max and ellipsis.
  • Fixed broken TAOCPP_PEGTL_KEYWORD macro.
  • Fixed a bug in the contrib HTTP grammar which prevented it from parsing status lines in some cases.
  • Fixed build with MinGW-w64 on Windows.
  • Added automated testing with MinGW-w64.
  • Added automated testing with GCC 7.

PEGTL 2.0.0

18 May 19:24
Compare
Choose a tag to compare
  • Project

    • Migrated to "The Art of C++".
    • A migration guide for porting applications from 1.y to 2.z is available.
    • Version 2.z can be installed and used in parallel to version 1.y of the PEGTL.
    • The semantics of all parsing rules and grammars is the same as for versions 1.y.
  • Input Layer

    • Added support for custom incremental input readers.
    • Added support for parsing C streams, i.e. std::FILE*.
    • Added support for parsing C++ streams, i.e. std::istream.
    • Added support for different EOL-styles.
    • Renamed class position_info to position.
    • Added the byte position to input classes and position.
    • Added fast parsing without line counting (except in errors).
    • Refactored the input class into multiple input classes.
    • Refactored the file parser classes into input classes.
    • Refactored the handling of nested parsing.
    • Removed the begin() member from class position.
    • Removed most parsing front-end functions.
  • Parsing Rules

    • Added combinator class minus.
    • Added ASCII rule class keyword.
    • Added string rules for UTF-8, UTF-16 and UTF-32.
    • Added apply, apply0 and if_apply rules for intrusive actions.
    • Added incremental input support rules discard and require.
  • String Macros

    • Renamed to TAOCPP_PEGTL_(I)STRING.
    • Increased allowed string length to 512.
    • Allowed embedded null bytes.
    • Reduced template instantiation depth.
  • Other Changes

    • Added apply() and apply0() methods to control class.
    • Optimised superfluous input markers.
    • Allowed optimisation of actions that do not need the input.
    • Replaced layered matching with superior Duseltronik™.
    • Reduced template instantiation depth.
    • Added support for CMake.
    • Added automated testing with Visual Studio 2015 and 2017.
    • Added automated testing with Android 5.1, NDK r10e.

PEGTL 1.3.1

06 Apr 21:42
Compare
Choose a tag to compare
  • Fixed unit test to use eol instead of hard-coded line ending.

PEGTL 1.3.0

06 Apr 16:53
Compare
Choose a tag to compare
  • Tentative Android compatibility.
  • Fixed build with MinGW on Windows.
  • Changed file reader to open files in binary mode.
  • Changed eol and eolf 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).

PEGTL 1.2.2

12 Nov 22:03
Compare
Choose a tag to compare
  • 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 to pegtl/contrib/changes.hh.