Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Типы данных и операторы языка Delphi и Pascal.doc
Скачиваний:
2
Добавлен:
20.12.2018
Размер:
211.46 Кб
Скачать

2.1. Алфавит языка

Алфавит – совокупность допустимых в языке символов (или групп символов, рассматриваемых как единое целое). Элементы алфавита можно условно разбить на четыре группы:

  • символы, используемые в идентификаторах;

  • разделители;

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

  • неиспользуемые символы.

Идентификатор – имя любого объекта программы (константы, метки, типа, переменной, процедуры, функции, модуля, объекта). Он может включать буквы, цифры и символ подчеркивания. В качестве букв можно использовать 26 латинских букв (прописных и строчных). Помимо идентификаторов буквы могут использоваться в шестнадцатеричных числах (латинские a – f, A-F), строковых константах, служебных словах и комментариях. Прописные и строчные буквы в идентификаторах, служебных словах и числах не различаются. Однако в строках символов и комментариях строчные и прописные буквы различаются и при компиляции не преобразуются друг в друга. В качестве цифр можно использовать арабские цифры. В идентификаторах они могут присутствовать в любой позиции, кроме первой. Символ подчеркивания может находиться в любой позиции. Длина идентификатора может быть любой, но значимыми являются первые 63 символа, и по этим символам идентификаторы должны быть уникальны. Не разрешается использовать в качестве имен служебные слова и стандартные имена, которыми названы стандартные константы, типы, процедуры, функции и файлы.

Примеры имен:

A b12 r1m SIGMA gamma I80_86

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

  • пробел;

  • любой управляющий символ (коды от 0 до 31, например ^, #, $ );

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

В любом месте программы, где можно поместить один разделитель, их можно поместить любое количество и в любом сочетании.

Специальные символы можно разделить на три категории:

  • знаки операций;

  • знаки пунктуации;

  • зарезервированные слова.

Знаки операций предназначены для обозначения тех или иных арифметических, логических или других действий. Они бывают двух типов: состоящие из небуквенных символов (+ – * / = <> < > <= >= := @) и буквенные операции, представляющие собой зарезервированные слова.

Знаки пунктуации

{}, (* *) Скобки комментария

[] Выделение индексов массивов, элементов множеств, размера строки.

() Выделение выражений, списков параметров.

‘ апостроф для выделения символов или строковой константы.

:= Знак присваивания значения переменной, типизированной константе или функции.

; Разделение предложений программы (операторов и объявлений).

: Отделение переменной или типизированной константы от типа, метки от оператора.

= Отделение идентификатора типа от описания типа или константы от ее значения.

, Запятая для разделения элементов списка.

.. Разделение границ диапазона.

. Обозначение конца программы, отделение целой части от дробной в вещественном числе, отделение полей в записи, отделение идентификатора от имени модуля или объекта, в котором он находится.

^ Обозначение типа-указателя, значения величины по ее указателю или управляющего символа.

@ Обозначение адреса переменной, типизированной константы, подпрограммы, метода.

# Обозначение символа по его коду.

$ Обозначение директивы компилятора или знак 16-го числа.

Зарезервированные слова включают служебные слова и имена директив. Служебные слова можно использовать только по своему прямому назначению и их нельзя переопределить. Директивы также имеют свое определенное назначение, но их можно переопределить, однако делать это крайне нежелательно.

absolute exports library set

assembler external mod shl

and far name shr

array file nil string

asm for near then

assembler forward not to

begin function object type

case goto of unit

const if or until

constructor implementation packed uses

destructor in private var

div index procedure virtual

do inherited program while

downto inline public with

else interface record xor

end interrupt repeat

export label resident

Кроме перечисленных в набор основных символов входит пробел. Пробелы нельзя использовать внутри сдвоенных символов и зарезервированных слов.