2.2 Lexical Elements, Separators, and Delimiters
The text of a compilation
is divided into lines
general, the representation for an end of line is implementation defined.
However, a sequence of one or more format_effector
other than the character whose code position is
16#09# (CHARACTER TABULATION) character
signifies at least one end of line.
Implementation defined: The representation
for an end of line.
[In some cases an explicit separator
to separate adjacent lexical elements.] A separator is any of a separator_space space
, a format_effector format
, or the end of a line, as follows:
might be useful to define “white space” and use it here.
The character whose code position is 16#09# (CHARACTER
TABULATION) Character tabulation (HT)
is a separator except within a comment
The end of a line is always a separator.
One or more other_format
characters are allowed anywhere that a separator is[; any such characters
have no effect on the meaning of an Ada program].
is either one of the following special
& ' ( ) * + , – . / : ; < = > |
or one of the following compound
each composed of two adjacent special characters
=> .. ** := /= >= <= << >> <>
The following names
are used when referring to compound delimiters:
|**||double star, exponentiate
|:=||assignment (pronounced: “becomes”)
|/=||inequality (pronounced: “not
|>=||greater than or equal
|<=||less than or equal
|<<||left label bracket
|>>||right label bracket
An implementation shall support lines of at least
200 characters in length, not counting any characters used to signify
the end of a line. An implementation shall support lexical elements of
at least 200 characters in length. The maximum supported line length
and lexical element length are implementation defined.
Implementation defined: Maximum supported
line length and lexical element length.
Discussion: From URG recommendation.
Wording Changes from Ada 95
The wording was updated to use the new character
categories defined in the preceding clause.
Extensions to Ada 2005
that other_format characters are allowed anywhere
that separators are allowed. This was intended in Ada 2005, but didn't
actually make it into the wording.
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe