DIANA (intermediate language)

{{Short description|Intermediate language}}

{{Multiple issues|

{{primary sources|date=October 2011}}

{{one source|date=October 2011}}

}}

DIANA (Descriptive Intermediate Attributed Notation for Ada) is an intermediate language used to represent the semantics of an Ada program.

History

It was originally designed as an interface between the compiler front end (syntactic analysis) and middle end (semantic analysis) of the compiler on the one hand and the compiler back end (code generation and optimization) on the other. It is also used as an internal representation (IR) 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.

The Ada-0 subset of Ada at Karlsruhe (1980) was first using AIDA,{{cite conference |url=http://portal.acm.org/citation.cfm?id=948632.948639 |title=Towards a compiler front-end for Ada |last1=Goos |first1=Gerhard | last2=Winterstein | first2=Georg

|year=1980 |conference=Annual International Conference on Ada |book-title=Proceedings of the ACM-SIGPLAN symposium on Ada programming language |publisher=ACM-SIGPLAN |pages=36–46 |access-date=2016-02-10 }} but later AIDA got replaced by DIANA.

The full Karlsruhe Ada compilation system used DIANA as well and the IDL External Representation for marshalling between the middle-end and the code generating back-end.

References

=Footnotes=

{{Reflist}}

=General=

  • {{cite book |last1=Goos |first1=Gerhard |last2=Wulf |first2=William A. |last3=Evans |first3=Arthur |last4=Butler |first4=Kenneth J. |date=2000 |title=DIANA: an intermediate language for Ada |series=Lecture Notes In Computer Science |volume=161 |publisher=springer |isbn=0-387-12695-3 |url-access=registration |url=https://archive.org/details/dianaintermediat0000unse }}
  • DIANA Reference Manual, Draft Revision 4: http://www.dtic.mil/dtic/tr/fulltext/u2/a272792.pdf {{Webarchive|url=https://web.archive.org/web/20160303225230/http://www.dtic.mil/dtic/tr/fulltext/u2/a272792.pdf |date=2016-03-03 }}

{{Authority control}}

Category:Programming language implementation

Category:Ada (programming language)