Введение в язык паскаль. Общая характеристика языка паскаль, страница 2

Операторы этой последовательности обычно выполняются в порядке их следования в тексте программы, при его просмотре слева направо по строке и сверху вниз по строкам. Таким образом, преемником каждого оператора обычно является следующий по порядку в тексте программы оператор. Этот естественный порядок выполнения операторов может быть нарушен с помощью операторов перехода, которые сами определяют своих преемников. Что касается производных операторов, то размещение входящих в их состав других операторов (которые могут быть как основными, так и производными) и порядок их выполнения определяются другими правилами, которые будут излагаться при рассмотрении соответствующих операторов.

Имена и идентификаторы

Весьма важным и употребительным понятием языка является идентификатор - этот термин происходит от слова "идентифицировать" т.е. "отождествлять". Поскольку алгоритм, определяющий процесс обработки данных, оперирует с различными программными объектами — переменными величинами, функциями и т.д., то при записи алгоритма приходится как-то ссылаться на используемые объекты. Для этой цели программным объектам даются индивидуальные имена и описание тех или иных действий над объектами дается в терминах их имен, которые и представляют соответствующие объекты. Именами обозначаются и некоторые атрибуты используемых объектов, например тип значений, которые могут принимать программные объекты. Роль таких имен и выполняют идентификаторы. Идентификатором является любая конечная последовательность букв и цифр, начинающаяся обязательно буквой. Более строго это понятие можно определить с помощью рекурсивной метаформулы

    < идентификатор > :: = < буква > | < идентификатор > < буква >

| < идентификатор > < цифра >

Если ввести в употребление промежуточное понятие (буква или цифра):

< буква или цифра >::= (буква) | < цифра)

то идентификатор можно определить метаформулой (идентификатор) ::= (буква) {( буква или цифра)}

С помощью синтаксической диаграммы идентификатор можно определить следующим образом:

Примеры идентификаторов:

х СУММА pi stepl Petrov a28cd5

(поскольку пробелы внутри идентификаторов не допускаются, то наличие пробела означает конец идентификатора).

Следующие записи не являются идентификаторами, поскольку каждая из них не подходит под синтаксическое определение идентификатора:

5f sum(2) step.7 Алма-Ата Заметим, что запись begin

вообще говоря подходит под синтаксическое определение идентификатора — это последовательность из пяти букв, начинающаяся буквой. Однако вспомним, что begin является служебным словом. А поскольку служебные слова в паскале запрещается использовать  для иных целей, то указанная запись не может быть использована в качестве идентификатора.

Идентификаторы не имеют какого-либо постоянно присущего им смысла, а используются только в качестве имен программных объектов или их атрибутов, так что в дальнейшем вместо слова "идентификатор" мы часто будем использовать более короткий термин "имя":

< имя > :: = < идентификатор >

Имена (идентификаторы) выбираются программистом по своему усмотрению. Чтобы сделать программу решения той или иной задачи более наглядной и понятной, следует избегать кратких, но мало выразительных имен типа х, t, s и т.д., а выбирать их так, чтобы имя отражало суть обозначаемого объекта (конечно, в рамках алфавита конкретной реализации языка), например

summa time ИНТЕГРАЛ путь ИВАНОВ

и т.п.

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

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