BNF of the Ada Programming Language

Each element of this page is an anchor to a description of a syntax rule of the Ada language. Each rule is illustrated by a graphical syntactic diagram. The rule names and non-terminal names are extracted from the Language Reference Manuel (Ada95). The rules are listed below in their order of appearance in the manual.
[credits & contributors]

Some interesting starting points to explore the language:
Compilation (root of the syntax)
Declarations
Expressions
[index on key words]
[index on special characters]

Rules listed by LRM chapter:

2. Lexical Elements
3. Declarations and Types
4. Names and Expressions
5. Statements
6. Subprograms
7. Packages
8. Visibility Rules
9. Tasks and Synchronization
10. Program Structure and Compilation Issues
11. Exceptions
12. Generic Units
13. Representation Issues
Credits & Contributors
This document and the syntactic diagrams were generated by "HyperGOS", a syntactic tools generator, developped at the University of Geneva by Jacques Guyot, Thibault Estier and Pascal Crausaz. HyperGOS is derived from GOS, a generic tool "a la Lex & Yacc", initialy developped by Jacques Guyot (some 15 years ago...) and extended since in many directions by many, many contributors, here at University of Geneva. The automatic diagram layout program was originally written by NGuyen Lai in 1981.
© 1994-1995 Th. Estier Geneva / estier@cui.unige.ch