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)

Useful Links:

Licensed under GPL-3.0-or-later.

AUnit enhancements #

Useful Links:

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.

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.

Project on SourceForge #

Users Love Us
      Users Love Us      
Community Choice
  Community Choice  
SourceForge Favorite
SourceForge Favorite
Download Ada Class Library Download Ada Class Library Download Ada Class Library
Download Ada Class Library Download Ada Class Library Download Ada Class Library
Download Ada Class Library Download Ada Class Library Download Ada Class Library
Download Ada Class Library Git Repository
Summary Discussion Tickets

2026


How to Set Up Unit Tests and SPARK Proofs

Learn how to structure an Ada/Alire project with multiple test and proof configurations, integrate them with Alire actions, and set up a convenient Visual Studio Code workspace.

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

·
Object-oriented, re-entrant GetOpt parser with Wide_Wide_String options and file names.

Regular Expressions

·
Regular Expressions for Strings, Wide_Strings and Wide_Wide_Strings.

Fluent AUnit Asserts

·
Assets for AUnit with additional information on failure.