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 point is 16#09# (CHARACTER TABULATION)
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
, or the end of a line, as
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
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 subclause.
Extensions to Ada 2005
Clarified 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.
Wording Changes from Ada 2012
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe