Раздел 3.1 - Лексические элементы Ada

Теперь, когда мы видим общую картину структуры языка Ada ``сверху вниз'', рассмотрим его в другом направлении - ``снизу вверх''.

Компилируемые модули на самом низком уровне состоят из последовательности лексических элементов. Лексические элементы включают идентификаторы (такие, как имя процедуры), зарезервированные слова и различные знаки пунктуации. К зарезервированным словам относятся ``procedure'', ``package'', ``end'', ``if'' и т.д.

Ada, также как и Pascal, С, С++ является "языком свободной формы" (free-form language): переносы строк и пробелы могут находиться где угодно между лесическими элементами. Если идентификаторы или ключевые слова следуют друг за другом, они должны быть обязательно отделены друг от друга одним или более пробелом или маркером конца строки.

В Аде несущественен регистр символов, исключая содержимое строк, заключенных в кавычки. Ключевые слова и идентификаторы, записанные прописными и строчными символами, эквивалентны.

Синтаксис Ada предоставляет большую свободу, но некоторые соглашения о выделении пробелами и употреблении букв в различных регистрах помогают пониманию написанного ранее. Стиль программирования, использованный в данном учебнике - это стиль, предложенный в Software Productivity Consortia's (SPC) Ada Quality and Style: A Guide to Professional Programmers (которая рекомендована, как руководство Ada Joint Program Office). Этот стиль предусматривает, что ключевые слова записываются строчными буквами, идентификаторы начинаются с прописных букв и в каждой строке записана, как минимум, одна инструкция. Если идентификатор состоит более чем из одного слова, то каждое слово должно начинаться с прописной буквы, а между словами содержится символ подчеркивания ("_").


Упражнение:

Являются ли процедуры 1 и 2 идентичными с точки зрения компилятора?

Процедура 1:

 with Text_IO;
 procedure Hello is
 begin
  Text_IO.Put("This is a test!");
 end Hello;

Процедура 2:

 WITH TEXT_IO; PROCEDURE hello IS           BeGiN
 TEXT_IO.put("This is a test!"); END hello;
  1. Для компилятора они идентичны.
  2. Для компилятора они не идентичны.

Вы можете также:

PREVIOUS Перейти к предыдущему разделу

NEXT     Перейти к следующему разделу

OUTLINE  Вернуться к содержанию Урока 3

David A. Wheeler (dwheeler@ida.org)

Перевод: Юрий Королев   Общая редакция перевода: Г.Ю. Сисюк

Исходная копия этого документа находится по адресу "http://www.adahome.com/Tutorials/Lovelace/s3s1.htm".

Исходная копия перевода размещена на сайте http://www.ada-ru.org