Справочное руководство по языку Ада-83

Лексемы, разделители и ограничители


Текст программы состоит из текстов одной или нескольких компиляций. Текст каждой компиляции — это последовательность отдельных лексем. Лексема (лексический элемент) — это ограничитель, идентификатор (который может быть зарезервированным словом), числовой литерал, символьный литерал, строковый литерал или комментарий. Результат выполнения программы зависит только от конкретной последовательности лексем, исключая возможные комментарии.

В некоторых случаях необходим явный

разделитель

между соседними лексемами (в противном случае они могут быть восприняты как одна). Разделителем может быть символ пробела, символ управления форматом или конец строчки. Символ пробела не является разделителем в комментарии, строковом литерале или символьном литерале. Символ управления форматом (кроме символа горизонтальной табуляции, когда он употребляется в комментариях) всегда является разделителем.

Конец строчки всегда является разделителем. Язык не определяет, что является концом строчки. Если в данной реализации конец строчки обозначается одним или несколькими символами, то эти символы должны быть символами управления форматом, отличными от символа горизонтальной табуляции. Во всяком случае, последовательность из одного или нескольких символов управления форматом, отличных от символа горизонтальной табуляции, должна заменить по крайней мере один конец строчки.

Один или несколько разделителей допустимы между соседними, перед первой или после последней лексемы. По крайней мере один разделитель необходим между идентификатором или числовым литералом и соседними идентификаторами или числовыми литералами.

Ограничитель —

это один из следующих специальных символов из набора основных символов:

&'()*+,-./:;<=>!

или один из следующих

составных ограничителей,

представляющих собой пару специальныхсимволов:

=> .. ** := /= >= <= << >> <>



Каждый специальный символ является простым ограничителем, за исключением тех случаев, когда он встречается в составном ограничителе, в комментарии, в строковом, символьном или числовом литералах.


Остальные формы лексем описаны в других разделах данной главы.

Примечание.

Каждая лексема должна располагаться в одной строчке, поскольку конец строчки &#x2014; разделитель. Символы кавычки, решетки, подчеркивания и два соседних дефиса не являются ограничителями, но могут входить в лексемы в качестве ее частей.

Наименования составных ограничителей даны ниже:

Ограничитель

Наименование

= >

стрелка
.. двойная точка
** двойная звездочка, возведение в степень
:= присваивание (читается: &#xAB;Становится равным&#xBB;)
/= неравенство (читается: &#xAB;Не равно&#xBB;)
> = больше или равно
< = меньше или равно
<< левая скобка метки
>> правая скобка метки
< > бокс (или коробка)

Ссылки:

зарезервированное слово 2.9, идентификатор 2.3, комментарий 2.7, компиляция 10.1, символ пробела 2.1, символ управления 2.1, символьный литерал 2.5, специальный символ 2.1, строковый литерал 2.6, числовой литерал 2.4.

Пред.  Уровень выше  След.

Глава 2. ЛЕКСИКА   Содержание   2.3. ИДЕНТИФИКАТОРЫ

Содержание раздела