Глава 1. АЛФАВИТ ЯЗЫКА
Алфавит - совокупность допустимых в языке символов (или групп символов,
рассматриваемых как единое целое). В языке Turbo Pascal все компоненты формируются
из множества символов стандарта ASCII. Элементы алфавита можно условно разбить на
четыре группы:
- символы, используемые в идентификаторах;
- разделители;
- специальные символы;
- неиспользуемые символы.
1.1. Символы, используемые в идентификаторах
Идентификатор - имя любого объекта программы - может включать буквы, цифры и символ
подчеркивания. В качестве букв можно использовать 26 латинских букв (прописных и строчных)
от А до Z и от а до z. Помимо идентификаторов буквы могут использоваться в
шестнадцатеричных числах для обозначения цифр от 10 до 15 (буквы от А до F и от а до f),
строковых константах, служебных словах и комментариях. Следует иметь в виду, что
прописные и строчные буквы в идентификаторах, числах и служебных словах не различаются:
так, например, NAME, Name или nAmE будут идентичны. Однако в строках символов и
комментариях строчные и прописные буквы различаются и не преобразуются при компиляции
друг в друга.
В качестве цифр допустимо использовать 10 арабских цифр от 0 до 9. В идентификаторах
они могут присутствовать в любой позиции, кроме первой. Цифры используются также в
изображении числовых констант (например, 157 или 12.8).
Символ подчеркивания может находиться в любой позиции.
Длина идентификатора может быть любой, но значимыми являются только первые 63
символа, и по этим символам все идентификаторы должны быть уникальными.
1.2. Разделители
Разделители используются для отделения друг от друга идентификаторов, чисел,
зарезервированных слов. В качестве разделителей можно использовать:
- пробел;
- любой управляющий символ (коды от 0 до 31), включая символ возврата
каретки (код 13);
- комментарий.
В любом месте программы, где можно поместить один разделитель, их можно поместить
любое количество и в любом сочетании. Это позволяет более наглядно представить
структуру программы.
Комментарии заключаются либо в скобки { }, либо в скобки вида (* *) и могут занимать
любое число строк. Комментарий, в котором за открывающей скобкой идет знак $, является
директивой компилятора (см. п. 17.7). Во время компиляции программы все комментарии,
за исключением директив компилятора, игнорируются.
1.3. Специальные символы
Специальные символы, выполняющие в языке определенные функции, можно разделить
на три категории:
- знаки пунктуации;
- знаки операций;
- зарезервированные слова.
1.3.1. Знаки пунктуации
Допустимые знаки пунктуации и их назначение представлены в табл. 1.
Таблица 1. Знаки пунктуации языка
Знак Применение
{ } Скобки комментария
(* *) Скобки комментария
[ ] Выделение индексов массивов, элементов множеств, размера строки
( ) Выделение выражений, списков параметров
' Апостроф для выделения символа или строковой константы
:= Знак присваивания значения переменной, типизированной константе
или функции
; Разделение предложений программы (операторов и объявлений)
: Отделение переменной или типизированной
константы от типа, метки от оператора
= Отделение идентификатора типа от описания типа
или константы от ее значения
, Запятая для разделения элементов списка
.. Разделение границ диапазона
. Обозначение конца программы, отделение целой части от дробной
в вещественном числе, отделение полей в записи, отделение
идентификатора от имени модуля или объекта, в котором он находится
^ Обозначение типа-указателя, значения величины по ее указателю или
управляющего символа (коды от 0 до 31)
@ Обозначение адреса переменной, типизированной константы, подпрограммы, метода
# Обозначение символа по его коду
$ Обозначение директивы компилятора или знак шестнадцатеричного числа
1.3.2. Знаки операций
Знаки операций предназначены для обозначения тех или иных арифметических,
логических или других действий. Они бывают двух типов: состоящие из небуквенных
символов (например, + - * и т. д.) и буквенные операции (например, not, div, mod
и т. д.), представляющие собой зарезервированные слова. Подробнее о знаках операций
см. п. 4.4.
1.3.3. Зарезервированные слова
Зарезервированные слова включают служебные слова (например, begin, end, div и т. д.)
и имена директив (например, external, forward и т. д.). Служебные слова можно
использовать только по своему прямому назначению и их нельзя переопределять.
Директивы также имеют свое определенное назначение, но в отличие от служебных слов
их можно переопределить, однако делать это крайне нежелательно. Полный перечень
зарезервированных слов Turbo Pascal 7.0 приведен в приложении А.
1.4. Неиспользуемые символы
Некоторые символы кодировки ASCII, такие, как, например, %, &," и т. д., включая буквы
русского алфавита, не используются в Turbo Pascal, но их можно использовать
в комментариях и символьных строках.