1. Introduction to the GNAT Component CollectionΒΆ

The reusable library known as the GNAT Component Collection (GNATColl) is based on one main principle: general-purpose packages that are part of the GNAT technology should also be available to GNAT user application code. The compiler front end, the GNAT Programming Studio (GPS) Interactive Development Environment, and the GNAT Tracker web-based interface all served as sources for the components.

The GNATColl components complement the predefined Ada and GNAT libraries and deal with a range of common programming issues including string and text processing, memory management, and file handling. Several of the components are especially useful in enterprise applications.

The next chapter explains how to build and install GNATColl. The remainder of this document then describes the various components that make up the collection:

  • Scripts: Embedding script languages

  • Traces: Logging information

  • Memory: Monitoring memory usage

  • Mmap: Reading and writing files

  • Boyer-Moore: Searching strings

  • Paragraph filling: Formatting text

  • Templates: Generating text

  • Email: Processing email messages

  • Ravenscar: Patterns for multitasking

  • Storage Pools: Controlling memory management

  • VFS: Manipulating files

  • Tribooleans: Three-state logic

  • Geometry: Primitive geometric operations

  • Projects: Manipulating gpr files

  • Refcount: Reference counting

  • Config: Parsing configuration files

  • Pools: Controlling access to resources

  • JSON: Handling JavaScript Object Notation

  • SQL: Database interface