The form of Ada program units is described by means of a context-free syntax together with context-dependent requirements expressed by narrative rules.
The meaning of Ada program units is described by means of narrative rules defining both the effects of each construct and the composition rules for constructs. This narrative employs technical terms whose precise definition is given in the text (references to the section containing the definition of a technical term appear at the end of each section that uses the term).
All other terms are in the English language and bear their natural meaning, as defined in Webster's Third New International Dictionary of the English Language.
The context-free syntax of the language is described using a simple variant of Backus-Naur-Form. In particular,
The syntax rules describing structured constructs are presented in a form that corresponds to the recommended paragraphing. For example, an if statement is defined as
if_statement ::= if condition then sequence_of_statements {elsif condition then sequence_of_statements} [else sequence_of_statements] end if;
Different lines are used for parts of a syntax rule if the corresponding parts of the construct described by the rule are intended to be on different lines. Indentation in the rule is a recommendation for indentation of the corresponding part of the construct. It is recommended that all indentations be by multiples of a basic step of indentation (the number of spaces for the basic step is not defined). The preferred places for other line breaks are after semicolons. On the other hand, if a complete construct can fit on one line, this is also allowed in the recommended paragraphing.
Rationale references: 2.1 Lexical Structure, 2.2 Textual Structure
Style Guide references: 2.1.8 Number of Statements Per Line
Address any questions or comments to webmaster@adaic.org.