2.2 Lexical Elements, Separators, and Delimiters
Static Semantics
{
AI95-00285-01}
{
AI05-0262-1}
The text of a
compilation
is divided into
lines.
In
general, the representation for an end of line is implementation defined.
However, a sequence of one or more
format_effectors
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.
{
AI95-00285-01}
[In some cases an explicit
separator is required
to separate adjacent lexical elements.] A separator is any of a
separator_space,
a
format_effector, or the end of a line, as
follows:
The end of a line is always a separator.
{
AI05-0079-1}
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].
{
AI95-00285-01}
A
delimiter is either one of the following
characters:
& ' ( ) * + , – . / : ; < = > |
or one of the following
compound
delimiters each composed of two adjacent special characters
=> .. ** := /= >= <= << >> <>
The following names
are used when referring to compound delimiters:
delimiter | name
|
---|
=> | arrow
|
.. | double dot
|
** | double star, exponentiate
|
:= | assignment (pronounced: “becomes”)
|
/= | inequality (pronounced: “not
equal”)
|
>= | greater than or equal
|
<= | less than or equal
|
<< | left label bracket
|
>> | right label bracket
|
<> | box
|
Implementation Requirements
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
{
AI95-00285-01}
{
AI05-0299-1}
The wording was updated to use the new character categories defined in
the preceding subclause.
Extensions to Ada 2005
{
AI05-0079-1}
Correction: 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.
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe