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

Лекция №2 Тема: Язык Object Pascal

План:

  1. Синтаксические правила языка

  2. Компилятор и его директивы

  3. Файлы проекта Delphi

  4. Области видимости и время жизни

1. Синтаксические правила языка

Основные синтаксические правила записи программ на языке Object Pascal сводятся к следующему:

  • Все используемые типы, константы, переменные, функции, процедуры дол­жны быть объявлены или описаны до их первого использования.

  • Прописные и строчные буквы идентичны. Например, идентификаторы LABEL1, Label 1 и label 1 идентичны.

  • При ссылках на идентичные идентификаторы, описанные в разных местах, например, в разных модулях или в разных объектах, используется нотация с точкой, в которой сначала перечисляются идентификаторы объектов, разделенные символами точки. Например, Unit2.A, или Form2.Label 1.Caption.

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

  • В строке может размещаться несколько операторов.

  • Комментарии в тексте заключаются в фигурные скобки: {текст комментария}. Вместо фигурных скобок можно использовать символы круглых скобок с символами звездочки «*»: (* текст комментария *). Комментарии, заключенные в фигурные скобки или в круглые скобки со звездочками, могут вводится в любом месте текста, в частности, внутри операторов, и занимать любое количество строк. Текст комментария в фигурных скобках не может начинаться с символа доллара, поскольку сочетание символов {$ воспринимается как начало директивы компилятора. Еще один способ введение комментария — размещение его после двух символов «слеш» («//»). Этот комментарий должен занимать конец строки, в котором он введен, и не может переходить на следующую строку. Любой текст в строке, помещенный после символов «//» воспринимается как комментарий.

  • Операторные скобки begin...end выделяют составной оператор. Все операторы, помещенные между ключевыми словами begin и end, воспринимаются синтаксически как один оператор.

  • Программа или отдельный модуль завершаются оператором «end.» (ключевое слово end с символом точки).

2. Компилятор и его директивы

Компилятор встроен в Интегрированную Среду Разработки Delphi и срабатывает, в частности, при выполнении команд Run | Run (компиляция и выполнение приложения), Project | Compile Project. В обоих вариантах команд компилируются только те модули, которые были изменены с момента последней компиляции. Такая выборочная компиляция позволяет в больших проектах экономить немало времени, поскольку модули, которые не изменялись, повторно не компилируются. Компилятор запускается также при выполнении команды Project | Build Project. В этом случае компилируются все файлы проекта независимо от времени их предыдущей компиляции. Это необходимо делать, если, например, вы решили, ничего не изменяя в тексте проекта, откомпилировать проект с другими опциями компилятора.

Помимо компилятора, встроенного в Интегрированную Среду Разработки, имеется также компилятор, воспроизводящий все те же функции, но при запуске с помощью командной строки DOS. Выполняемый файл этого компилятора — Dcc32.Exe. Его запуск осуществляется командой:

DCC32 [опции] имя_файла [опции] •

Каждая опция начинается с символа слеш (/), после которого без пробела сле­дует обозначение опции. Опции могут задаваться в любой последовательности как до имени файла, так и после него.

Если имя файла записано без расширения, то предполагается расширение .dpr (проект). Если соответствующего файла не находится, то ищется файл с расширением .pas. Если указанный в командной строке файл содержит программу, то после успешной компиляции создается выполняемый файл .ехе. Если файл в командной строке содержит библиотеку, то в итоге создается файл .dll. Если файл является пакетом, то создается файл .bpl. Если файл является модулем, то создается объектный модуль .dcu.

Функционирование компилятора Delphi определяется установленными в коде директивами. Каждая директива компилятора заключается в фигурные скобки и начинается с символа $. После этого символа без пробела должно быт написано имя директивы. Например, {$DEFINE Debug}, {$ELSE}, {$!+}, {$!-}.

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

Ключевые директивы включают или выключают те или иные возможности компилятора. Они могут быть записаны в двух версиях. Имя сокращенной версии (обычно используется именно эта версия) состоит из единственной буквы. После имени без пробела должен следовать символ «+» или «-», что означает включение или выключение соответствующей опции. Длинные версии директив состоят из длинного имени директивы, после которого через пробел следуют слова «on» или «off», что соответственно означает включение или выключение опции. Например, директивы

{$I + } И {$IOCHECKS ON}

означают одно и то же — включение проверки ошибок операций ввода/вывода.

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

Ключевые директивы могут формироваться в группы, разделяемые запятыми. Например:

{$B+,R-,S-J}

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

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

Если вы захотите узнать установленные директивы, нажмите клавиши Ctrl - О и затем еще раз нажмите «О». В начало вашего файла в Редакторе кода вставятся явным образом все значения директив, используемые в данный момент.

При работе из Интегрированной Среды Разработки режим работы компилятора задается окнами страницы Compiler диалогового окна опций проекта Project Options, вызываемого командой Project | Options.

Индикатор Default устанавливает выбранный набор опций как набор по умолчанию для последующих проектов.