2.2 Lexical Elements, Separators, and Delimiters
Static Semantics
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 position is 16#09# (CHARACTER TABULATION)
signifies at least one end of line.
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 character whose code position is 16#09# (CHARACTER
TABULATION) is a separator except within a
comment.
The end of a line is always a separator.
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.