Ada Semantic Analysis

ASIS is a library that gives applications access to the complete syntactic and semantic structure of an Ada compilation unit. This library is typically used by tools that need to perform some sort of static analysis on an Ada program.

ASIS, the Ada Semantic Interface Specification, is an international standard (ISO/IEC 15291:1995), and is designed to be compiler independent. Thus a tool that processes the ASIS representation of a program will work regardless of which ASIS implementation has been used. ASIS-for-GNAT is AdaCore’s implementation of the ASIS standard, for use with the GNAT Pro Ada development environment and toolset.

AdaCore can assist customers in developing ASIS-based tools to meet their specific needs, as well as develop such tools for them upon request.

Typical ASIS-for-GNAT applications include:

  • Static Analysis (property verification)
  • Code Instrumentation
  • Design and Document Generation Tools
  • Metric Testing or Timing Tools
  • Dependency Tree Analysis Tools
  • Type Dictionary Generators
  • Coding Standards Enforcement Tools
  • Language Translators (e.g., to CORBA IDL)
  • Quality Assessment Tools
  • Source Browsers and Formatters
  • Syntax Directed Editors

AdaCore has used ASIS-for-GNAT to develop a number of tools:

  • gnatelim
    Detects and eliminates unused subprograms, on a partition-wide basis
  • gnatstub
    Generates stubbed compilable bodies from specs
  • gnatcheck
    Coding standard verification tool
  • gnatpp
    Produces pretty-printed version of program
  • gnatmetric
    Analyzes source code to calculate a set of commonly used industry metrics

Knowledge Center

Live Docs

  • ASIS-for-GNAT Reference Manual »

    This Manual contains reference material for developers using ASIS-for-GNAT -- GNAT Pro's implementation of the Ada Semantic Interface Specification (ASIS). It provides information about ASIS-for-GNAT's implementation-specific(1) characteristics and current implementation limitations.

  • ASIS-for-GNAT User’s Guide »

    This guide has two aims. The first one is to introduce you to the Ada Semantic Interface Specification (ASIS) and show you how you can build various useful tools on top of ASIS. The second is to describe the ASIS implementation for the GNAT Pro Ada compiler.

Code Samples

Press Releases

In the Press