gnatpro_toolsuite

Toolsuite

Comprehensive Ada Toolsuite

Full Ada Compiler (Ada 2012/2005/95/83)

The GNAT Ada compiler includes an Ada front-end, the GCC code generator, the binder, linker, and run-time library. All of these components, except for the code generator, are written in Ada, and are completely target-independent. The code generator is the GCC back-end. The interface between the front-end and the GCC back-end is a tree transducer, which translates the language-specific intermediate representation produced by the Ada front-end into the language-independent tree language that GCC expects.

Features of the GNAT Pro Ada Compiler

  • GCC code generator
  • Project manager facility
  • Automatic make facility (gnatmake)
  • Ability to build standalone static and dynamic libraries
  • Interfacing to C, C++, and Java
  • Detection of uninitialized variables
  • Support for style checking
  • Fine-grained control of program elaboration
  • Choice between zero-cost and longjmp/setjmp exceptions
  • Ability to view how Ada constructs are compiled
  • Ability to view memory layout of types and objects
  • Machine code insertions
  • Extensive set of warnings to catch likely errors
  • Informative error messages
  • Flexible file naming support
  • Support for programmatic debug control

Knowledge Center

Webinars    

  • GNAT Pro 6.1.1

    May 06, 2008

    The latest version of the GNAT Pro Ada toolset sees over 150 enhancements to the technology including:


    • Additional GNAT Pro platforms incorporating the gcc 4.1 code generator (this code generator will now be included on most platforms)

    • Upgrade of the debugging engine, based on gdb 6.6

    • Improvement in robustness and efficiency for Ada 2005 features

    • Better real-time support on win32 platforms

    • Thread-safe profiling with gprof, on several platforms

    • Increased coverage analysis support for Ada in the gcov tool

    • New warnings to help programmers detect errors earlier

    • GNAT Pro companion tools such as gnatcheck, gnatpp and gnatmetric are being enhanced to support a wider variety of coding styles and coding standards.



    The next webinar in the GNAT Pro InSight series will describe and demo some of the new features introduced in 6.1.1. As always, we will allow a question and answer session at the end enabling you to talk directly with the designers of GNAT Pro.

Developer Gems    

  • Gem #112: Lego Mindstorms Ada Environment—Part 1

    This series of Gems explores the GNAT Ada programming environment for the Lego Mindstorms robotics kit. The series will examine the high- and low-level interfaces to the hardware, the language subset supported by the underlying run-time library, and how to use the environment effectively. We’ll examine other topics as well. This first Gem introduces the general issue of the Ada language subset available to programmers and shows how the Ada interfaces address one specific aspect of that subset.

  • Gem #52: Scripting Capabilities in GNAT (Part 1)

    Ada Gem #52 — Programming languages are, at least in the mind of most programmers, divided into two categories: scripting languages and others. The dividing line is not always obvious, and generally has to do with the size of the application, whether the language is interpreted or compiled, and whether doing operations such as manipulating external processes is easy.

    It's safe to say, though, that Ada is almost never classified as a scripting language. This Gem demonstrates a few of the packages that are part of the GNAT distribution and that provide helpful scripting features to accomplish tasks that would often be thought to be in the domain of languages specialized for scripting. Portability is of course a major advantage of choosing Ada!

Live Docs

  • GNAT User’s Guide for native platforms »

    This guide describes the use of GNAT, a compiler and software development toolset for the full Ada programming language.

    It describes the features of the compiler and tools, and details how to use them to build Ada 95 applications.

  • GNAT Reference Manual »

    This manual contains useful information in writing programs using the GNAT compiler. It includes information on implementation dependent characteristics of GNAT, including all the information required by Annex M of the standard.

Technical Papers

Development Log

Press Releases

In the Press

Events