Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Компилятор Free Pascal и IDE

Определение 1

Компилятор Free Pascal и IDE — это компилятор языка программирования Object Pascal, который имеет статус свободно распространяемого языка.

Общие сведения о языке программирования Free Pascal

Язык программирования Free Pascal выступает как свободное ответвление от стандартного языка Pascal, который был разработан Никлаусом Виртом в конце шестидесятых годов прошлого века. Н. Вирт сформировал этот язык с целью обучения студентов азам процедурного программирования. С течением времени язык Pascal подвергся ряду существенных модификаций, вследствие чего появилось большое количество разных диалектов этого языка, самым известным из которых является Turbo Pascal компании Borland.

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

Компилятор Free Pascal и IDE

Free Pascal, по другому именуемый как FPC (Free Pascal Compiler, то есть компилятор свободного языка Паскаль), представляет собой 32х-разрядный, кросс-платформенный компилятор языка Pascal. Free Pascal может быть отнесен к разряду свободного программного обеспечения (free software), которое распространяется согласно лицензии GNU.

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

«Компилятор Free Pascal и IDE» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

В целом возможности языка имеют ориентацию на развитые «промышленные стандарты», а не на ANSI-стандарт языка, как GNU Pascal. Промышленным же стандартом языка Pascal в настоящее время считается его диалект в форме Object Pascal от фирмы Borland. Помимо этого, Free Pascal поддерживает определенные добавочные расширения, которые являются нехарактерными для Borland Delphi.

Версия 1.0.10 осуществляет поддержку большой совокупности возможностей, в частности осуществляется поддержка Object Pascal на уровне Delphi 3, и частично от Delphi 4, а именно:

  1. Поддержка объектных типов, включая и классы.
  2. Поддержка длинных строк.
  3. Поддержка «широких» строк с поддержкой UNICODE. Хотя следует заметить, что полной поддержки разных кодовых страниц на сегодня так и нет, то есть, выполнить правильно автоматическое преобразование WideString → AnsiString и наоборот можно только для символов Latin-1.
  4. Поддержка перегрузки (overloading) функций и процедур.

Поддерживаются также и следующие дополнительные расширения:

  1. Возможность перегрузки операторов сравнения (больше, меньше, равно, больше или равно, меньше или равно; арифметических (+, -, •, /, div, mod), и оператора присваивания (:=).
  2. Возможность поддержки inline-функций и процедур, причем в отличие от Borland Pascal, эти подпрограммы можно не представлять в виде машинных кодов.
  3. Возможность поддержки примитивных макросов.
  4. Возможность поддержки операторов присваивания с исполнением определенного арифметического действия (+=, -=, *=, /=).

В версии 1.1 присутствуют возможности языка из старших версий Borland Delphi, а именно:

  1. Возможность использования динамических массивов.
  2. Возможность использования интерфейсов.

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

  1. Не является полностью завершенным автоматическое преобразование строк UNICODE.
  2. Формирование интерфейсов может допускать несоответствие требованиям модели COM.

Сам процесс компиляции осуществляется достаточно быстро, то есть, как и полагается компилятору Pascal, Free Pascal исполняет все процедуры за один проход. Для того чтобы собрать объектные файлы, которые получаются в итоге компиляции, следует вызвать внешний компоновщик, именуемый GNU ld (или ldw для платформы Windows). Строго говоря, дистрибутив Free Pascal просто имеет в своем составе пакет GNU BinUtils, частью которого является ld. Кроме того, этот пакет обладает кроссплатформенным ассемблером as (asw), GNU make, компилятором ресурсов для Windows (windres) и ряд других программ. Встроенный компоновщик запланирован в следующих вариантах компилятора.

Компилятор Free Pascal способен использовать процесс оптимизации. Но необходимо отметить, что данная оптимизация уступает интеллектуальной оптимизации компилятора языка Delphi, тем не менее рутинную, формальную оптимизацию FPC все-таки исполняет.

Далее следует рассмотреть набор стандартных модулей. В состав дистрибутива включены модули, которые способны реализовать основную функциональность. Фактический набор модулей определяется используемой платформой. Помимо ядра RTL, дистрибутив содержит в своем составе дополнительные модули, именуемые пакетами (packages), которые могут иметь, к примеру, интерфейс API SQL-сервера InterBase (пакет ibase), или функции работы с регулярными выражениями (пакет regexpr).

Кроме того, имеется в наличии некоторый аналог VCL, вернее ее ядра, то есть, основных классов и модулей библиотеки. Библиотека носит название FCL (Free Component Library) и может содержать как сравнительно примитивные классы, типа TStringList, так и классы, позволяющие работать с базами данных.

Необходимо отметить, что в целом, Free Pascal является отлично документированным. Документация к версии 1.0.10 имеет в своем составе шесть частей и может распространяться в разных форматах, включая исходники на LaTeX. В состав дистрибутива включены документы в форматах PDF и HTML.

Справочное руководство содержит описание языка, а также и модуля System. Кроме того, там есть описание модуля ObjPas, который автоматически подгружается (подобно System) когда выбран режим компиляции Delphi, или ObjFPC.

Дата написания статьи: 23.03.2022
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot