This library gather all reusable packages written by Natasha Kerensikova that are too small to fit in a project by themselves.
It contains the following package hierarchy:
Accumulators
: an interface for string accumulator objects and stacks of accumulatorsString_Accumulator_Linked_Lists
: a basic implementation of an accumulator stack using a reference accumulator
Chunked_Strings
: an implementation of unbounded strings backed by non-contiguous fixed-size chunks of memoryCron
: a simple low-precision service of periodic eventsGetopt_Long
: command-line argument processing similar to Cgetopt_long
GNAT_HMAC
: instances ofHMAC
using GNAT hash primitivesHMAC
: generic HMAC implementation using a formal hash functionIndefinite_Holders
: simple Ada 2005 implementation of the Ada 2012 containerReferences
: generic simple reference-counter implementationS-expressions
: library for dealing with S-expressionsAtom_Buffers
: dynamic buffer for S-expression atomsAtom_Refs
: common reference-counted atomsDynamic_Interpreters
: S-expression interpreter with mutable commands and callbacksEncodings
: translators to and from official S-expression encodingsFile_Readers
: objects reading a file to an atom or a S-expressionFile_Writers
: file-backed S-expression printerGeneric_Caches
: memory container for S-expressionsInterpeter_Loop
: inner loop of S-expression interpreters, typically used in static interpretersInterpreters
: callback-based S-expressions interpreterLockable
: interface for S-expressions descriptors that can be temporarily restricted to a given nesting levelParsers
: S-expression descriptor from a byte streamPrinters
: interface for objects to which S-expressions are writtenPretty
: human-friendly S-expression pretty printerConfig
: serialization and deserialization of pretty printer parameters to and from S-expressions
Static_Hash_Maps
: code generator around GNATPerfect_Hash_Generators
to build a static hash mapS_Expressions
: read S-expression description of static hash map
Storage_Pools
: helper objects with dynamic memory managementString_Slices
: objects hold slices of reference-counted shared stringsSlice_Sets
: sets of aforementionned slices
Tests
: very simple test frameworkText_IO
: test output using standardAda.Text_IO