GNAT Ada Compiler

Includes an Ada front-end, the GCC code generator, the binder, linker, and run-time library. The software has the ability to build standalone static and dynamic libraries ad provides interfacing to C, C++, and Java.

Overview

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.

TECHNICAL SPECIFICATIONS

  • 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