Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pas_L1.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
691.2 Кб
Скачать
    1. Лексическая структура языка. Комментарии и пробелы.

Символы из алфавита языка используются для построения базовых элементов Pascal-программ - лексем.

Лексемы – минимальная единица языка, имеющая самостоятельный смысл. В Turbo Pascal'е имеются следующие классы лексем:

  1. Служебные (зарезервированные) слова. Это ограниченная группа слов, построенные из букв. Каждое служебное слово представляет собой неделимое образование, смысл которого фиксирован в языке.

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

Служебных слов всего 55:

Absolute array

And asm

Assembler not

Begin object

Case of

Const or

Constructor packed

Destructor private

Div procedure

Do program

Downto record

Else repeat

End set

External shl

File shr

For string

Forward then

Function to

Goto type

If unit

Implementation until

In uses

Inline var

Interface virtual

Interrupt while

Label with

Mod xor

Nil

Заметим, что синтаксис Turbo Pascal на самом деле допускает использование некоторых служебных слов в качестве идентификаторов (к числу таких слов относятся assembler , external, forward, interrupt, private, virtual)

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

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

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

буква

буква

цифра

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

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

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

Например: index

INDEX

Index

Все они обозначают одну и ту же переменную.

Пробелы и специальные символы алфавита не могут входить в идентификатор.

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

a

ALPHA

MyProgram

_beta

data_27_sep_39

dog

неправильные идентификаторы

1Program - начинается цифрой

block#1 - содержит специальный символ

My Program - содержит пробел

Mod - зарезервированное слово

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

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

5.Разделители также формируются из специальных символов и в основном используются для повышения наглядности текстов программ.

Примерами разделителей могут служить следующие конструкции:

; : = ( .

В текстах Pascal-программ допускаются фрагменты пояснительного характера – комментарии.

Наличие комментариев не изменяет смысл программы и не влияет на ее выполнение.

В Turbo Pascal комментарии представляют собой произвольную последовательность символов ( не обязательно из алфавита языка; т.е. допускаются и русские буквы),

заключающиеся в фигурные скобки «’ и ’» или разделители вида “( * “ и”*)”

Например: это комментарий

(* А это длинный комментарий,

расположенный на

несколько строк*)

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

Например: Комментарий (*Вложенный комментарий*)

Комментарий

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

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

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

Директивы компилятора должны содержать сразу же после открывающей скобки (без пробелов и символов табуляции) символ “$” (доллар), а за ним - одиночную букву, определяющую конкретный режим компиляции. После буквы может присутствовать знак «+» (плюс) или «- » (минус), задающий, соответственно, установку или отмену заданного режима.

Например: $B- $N+

Допускается одновременная установка сразу нескольких режимов в одной директиве. В этом случае директивы отделяются друг от друга символам « , » ( запятая).

Например:

$M 2048,0, 6500 или $L PROCL.OBJ

Важную роль в тексте Pascal-программы играет символ, не имеющий изображения, - пробел.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]