, the Descriptive Intermediate Attributed Notation for Ada
, is an intermediate language
used to represent the sematics of an Ada
program. It was originally designed as the interface between the front end (syntactic analysis) and middle (semantic analysis) of the compiler on the one hand; and the back end (code generation and optimization) on the other. It is also used as an internal representation by other language tools.
DIANA is also used by PL/SQL, which is based on Ada.
DIANA is an abstract data type; its concrete implementations are defined using the IDL specification language.
DIANA descends from TCOL and AIDA, earlier representations of Ada programs.
- Gerhard Goos, William A. Wulf, Arthur Evans, Jr., Kenneth J. Butler, DIANA: an intermediate language for Ada, Lecture Notes In Computer Science 161, 2000. ISBN 0-387-12695-3