Free Pascal
Материал из Википедии — свободной энциклопедии
| Free Pascal Compiler | |
![]() |
|
|
Free Pascal, запущенный из командной строки
|
|
| Тип | Компилятор |
| Разработчик | Florian Klämpfl + участники проекта |
| Написана на | Object Pascal и язык ассемблера |
| ОС | Windows, Linux, FreeBSD, Mac OS X, и т. д. |
| Версия | 2.2.4 — 12 апреля 2009 |
| Лицензия | GNU GPL |
| Сайт | freepascal.org |
Free Pascal (полное название Free Pascal Compiler, часто используется сокращение FPC) — свободный компилятор языка программирования Pascal.
Компилятор существует для различных аппаратных и программных платформ, текущая ветка (2.2.x) поддерживает следующие:
- Архитектура x86
- DOS (с использованием Go32v2)
- FreeBSD версий 6.x, 7.x
- Linux
- Mac OS X
- Microsoft Windows
- Архитектура x86_64
- Linux
- Windows (только кросс-компиляция с использованием версии для Windows x86)
- Архитектура SPARC
- Linux
- Архитектура PowerPC
- Linux
- Mac OS X
- Архитектура PowerPC64
- Linux
- Архитектура ARM
- Linux
- Windows CE (только кросс-компиляция с использованиецм версии для Windows x86)
Более ранние версии также поддерживали архитектуру m68k (операционные системы NetBSD, Linux и AmigaOS), а также операционные системы Solaris, QNX и BeOS для x86.
Важной особенностью данного компилятора, в отличие, например, от GNU Pascal, является ориентация на распространённые коммерческие диалекты языка: Object Pascal и Delphi.
В настояще время в рамках проекта также разрабатывается Lazarus — свободный аналог среды разработки Delphi и Lazarus Components Library (LCL) — свободная библиотека виджетов, аналогичная VCL в Delphi. Существуют и альтернативные проекты визуального программирования на базе Free Pascal, наиболее зрелым из которых является MSEide, использующий собственную, несовместимую с VCL библиотеку компонентов MSEgui. Кроме того, в настоящее время можно использовать известную невизуальную библиотеку KOL.
Содержание |
[править] Режимы совместимости
Free Pascal поддерживает компиляцию в нескольких режимах, обеспечивающих совместимость с различными диалектами и реализациями языка.
- TP — режим совместимости с Turbo Pascal: совместимость практически полная, за исключением нескольких моментов, связанных с тем, что FPC компилирует программы для защищённого режима процессора, где невозможно прямое обращение к памяти, портам и т. д.
- FPC — собственный диалект: соответствует предыдущему, расширенному дополнительными возможностями, такими как, например, перегрузка операций.
- DELPHI — режим совместимости с Borland Delphi: включает поддержку классов и интерфейсов.
- OBJFPC — совмещает объектно-ориентированные возможности Delphi и собственные расширения языка.
- MACPAS — режим совместимости с Mac Pascal.
- GNU — режим частичной совместимости с GNU Pascal.
[править] Особенности
- Поддержка перегрузки арифметических операторов (+, -, *, **, /, div, mod), операторов сравнения ( <, >, =, >=, <=) и оператора присванивания.
- Поддержка операторов присваивания с выполнением арифметической операции в стиле C (+=, -=, *=, /=).
- Наличие собственной системы сборки (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.
[править] Лицензия
Компилятор распространяется на условиях GNU General Public License, а значительная часть библиотек, в том числе ядро RTL — на условиях более мягкой GNU Lesser General Public License.


