Spec-Zone.ru › Ada 2005
Руководство по Ada 2005

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

Статическая семантика

Текст программы состоит из текстов одного или нескольких компиляций. Текст каждой компиляции представляет собой последовательность отдельных лексических элементов. Каждый лексический элемент образуется из последовательности символов и является либо разделителем, либо идентификатором, либо ключевым словом, либо числовой_литерал, либо символьный_литерал, либо строковый_литерал, либо комментарием. Смысл программы зависит только от конкретных последовательностей лексических элементов, которые образуют его компиляции, исключая комментарии.
Текст компиляции делится на строки. Вообще говоря, представление конца строки определяется реализацией. Однако последовательность одного или нескольких format_effectorов, отличных от символа с кодовой позицией 16#09# (ТАБУЛЯЦИЯ), указывает на по крайней мере один конец строки.
В некоторых случаях требуется явный разделитель для разделения смежных лексических элементов. Разделителем является любой из separator_space, format_effector или конец строки, как следует из следующего:
  • Разделителем separator_space является разделитель, за исключением комментария комментария, строкового_литерала или символьного_литерала.
  • Символ с кодовой позицией 16#09# (ТАБУЛЯЦИЯ) является разделителем, за исключением комментария комментария.
  • Конец строки всегда является разделителем.
Один или несколько разделителей допускаются между любыми двумя смежными лексическими элементами, перед первым в каждой компиляции или после последнего. По крайней мере один разделитель требуется между идентификатором, ключевым словом или числовой_литерал и смежным идентификатором, ключевым словом или числовой_литерал.
Разделитель — это один из следующих символов:
& ' ( ) * + , – . / : ; < = > |
или один из следующих составных разделителей, каждый из которых состоит из двух смежных специальных символов
=> .. ** := /= >= <= << >> <>
Каждый из специальных символов, перечисленных для разделителей с одним символом, является отдельным разделителем, за исключением случаев, когда этот символ используется в качестве символа составного разделителя или как символ комментария, строкового_литерала, символьного_литерала или числовой_литерал.




При ссылке на составные разделители используются следующие имена:
разделитель название
=> стрелка
.. двойная точка
** двойная звезда, возведение в степень
:= присваивание (произносится: «становится»)
/= неравенство (произносится: «не равно»)
>= больше или равно
<= меньше или равно
<< левая скобка метки
>> правая скобка метки
<> прямоугольник

Требования к реализации

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


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API