Ada
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 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