Op 12 en 14 maart, na een lange stilte, zijn de versies 1.10.0 en 1.10.1 van de bibliotheek uitgebracht cpp-peglib, die implementeert PEG (Parsing Expression Grammar).
De bibliotheek ondersteunt de syntaxis die gedetailleerd is beschreven door Bryan Ford op pagina 2 van het document «Parsing Expression Grammars: A Recognition-Based Syntactic Foundation», met veel extra verbeteringen.
In tegenstelling tot projecten zoals PEGTL, Lexy en vele anderen, stelt cpp-peglib je in staat om een PEG-expressie tijdens runtime op te geven.
De bibliotheek is geschreven in C++ (C++17 standaard, header-only) en wordt verspreid onder de MIT-licentie.
Wijzigingen:
- de mogelijkheid voor het verwerken van predicaatdata is toegevoegd;
- ondersteuning voor grammatica's met linkerrecursie is toegevoegd;
- de prestaties zijn verbeterd;
- er is een fout in de volgorde van de parameters van de AST-optimalisator opgelost.
Bron: linux.org.ru
