Free Pascal

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Free Pascal Compiler
FPCLOGO.png
FPC Command Line.PNG
Free Pascal, запущенный в командной строке
Тип

компилятор

Автор

Free Pascal team

Разработчик

Флориан Клэмпфль и другие участники проекта

Написана на

Object Pascal и язык ассемблера

Интерфейс

консольное приложение

Операционная система

Linux, Mac OS X и др. UNIX-подобные, Windows, DOS, OS/2, Novell Netware

Аппаратная платформа

x86/64, SPARC, PowerPC/64, ARM

Последняя версия

2.6.4 (11 марта 2014[1])

Тестовая версия

2.7.1 (выпускаются ежедневно)

Состояние

активное

Лицензия

GNU GPL

Сайт

freepascal.org

Free Pascal (полное название Free Pascal Compiler, часто используется сокращение FPC) — свободно распространяемый компилятор языка программирования Pascal.

Платформы[править | править исходный текст]

Компилятор существует для различных аппаратных и программных платформ, ветвь 2.4.x поддерживает следующие:

  • Архитектура x86
  • Архитектура x86-64
    • Linux
    • FreeBSD
    • Mac OS X
    • Windows (только кросс-компиляция с использованием версии для Windows x86, либо возможна сборка FPC из исходников)
  • Архитектура SPARC
    • Linux
    • Solaris (экспериментальная версия)
  • Архитектура PowerPC
    • Linux
    • Mac OS X
  • Архитектура PowerPC64
    • Linux
    • Mac OS X
  • Архитектура ARM

Более ранние версии также поддерживали архитектуру m68k (операционные системы NetBSD, Linux и AmigaOS), а также операционные системы Solaris, QNX и BeOS для x86.

В разработке поддержка создания кода для Java Virtual Machine[3]

Библиотеки и оболочки[править | править исходный текст]

В настоящее время в рамках проекта также разрабатывается Lazarus — свободный аналог среды разработки Delphi и Lazarus Components Library (LCL) — свободная библиотека виджетов, аналогичная VCL в Delphi.

Существуют и альтернативные проекты визуального программирования на базе Free Pascal, наиболее зрелым из которых является MSEide, использующий собственную, несовместимую с VCL библиотеку компонентов MSEgui.

Другая альтернатива Lazarus’u fpGUI, простая библиотека виджетов, не содержащая дополнительных библиотек вроде работы с БД, XML и т. п. В её состав включён визуальный редактор форм, генерирующий исходный код создания формы на паскале.

Кроме того, в настоящее время для создания Windows-приложений можно использовать известную невизуальную библиотеку KOL.

Режимы совместимости[править | править исходный текст]

Важной особенностью данного компилятора, в отличие, например, от GNU Pascal, является ориентация на распространённые коммерческие диалекты языка: Object Pascal и Delphi.

Free Pascal поддерживает компиляцию в нескольких режимах, обеспечивающих совместимость с различными диалектами и реализациями языка.

  • TP — режим совместимости с Turbo Pascal: совместимость практически полная, за исключением нескольких моментов, связанных с тем, что FPC компилирует программы для защищённого режима процессора, где невозможно прямое обращение к памяти, портам и т. д.
  • FPC — собственный диалект: соответствует предыдущему, расширенному дополнительными возможностями, такими как, например, перегрузка операций.
  • DELPHI — режим совместимости с Borland Delphi: включает поддержку классов и интерфейсов.
  • OBJFPC — совмещает объектно-ориентированные возможности Delphi и собственные расширения языка.
  • MACPAS — режим совместимости с Mac Pascal.

Free Pascal версий до 2.4 поддерживал также режим частичной совместимости с GNU Pascal. В последних версиях этого режима нет, вместо него развивается (но пока не включается в документацию) режим совместимости со стандартом ISO Extended Pascal.

Особенности[править | править исходный текст]

  • Поддержка перегрузки арифметических операторов (+, -, *, **, /, div, mod), операторов сравнения (<, >, =, >=, <=) и оператора присваивания :=.
  • Поддержка операторов присваивания с выполнением арифметической операции в стиле Си (+=, -=, *=, /=).
  • Наличие собственной системы сборки (fpcmake) и генератора документации (fpcdoc).
  • Встроенный ассемблер по умолчанию использует синтаксис AT&T, синтаксис Intel включается отдельной директивой.

Краткая история[править | править исходный текст]

  • 1993 год — начало работы над проектом.
  • 1995 год — компилятор успешно компилирует сам себя.
  • 1996 год — проект опубликован в интернете под лицензией GNU GPL.
  • 12 июля 2000 года — выход версии 1.0.
  • 2003 год — выход версии 1.0.10, завершение работы над ветвью 1.0.x.
  • 15 мая 2005 года — выход версии 2.0.
  • 10 сентября 2007 года — выход версии 2.2.
  • 30 декабря 2009 года — выход версии 2.4.
  • 12 ноября 2010 года — выход версии 2.4.2.
  • 20 мая 2011 года — выход версии 2.4.4
  • 1 января 2012 года — выход версии 2.6.0
  • 23 февраля 2013 года — выход версии 2.6.2

Лицензия[править | править исходный текст]

Компилятор распространяется на условиях GNU General Public License, а значительная часть библиотек, в том числе ядро RTL — на условиях более мягкой GNU Lesser General Public License.

Примечания[править | править исходный текст]

Литература[править | править исходный текст]

Ссылки[править | править исходный текст]