Peter Winter Ctpg Versions Save

Compile Time Parser Generator is a C++ single header library which takes a language description as a C++ code and turns it into a LR1 table parser with a deterministic finite automaton lexical analyzer, all in compile time.

v1.3.7

2 years ago

New features:

  • context parsing
  • skip newline option
  • 'construct' functor helper
  • cleaned up CI and cmake build system

v1.3.6

2 years ago

Fixed #20 bug, using a digit in a regex like "0" caused hex 0x00 to be matched instead of char '0'.

v1.3.5

2 years ago
  • Created cmake build system, with unit tests in catch2.
  • CTPG can now be integrated into other projects cmake build systems.
  • So far g++10 and clang++12 are supported, when new Ubuntu LTS will be available g++11 and clang++13 support will come.
  • Fixed a bug in push_back list functor helper, which was effectively doing emplace_back.

v1.3.4

2 years ago

Regex parser got significantly simpler due to lexical analyzer rework. This greatly reduced compilation times and eased clang support.

v1.3.2

2 years ago

Fixed bug: regex parsing now does not skip whitespaces.

v1.3.1

2 years ago

Fixed a major regex_term bug.

v1.3.0

2 years ago
  • Introduced error recovery feature
  • Extended the list helper functors to different argument orders
  • Cleanup
  • Bug fixes

v1.2.0

2 years ago
  • Added functors to deal with common list task.
  • Example language parser with abstract syntax tree builder attached.

v1.1.1

2 years ago
  • HTML parser example.
  • Fixed situation queue size issue.

v1.1.0

2 years ago
  • introducing the typed terms feature.
  • created a compile time JSON parser example
  • fixed numerous minor issues