Free Pascal
![]() |
|
Free Pascal, запущенный в командной строке |
|
| Тип | |
|---|---|
| Автор |
Free Pascal team |
| Разработчик |
Флориан Клэмпфль и другие участники проекта |
| Написана на | |
| Интерфейс | |
| Операционная система |
Linux, Mac OS X и др. UNIX-подобные, Windows, DOS, OS/2, Novell Netware |
| Аппаратная платформа | |
| Последняя версия |
2.6.0 (1 января 2012[1]) |
| Тестовая версия |
2.7.1 (выпускаются ежедневно) |
| Состояние |
активное |
| Лицензия | |
| Сайт | |
Free Pascal (полное название Free Pascal Compiler, часто используется сокращение FPC) в свободно распространяемый компилятор языка программирования Pascal.
Содержание |
[править] Платформы
Компилятор существует для различных аппаратных и программных платформ, ветвь 2.4.x поддерживает следующие:
- Архитектура x86
- DOS (с использованием Go32v2)
- FreeBSD версий 6.x, 7.x, 8.x
- Linux
- Mac OS X
- Microsoft Windows
- Sun Solaris[2]
- Haiku
- Архитектура x86-64
- Linux
- FreeBSD
- Mac OS X
- Windows (только кросс-компиляция с использованием версии для Windows x86)
- Архитектура SPARC
- Linux
- Solaris (экспериментальная версия)
- Архитектура PowerPC
- Linux
- Mac OS X
- Архитектура PowerPC64
- Linux
- Mac OS X
- Архитектура ARM
- Linux
- Windows CE (только кросс-компиляция с использованием версии для Windows x86)
- Windows Mobile
- Mac OS X (iPhone)
Более ранние версии также поддерживали архитектуру 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
[править] Лицензия
Компилятор распространяется на условиях GNU General Public License, а значительная часть библиотек, в том числе ядро RTL в на условиях более мягкой GNU Lesser General Public License.
[править] Примечания
- в‘ Репозиторий Free Pascal.
- в‘ [fpc-pascal]1.0.4 Solaris i386 port available
- в‘ FPC JVM. Архивировано из первоисточника 4 февраля 2012. Проверено 4 декабря 2011.
[править] Литература
- Алексеев Е. Р., Чеснокова О. В., Кучер Т. В. Free Pascal и Lazarus: Учебник по программированию. в М.: Альт Линукс, ДМК Пресс, 2010. в 438 с. в ISBN 978-5-94074-611-9
- Статьи по Freepascal. Архивировано из первоисточника 4 февраля 2012. Проверено 4 декабря 2011.
- Книги по Freepascal. Архивировано из первоисточника 4 февраля 2012. Проверено 4 декабря 2011.
[править] Ссылки
- Официальный сайт Free Pascal.
- Проект Free Pascal на SourceForge.net.
- Русскоязычный сайт с материалами по Free Pascal.
- Руководство пользователя Free Pascal на русском языке.
| Pascal | |||||||
|---|---|---|---|---|---|---|---|
| Диалекты | |||||||
| Компиляторы |
|
||||||
| IDE | |||||||
| Персоны | |||||||
- Free Pascal
- Компиляторы языка Паскаль
- Кроссплатформенное программное обеспечение
- Программное обеспечение для Mac OS X
- Программное обеспечение для Linux
- Программное обеспечение для Windows
- Свободные компиляторы и интерпретаторы
- Кроссплатформенные реализации языков программирования
- Свободное программное обеспечение, написанное на Pascal
- Свободное программное обеспечение, написанное на языке ассемблера
- Программное обеспечение с лицензией GNU GPL
