Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по КМ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.81 Mб
Скачать

3.4 Основные конструкции языка рдо

1) Правила записи

При описании конструкций языка используются следующие условные обозначения:

  • Каждое правило записи состоит из одной или нескольких альтернатив (фраз), разделенных вертикальной чертой ( | ).

  • Фраза состоит из нуля или более элементов.

  • Элемент – это или зарезервированное слово языка (выделяется жирным шрифтом), или специальный символ (комбинация), или некоторое метаимя, заключенное в угловые скобки <>, или другое синтаксическое выражение, заключенное с двух сторон в фигурные, квадратные, круглые скобки.

  • Фигурные скобки указывают на повторение (нуль или более вхождений), квадратные скобки – на допустимость (нуль или одно вхождение), а круглые скобки – на группирование (точно одно вхождение) выражений, в них заключенных.

Алфавит

Алфавит языка содержит следующие символы:

  • цифры 0…9;

  • прописные и строчные латинские буквы A…Z, a…z;

  • прописные и строчные русские буквы А…Я, а…я;

специальные символы:

  • _ - подстрочный символ;

  • $ - знак денежной единицы;

  • : - двоеточие;

  • [, ] - прямые скобки;

  • (, ) - круглые скобки;

  • {, } - фигурные скобки;

  • , - запятая;

  • + - знак сложения;

  • - - знак вычитания;

  • * - знак умножения;

  • / - знак деления;

  • < - знак меньше;

  • > - знак больше;

  • = - знак равно;

  • . - точка;

  • ' - апостроф;

  • \ - обратная косая черта;

  • ~ - тильда;

  • # - знак номера.

Лексемы и разделители

Лексемы языка состоят из символов, входящих в алфавит языка, и отделяются друг от друга одним или несколькими разделителями.

Разделителем является:

  • пробел;

  • знак горизонтальной табуляции;

  • конец строки;

  • конец объекта;

  • комментарий.

Разделители могут следовать один за другим в любом количестве и сочетании (кроме признака конца объекта).

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

Типы данных. Соответствие типов

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

В данной версии РДО-языка определены следующие типы данных:

  • целый тип - integer;

  • длинное целое - longint;

  • вещественный тип - real;

  • перечислимый тип;

  • ссылка на один из выше определенных типов - such_as.

Для целых и вещественных типов возможно задание диапазона допустимых значений. Диапазон указывают за зарезервированным словом integer, longint или real в квадратных скобках. Границы диапазона представляют собой численные константы вещественного или целого типа, их разделяют двумя точками.

Перечислимые типы задают указанием всех возможных значений. Имена всех возможных значений перечислимого типа указывают в круглых скобках через запятую.

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

such_as <имя_ранее_описанного_объекта>

Ссылки возможны на типы ранее описанных констант и параметров ресурсов, представленных в объекте типов ресурсов. Допустимы цепочные ссылки, т.е. ссылки на объект, тип которого также описан ссылкой.

В языке используют следующие соглашения о соответствии типов: целый тип всегда соответствует целому, а вещественный – вещественному, независимо от диапазона допустимых значений (если он задан). Перечислимые типы считаются соответствующими, только если один из них описан ссылкой на тип другого, либо если они оба описаны ссылкой на тип третьего.