Компилируемые модули на самом низком уровне состоят из последовательности лексических элементов. Лексические элементы включают идентификаторы (такие, как имя процедуры), зарезервированные слова и различные знаки пунктуации. К зарезервированным словам относятся ``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;
Перейти к предыдущему разделу | Перейти к следующему разделу | Вернуться к содержанию Урока 3 |
---|
David A. Wheeler (dwheeler@ida.org)
Исходная копия этого документа находится по адресу
"http://www.adahome.com/Tutorials/Lovelace/s3s1.htm".
Исходная копия перевода размещена на сайте http://www.ada-ru.org
Перевод: Юрий Королев
Общая редакция перевода: Г.Ю. Сисюк