Changes to the previous version: Recurring rational representations (1/3 = 0.(3)) were added to the package Strings_Edit.Unbounded_Rational_Edit; Bug fix in Strings_Edit.Unbounded_Unsigned_Edit caused by overflow for 16 base; Next_Prime was added to the package Unbounded_Unsigneds.Primes; The pattern Proceed was added to SNOBOL-like patterns; Some heuristics were added to improve performance of SNOBOL-like patterns.
Changes the previous version: The pattern NL_or_EOF was added to SNOBOL-like patterns; The package Parsers.Generic_Source.Patterns.Generic_Fields was added to match and accumulate a string array of delimited fields; The package Parsers.Generic_Source.Patterns.Generic_Floats was added to match and accumulate a float array; The package Parsers.Generic_Source.Patterns.Generic_Integers was added to match and accumulate an integer array; The package Parsers.String_Patterns was added as an instance of...
Changes the previous version: The Python high-level class support fixed to accommodate controlled types; The Python high-level class supports extension of Python types with Ada type extension; Binding to Get_Basic_Size were added to the package Py; Throw_NotImplementedError procedure was added to the package Py; Weak references support was added to the Py package.
Changes to the previous version: Function Compare to compare arrays of code points was added to the package Strings_Edit.UTF8; Function Image to convert a code points array to UTF-8 string was added to the package Strings_Edit.UTF8; Function Compare to compare arrays of code points using a code points mapping was added to the package Strings_Edit.UTF8.Maps; The package Strings_Edit.UTF8.Normalization was added to provide Unicode decompositions (NFD and NFKD), composition, normalization (NFC, NFKC)...
Changes to the previous version: The parsing example was upgraded from Ada 95 to Ada 2022. The changes include: Unicode identifiers; new (<subpool>) syntax;</subpool> Container aggregate; for expressions in container aggregate; declare expressions; delta aggregates; if expressions; case expressions; raise expressions; The package Parsers.Generic_Ada_Parser.Generic_Dot was added for writing Ada syntax trees in the DOT format of Graphviz; The package Parsers.Generic_Ada_Parser.Generic_Text_IO was added...
The new version provides an implementation of SNOBOL-like patterns. The patterns are integrated into the parsing framework. They can be constructed using expressions and then matched against the generic source. SNOBOL patterns are more powerful than regular expressions. A BNF grammar can be directly translated into pattern. Therefore they can be recursive. Features like immediate assignment and printout are fully supported. Patterns can extended by user-defined matching functions. Unicode is fully...
Changes to the version 3.8: Bug fix in Strings_Edit.UTF8.Maps.Is_Prefix; Unread was added to Strings_Edit.Streams to return the contents available to read; Get function was added to.Strings_Edit.UTF8.Maps.
The focus of this release is an implementation of arbitrary precision rational numbers. The difference to standard library Ada.Numerics.Big_Numbers.Big_Reals: No limits, except for the pool size; String edit packages representing a number in a usual form (with the specified accuracy) rather than as a numerator/denominator ratio; An equivalent of Ada.Numerics.Elementary_Functions with rational approximations; Simple continued fractions support. Changes to the previous version: The package Unbounded_Rationals...