Jump to content

# Ada

From ArchWiki

Ada is a general purpose, compiled programming language. It features strong static typing, packages, exceptions, generics, tasking, object-orientation and contracts.

## Installation

Install the gcc-ada package. This will install the GNAT compiler, which is an Ada front-end for the GNU Compiler Collection (GCC).

Additional packages:

- all-adaAUR - A meta package which installs all Ada tools and components.
- adacursesAUR - An Ada binding to the 'ncurses' C library.
- adaoggAUR - A complete interface layer that brings the Ogg, Vorbis, and Theora libraries to the Ada 2012 programming language.
- ada_language_serverAUR - High performance syntactic and semantic engine for the Ada programming language.
- ada-libfswatchAUR - An Ada binding to the libfswatch library in the fswatch project.
- adasatAUR - Implementation of a DPLL-based SAT solver in Ada.
- adasocketsAUR - BSD sockets in Ada.
- ada_spawnAUR - A simple Ada API to start processes and communicate with them.
- ada-web-serverAUR - Ada Web Server
- ahvenAUR - A simple unit test framework for the Ada programming language.
- alireAUR - A catalog of ready-to-use Ada libraries plus a command-line package manager tool (alr) to use them.
- aunitAUR - Ada Unit Testing Framework
- floristAUR - An open-source implementation of IEEE Standard 1003.5b-1996, the POSIX Ada binding.
- gcc-ada-debugAUR - Ada front-end for GCC (GNAT) with an unstripped runtime for effective debugging in gdb.
- GNATColl - GNAT Components Collection
  - gnatcoll-coreAUR or gnatcoll-core-gitAUR
  - gnatcoll-db2adaAUR
  - gnatcoll-gmpAUR or gnatcoll-gmp-gitAUR
  - gnatcoll-iconvAUR or gnatcoll-iconv-gitAUR
  - gnatcoll-gnatinspectAUR
  - gnatcoll-lzmaAUR
  - gnatcoll-ompAUR
  - gnatcoll-postgresAUR
  - gnatcoll-pythonAUR
  - gnatcoll-readlineAUR
  - gnatcoll-sqlAUR
  - gnatcoll-sqliteAUR
  - gnatcoll-syslogAUR
  - gnatcoll-xrefAUR
  - gnatcoll-zlibAUR
- gnatcoverage-binAUR - A tool to analyze and report program coverage of Ada and C programs.
- gnatdocAUR - GNAT documentation generation tool.
- gnatstudioAUR - GnatStudio for Ada.
- gnatstudio-binAUR - GnatStudio binary for Ada.
- gnatsymbolizeAUR - Translates addresses into their corresponding filename, line number, and function names for Ada programs.
- gprbuildAUR or gprbuild-gitAUR - GPRbuild build system.
- gprbuild-toolboxAUR - Meta builder toolbox for multi-language systems.
- gprAUR - Parser for Ada GPR project files.
- gpr-unit-providerAUR - A unit provider for Libadalang based on GPR project analysis library.
- gtkadaAUR - Ada bindings for the Gtk+ library.
- ini_file_managerAUR - Ini configuration file reader and manipulator package for Ada.
- inotify-adaAUR - An Ada 2012 library to monitor filesystem events using the Linux inotify API.
- kazakov_simple_componentsAUR - A set of low-level Ada components by Dmitri Kazakov.
- langkitAUR - Compiler for syntactic and semantic language analysis libraries.
- libadalangAUR - A high performance semantic engine for the Ada programming language.
- libadalang-toolsAUR - Libadalang-based tools for Ada: gnatpp, gnatmetric and gnatstub.
- libgprAUR - Ada library to handle Gnat project files.
- libvssAUR - A high level string and text processing library for Ada.
- markdownAUR - A markdown parser for Ada.
- polyorbAUR - Provides the Distributed Systems Annex (DSA) to build distributed applications with Ada.
- sdladaAUR - An Ada binding to the Simple DirectMedia Layer (SDL) library.
- spark2014AUR - Formally defined programming language based on Ada (GNAT FSF version).
- templates_parserAUR - Ada tools to create templated text streams, such as dynamic HTML documents.
- vulkadaAUR - A complete Vulkan 1.3 binding for the Ada 2012 programming language.
- xmladaAUR or xmlada-gitAUR - XML/Ada

Signed, pre-built packages are available from the unofficial Ada repository.

### Test your installation

Check that GNAT is installed correctly by building a simple program, as follows:

    hello.adb

    with Ada.Text_IO;

    procedure Hello is
    begin
       Ada.Text_IO.Put_Line ("Hello, Arch!");
    end Hello;

You can compile it with `gnatmake`:

    $ gnatmake hello

    gcc -c hello.adb
    gnatbind -x hello.ali
    gnatlink hello.ali

Then run it:

    $ ./hello

    Hello, Arch!

## See also

### Language

- Rationale for Ada 2012
- Ada 2012 Language Reference Manual
- Wikibooks:Ada Programming
- Interactive learning platform Learn.adacore.com
- Wikipedia:SPARK (programming language)

### Tools

- GNAT User’s Guide for Native Platforms
- GNAT Reference Manual
- GPRbuild and GPR Companion Tools User’s Guide

### Library Docs

- XML/Ada: The Unicode and XML Library for Ada
- AWS: The Ada Web Server
- AUnit Cookbook
- GNAT Reusable Components
- GtkAda User’s Guide

Category:

- Programming languages

Ada
Add topic