Skip to main content

Ada Class Library

Explore the crates below!

Strings, Tracing, AUnit, Smart Pointers, Getopt #

A versatile Ada 2022 class library for robust application development.

Features:

  • Getopt: Command-line argument parser with wide character support
  • Strings: Utilities for String, Wide_String, and Wide_Wide_String
  • Calendar: Time and date utilities with wide character support
  • Tracing: Diagnostic trace utility with wide character support
  • Protected Queue: Supports finish, wait, and abort operations
  • Smart Pointers:
    • Reference-counted pointers
    • Unique pointers (C++-style)
    • Shared pointers (C++-style)
  • AUnit-Compatible Assertions:
    • Generic for access, array, discrete, floating-point, fixed-point, decimal, and vector types
  • AUnit Parameter: Run tests with multiple inputs and expected values

Useful Links:

Licensed under GPL-3.0-or-later.

Powerful Encoding-Aware Strings #

Encoding-aware string utilities for Ada 2022, developed by Björn Persson for robust internationalisation (i18n). Ideal for multilingual applications.

Supports text processing with the following encodings:

  • Universal Character Set 4, Big-Endian (UCS-4 BE)
  • Universal Character Set 4, Little-Endian (UCS-4 LE)
  • Universal Character Set 2, Big-Endian (UCS-2 BE)
  • Universal Character Set 2, Little-Endian (UCS-2 LE)
  • Unicode Transformation Format 16, Big-Endian (UTF-16 BE)
  • Unicode Transformation Format 16, Little-Endian (UTF-16 LE)
  • Unicode Transformation Format 8 (UTF-8)
  • American Standard Code for Information Interchange (ASCII)
  • ISO/IEC 8859-1 (Latin-1)
  • Code Page 850 (DOS Latin-1)
  • Windows Code Page 1252

Additional features:

  • Text I/O for encoding-aware input/output
  • Basic command-line parsing for internationalised text

Useful Links:

Licensed under GPL-3.0-or-later.

Regex and SPITBOL Patterns with Wide Character Support #

Regular expression and SPITBOL pattern matching for Ada 2022, with wide character support. A unique fork with enhanced capabilities.

Features:

  • Regular Expressions:
    • Generic implementation for any discrete element array
    • Instantiations for String, Wide_String, and Wide_Wide_String
  • SPITBOL Patterns:
    • Pattern construction and matching, inspired by Macro-SPITBOL (Robert Dewar)
    • Supports String, Wide_String, and Wide_Wide_String
  • Forked from GNAT.Regexp and GNAT.Spitbol with enhanced wide and wide-wide character support

Useful Links:

Licensed under GPL-3.0-or-later.

Search and Replace with Wide/Wide-Wide Support #

Powerful search-and-replace library for Ada 2022, developed by Martin Krischik, with wide and wide-wide character support. Perfect for text processing pipelines.

Features:

  • Load, transform, and store text with encoding-aware I/O
  • Vector-based text transformations for efficient processing
  • Supports standard, wide, and wide-wide characters for internationalisation
  • Embedded transformations for internal text processing
  • Extensible transformations via tagged types for complex operations
  • Integrates with the Ada Class Library (AdaCL) for robust text handling

Useful Links:

Licensed under GPL-3.0-or-later.

Project on SourceForge #

2025


Search-and-replace Library

Powerful search-and-replace library for Ada 2022, developed by Martin Krischik, with wide and wide-wide character support.

Encoding-Aware String Utilities

Encoding-aware string utilities for Ada 2022, developed by Björn Persson for robust internationalization (i18n).

Ada Class Library

AdaCL: Strings, Regex, Search/Replace, and more with i18n support.

2024


GNU GetOpt

GNU GetOpt style command line parser with wide character support.

Regular Expressions

·
Regular Expressions for Strings, Wide_Strings and Wide_Wide_Strings.

Fluent AUnit Asserts

·
Assets for AUnit with additional information on failure.