Free Pascal

Материал из Википедии — свободной энциклопедии
(перенаправлено с «FreePascal»)
Перейти к навигации Перейти к поиску
Free Pascal
FPClogogif.gif
Free Pascal, запущенный в командной строке
Free Pascal, запущенный в командной строке
Тип компилятор
Автор Free Pascal team
Разработчики Флориан Клэмпфль и другие участники проекта
Написана на Object Pascal и язык ассемблера
Операционная система Linux, Mac OS X и др. UNIX-подобные, Windows, DOS, OS/2, Novell Netware, Android, AmigaOS, AmigaOS 4, AROS, MorphOS
Первый выпуск 1997
Аппаратная платформа x86/64, SPARC, m68k, PowerPC/64, ARM
Последняя версия
Состояние активное
Лицензия GNU GPL 2[3]
Сайт freepascal.org
Commons-logo.svg Медиафайлы на Викискладе

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

Платформы[править | править код]

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

  • Архитектура MIPSEL
    • Linux (Экспериментальная поддержка, не тестирован)

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

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

Библиотеки и оболочки[править | править код]

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

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

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

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

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

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

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

  • Режим FPC — собственный диалект: соответствует предыдущему, расширенному дополнительными возможностями, такими как, например, перегрузка операций.
  • Режим ObjFPC — совмещает объектно-ориентированные возможности Delphi и собственные расширения языка.
  • Режим Delphi — данный режим предоставлен для совместимости с компилятором Delphi от компании Embarcadero с целью упрощения портирования существующих исходных файлов на Free Pascal. Для этого вам необходимо включить этот режим директивой ${mode Delphi} в исходном файле или с помощью опции -Mdelphi в командной строке компилятора.
  • Режим TP/BP — Этот режим обеспечивает максимальную совместимость с компиляторами Turbo Pascal / Borland Pascal , чтобы упростить перенос существующего кода на FPC. Он использует возможности, которые не рассматриваются в качестве рекомендуемых, несколько изменяя правила синтаксиса. В случае необходимости, он вносит изменения в стандартный режим ассемблера $ASMMODE INTEL и т.п. Для этого вам необходимо включить этот режим директивой ${mode TP} в исходном файле или с помощью опции -Mtp в командной строке компилятора.
  • Режим MacPas — режим совместимости с Mac Pascal.
  • Режим ISO 7185
  • Режим ExPas
  • Режим GPas — был режимом компилятора, с помощью которого Free Pascal пытался компилировать только допустимый код GNU Pascal. Данный режим удален из компилятора Free Pascal начиная с версии 2.2.

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

  • Поддержка перегрузки арифметических операторов (+, -, *, **, /, 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
  • 11 марта 2014 года — выход версии 2.6.4
  • 25 ноября 2015 года — выход версии 3.0.0
  • 15 февраля 2017 года — выход версии 3.0.2[17]
  • 28 ноября 2017 года — выход версии 3.0.4[18]
  • 19 июня 2020 года — выход версии 3.2.0[19]

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

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

См. также[править | править код]

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

  1. https://www.freepascal.org
  2. https://forum.lazarus.freepascal.org/index.php/topic,50274.0.html
  3. http://svn.freepascal.org/svn/fpc/trunk/compiler/COPYING.txt
  4. FPC from trunk for arm-aros.
  5. FreePascal 3.2.0 for arm AROS ABIv0.
  6. Stable FPC 3.0.1 for i386-aros.
  7. FreePascal 3.2.0 for i386 AROS ABIv0.
  8. FPC from trunk for x86_64-aros.
  9. FreePascal 3.2.0a for AmigaOS 3.x.
  10. FPC Amiga/AROS m68k.
  11. FPC AmigaOS 4.
  12. Free Pascal 3.2.0 for AmigaOS4.
  13. FreePascal 3.2.0a for AmigaOS 4.x.
  14. FPC MorphOS.
  15. FreePascal 3.2.0 for MorphOS.
  16. FPC JVM. Дата обращения: 4 декабря 2011. Архивировано 4 февраля 2012 года.
  17. Free Pascal — News (недоступная ссылка). Дата обращения: 25 июня 2017. Архивировано 20 июля 2017 года.
  18. Free Pascal — News (недоступная ссылка). Дата обращения: 25 июня 2017. Архивировано 20 июля 2017 года.
  19. FPC 3.2.0 Released !. forum.lazarus.freepascal.org. Дата обращения: 1 августа 2020.

Литература[править | править код]

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