назад

Глава 2. Лексемы


Лексемы - это минимальные значимые единицы текста в программе, написанной на Паскале. Они представлены такими категориями как специальные символы, идентификаторы, метки, числа и строковые константы.

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

Примечание: Разделители не могут быть частью лексем, за исключением строковых констант.


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

Borland Pascal использует следующие подмножества набора символов кода ASCII:





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

+ - * / = < > [ ] . , ( ) : ; ^ @ { } $ #

Следующие пары символов также представляют собой специальные символы:

<= >= := .. (* *) (. .)

Кроме того, некоторые специальные символы являются знаками операций. Левая квадратная скобка ([) эквивалентна паре символов, состоящей из левой круглой скобки и точки ((.). Аналогично правая квадратная скобка (]) эквивалентна паре символов, состоящей из точки и правой круглой скобки (.)).


Зарезервированные слова и стандартные директивы Borland Pascal

Следующие слова являются зарезервированными в Borland Pascal:

Таблица 1.1. Зарезервированные слова Borland Pascal

and

exports

mod

shr

array

file

nil

string

asm

for

not

then

begin

function

object

to

case

goto

of

type

const

if

or

unit

consatructor

implementation

packed

until

destructor

in

procedure

uses

div

inherited

program

var

do

inline

record

while

downto

interface

repeat

with

else

label

set

xor

end

library

shl

 

В настоящем руководстве зарезервированные слова записаны строчными буквами. Однако, для Borland Pascal безразличен регистр клавиатуры, поэтому вы можете использовать в своей программе буквы как нижнего, так и верхнего регистра.

Далее приведены стандартные директивы Borland Pascal. В отличие от зарезервированных слов пользователь может их переопределить. Однако делать это не рекомендуется.

Таблица 1.2. Стандартные директивы Borland Pascal

absolute

far

name

resident

assembler

forward

near

virtual

export

index

private

 

external

interrupt

public

 


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

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

Идентификатор может иметь любую длину, однако только первые его 63 символа являются значимыми. Идентификатор должен начинаться с буквы и не может содержать пробелов. После первого символа идентификатора можно использовать буквы, цифры и символы подчеркивания (значение ASCII $5F). Как и в зарезервированных словах, в идентификаторах можно использовать как строчные, так и прописные буквы (компилятор их не различает).

Идентификатор должен начинаться с буквы и не должен содержать пробелов. После первого символа допускаются буквы, цифры и символ подчеркивания (ASCII $5F). Как и зарезервированные слова, идентификаторы безразличны к регистру клавиатуры.

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

Примечание: Модули описываются в Главе 7 "Руководства пользователя" и в Главе 10 данного руководства.



Приведем несколько примеров идентификаторов:

     Writeln
     Exit
     Real2String
     System.MemAvail
     Dos.Exec
     WinCrt.Windows

Числа

Для чисел, представляющих собой константы целого и вещественного типа, используется обычная десятичная запись. Целая константа в шестнадцатиричном формате имеет в качестве префикса знак доллара ($). Техническое обозначение (E или е с показателем степени) в вещественных типах читается, как "на десять в степени". Например, 7E-2 означает 7х10^-2, а 12.25E+6 или 12.25E6 оба обозначают 12.25х10^+6. Синтаксические диаграммы для записи чисел приведены ниже.





Числа с десятичными точками или показателями степени представляют собой константы вещественного типа. Остальные десятичные числа обозначают константы целого типа. Они должны принимать значения в диапазоне от -2147483648 до 2147483647.

Шестнадцатиричные числа обозначают константы целочисленного типа. Они должны находиться в диапазоне от $00000000 до $FFFFFFFF. Окончательный знак значения определяется шестнадцатиричной записью.


Метки

Меткой является последовательность цифр в диапазоне от 0 до 9999. Начальные нули не являются значащими. Метки используются с операторами перехода goto.

Как расширение стандартного Паскаля, Borland Pascal позволяет использовать в качестве меток идентификаторы функций.


Строки символов

Строка символов представляет собой последовательность, содержащую ноль и более символов из расширенного набора символов кода ASCII, записанную в одной строке программы и заключенную в одиночные кавычки (апострофы). Строка символов, ничего не содержащая между апострофами, называется нулевой строкой. Два последовательных апострофа в строке символов обозначают один символ - апостроф. Атрибут длины строки символов выражается действительным количеством символов между апострофами, например:

     'Borland'
     'You'll see'
     ''''
     ';'
     ' '
     ''                      { пустая строка }
     ' '                     { пробел }

В качестве расширения стандартного Паскаля, Borland Pascal разрешает вставлять в строку символов управляющие символы. Символ # с целой константой без знака в диапазоне от 0 до 255 обозначает соответствующий этому значению символ в коде ASCII. Между символом # и целой константой не должно быть никаких разделителей. Аналогично, если несколько управляющих символов входит строку символов, то между ними не должно быть разделителей.

Приведем несколько примеров строк символов:

      #13#10
     'Line 1'#13'Line2'
     #7#7'Make up!'#7#7

Примечание: CR - символ возврата каретки.

Длина символьной строки - это фактическое число символов в строке. Строка символов любой длины совместима с любым строковым типом и, при разрешении директивой {$X+} расширенного синтаксиса, с типом PChar. Кроме того, строка символов с длиной, равной 1, совместима с любым типом Char. Строка символов длиной n, где n больше или равен 1, допустима для любого строкового типа и упакованных массивов из n символов.


Комментарии

Следующие конструкции представляют собой комментарии и поэтому игнорируются компилятором:

     { любой текст, не содержащий правую фигурную скобку }
     (* любой текст, не содержащий звездочку/правую круглую скобку *)

Комментарий, содержащий знак доллара ($) сразу после открывающей скобки { или (*, является директивой компилятора. За символом $ следует мнемоника команды компилятора.

Примечание: Общее описание директив компилятора дано в Главе 2 "Справочного руководства программиста".


Строки программы

В Borland Pascal строки программы имеют максимальную длину в 126 символов.

 

Hosted by uCoz