Кіріспе

Pascal және Object Pascal үшін тегін компилятор және IDE

Free Pascal Compiler (FPC) – Pascal және Object Pascal бағдарламалау тілінің өте жақын диалекттері үшін жасалған компилятор. Бұл GNU General Public License лицензиясы бойынша таратылатын тегін бағдарламалық қамтамасыз ету, оның ішкі кітапханалары мен пакеттеріне кез келген мақсатта және кез келген басқа бағдарламалық лицензиямен үйлесімді статикалық сілтеме жасауға рұқсат беретін ерекше шарттары бар. Ол өзінің Object Pascal диалектін, сондай-ақ Borland Pascal (1990 жылғы 6-шы нұсқасына дейін "Turbo Pascal" деп аталған), Borland (кейін Embarcadero) Delphi және тарихи Macintosh компиляторлары сияқты бірнеше Pascal отбасы компиляторларының диалекттерін белгілі бір деңгейде қолдайды. Диалект модуль бойынша таңдалады және бір бағдарламада бірнеше диалект қолданылуы мүмкін. Ол "бір рет жазып, кез келген жерде компиляциялау" принципін ұстанады және көптеген процессор архитектуралары мен операциялық жүйелерде қолжетімді (талаптарды қараңыз). Ол тікелей құрастыру тілін қолдайды және AT&T және Intel стильдерін сияқты бірнеше диалекттерді талдай алатын ішкі құрастырушыны қамтиды. Платформалық графикалық пайдаланушы интерфейсі (GUI) қолданбаларын жасауды жеңілдету үшін жеке жобалар бар, олардың ең танымалсы – Lazarus интеграцияланған даму ортасы (IDE).

Қолдауы бар диалекттер

Бастапқыда Free Pascal, Pascal бағдарламалаушыларының де-факто стандартты диалектісі – Borland Pascal-ды қабылдады, бірақ кейін Delphi-дің Object Pascal-ына көшті. 2.0 нұсқасынан бастап Delphi үйлесімділігі үздіксіз түрде іске асырылып, жетілдіріліп келеді. Жобада компиляция режимі тұжырымы бар, және әзірлеушілер Америка Ұлттық Стандарттар Институтының (ANSI) және Халықаралық Стандарттау Ұйымының (ISO) стандартталған диалектілері үшін жұмыс істейтін түзетулерді енгізіп, стандартқа сәйкес келетін режимді құратындарын нақты айтты. Классикалық Mac OS және macOS жүйелерімен байланыстыруды жеңілдету үшін Apple Pascal синтаксисінің бір бөлігін қолдауға шамалы күш жұмсалды. Apple диалектісі Turbo Pascal және Delphi-де болмайтын кейбір стандартты Pascal мүмкіндіктерін іске асырады. 2.2.x нұсқалар сериясы Delphi 7 деңгейіндегі синтаксистен асып, диалектілік мақсаттарды едәуір өзгерте қоймады, керісінше, жақын үйлесімділікке ұмтылды. Бұл ережеден ерекшелік ретінде Free Pascal 2.2.0 нұсқасында жалпыламаларды (generics) қолдау, Delphi оларды қолдаудан бірнеше жыл бұрын қосылды. 2011 жылы Delphi 2006-ға тән бірнеше мүмкіндіктер дамыту тармағына қосылды, сондай-ақ Delphi 2009-дың жаңа мүмкіндіктері үшін бастапқы жұмыс (әсіресе UnicodeString типін қосу) аяқталды. Дамыту тармағында Objective C (Cocoa) интерфейсі үшін Objective Pascal кеңейтуі де бар. 2.7.1 нұсқасынан бастап Free Pascal негізгі ISO Pascal режимін іске асырды, бірақ Get және Put процедуралары сияқты көптеген мүмкіндіктер, сондай-ақ файлдарды өңдеу үшін файл буферінің айнымалы тұжырымы әлі де болмады. 3.0.0 нұсқасынан бастап ISO Pascal режимі толыққанды іске асырылды. Ол standardpascal.org-тың P5 ISO Pascal компиляторын ешқандай өзгеріссіз құрастыра алады.

Алғашқы жылдар

Боланд DOS үшін Borland Pascal-дың дамуы 7-ші нұсқада тоқтатылып, оның орнына кейін Delphi болған Windows-қа арналған өніммен алмастырылатынын мәлімдеген кезде Free Pascal құрылды. Студент Флориан Пол Клампфл Turbo Pascal диалектісінде жазылған өзінің компиляторын жасауды бастады және сол кезде DJ-дің GNU Programming Platform (DJGPP) жобасы пайдаланған және дамытқан GO32v1 DOS extender үшін 32 биттік кодты жасады. Алғашқыда компилятор Turbo Pascal арқылы құрастырылған 16 биттік DOS орындалатын файлы болды. Екі жылдан кейін компилятор өзін-өзі компиляциялай алды және 32 биттік орындалатын файлға айналды.

Кеңейту

Алғашқы 32 биттік компилятор Интернетте жарияланды, және жобаға алғашқы үлес қосушылар қосылды. Кейін Майкл ван Каннит Linux портын жасады, бұл Borland Kylix Pascal Linux компиляторы пайда болғанға дейін бес жыл бұрын болды. DOS порты Eberhard Mattes eXtender (EMX) арқылы OS/2 үшін бейімделді, бұл OS/2-ні қолдау көрсетілетін екінші компиляциялық мақсатқа айналдырды. Бастапқы автор Флориан Клампфлмен қатар, Даниэль Мантионе де осының іске асуына маңызды үлес қосты, OS/2 және EMX үшін орындалу уақыты кітапханасының бастапқы портын ұсынды. Компилятор біртіндеп жақсарды, ал DOS нұсқасы GO32v2 кеңейтімдеріне көшті. Бұл 0.99.5 нұсқасында аяқталды, ол бұрынғы нұсқаларға қарағанда әлдеқайда көп қолданылды және тек Borland Pascal стандартына сәйкес келетін соңғы нұсқа болды; кейінгі нұсқалар Delphi үйлесімділік режимін қосты. Бұл нұсқа Motorola 68000 (m68k) отбасы процессорларын қолданатын жүйелерге де портталды. 0.99.8 нұсқасында Win32 мақсаты қосылды, сондай-ақ Delphi мүмкіндіктерін енгізу жұмысы басталды. Ұзақ сынақтан өтпеген нұсқаға тұрақтандыру жұмысы басталды, ал 1.0 нұсқасы 2000 жылдың шілдесінде жарық көрді. 1.0.x сериясы бизнесте және білім беруде кеңінен қолданылды. 1.0.x нұсқалары үшін 68k CPU порты жаңадан жасалды, және компилятор бірнеше 68k Unix сияқты және AmigaOS операциялық жүйелері үшін тұрақты код өндірді.

2-ші нұсқасы

1.0.x нұсқасын тұрақтандыру кезінде, сондай-ақ Motorola 68k жүйелеріне көшіру барысында код генераторының дизайны көптеген жағынан тым шектеулі екені анық болды. Басты проблемалар процессорларды қосу код генераторын қайта жазуды талап етті, ал регистрлерді бөлу құрылыс блоктары арасында үнемі үш бос регистрді сақтау принципіне негізделген, бұл икемсіз және күтуге қиын болды. Осы себептерге байланысты 1999 жылдың желтоқсан айында 1.1.x сериясы 1.0.x негізгі тармағынан бөлінді. Алғашқы өзгерістер негізінен компилятордың барлық бөліктерін тазалау және қайта жазу болды. Код генераторы мен регистрлік бөлуші де қайта жазылды. Қалған Delphi үйлесімділігі қосылды. 1.1.x бойынша жұмыс баяу, бірақ тұрақты түрде жалғасты. 2003 жылдың соңында жұмыс істейтін PowerPC порты пайда болды, одан кейін 2004 жылдың жазында ARM порты, 2004 жылдың күзінде SPARC порты және 2004 жылдың басында x86 64 AMD64 порты қол жетімді болды, бұл компиляторды 64 биттік платформада пайдалануға мүмкіндік берді. 2003 жылдың қарашасында 1.1.x тармағының бірінші бета нұсқасы дайындалып, 1.9.0 ретімен белгіленді. Одан кейін 1.9.2 және 1.9.4 нұсқалары шықты; соңғысы OS X қолдауын қосты. Жұмыс 1.9.6 (қаңтар 2005), 1.9.8 (ақпан 2005), 2.0.0 (мамыр 2005), 2.0.2 (желтоқсан 2005) және 2.0.4 (тамыз 2006) нұсқаларымен жалғасты.

2.2.x нұсқасы

2006 жылы 2.2 нұсқасы үшін жоспарланған ірі өзгерістердің кейбіреуі, мысалы, бірлік жүйесін қайта жазу әлі басталмады. Сондықтан, оның орнына, бұрыннан енгізілген мүмкіндіктерді тұрақтандыруға кірісуге шешім қабылданды. Бұл жол картасының өзгеруіне себеп болған факторлардың бірі – Lazarus интеграцияланған даму ортасының қажеттіліктері болды, атап айтқанда, ішкі байланыстыру құралы, Win64, Windows CE және OS X жүйелерінде x86 архитектурасын қолдау, сондай-ақ DWARF сияқты байланысты мүмкіндіктер. Бета нұсқалары 2.1.2 және 2.1.4 шығарылғаннан кейін, 2.2.0 нұсқасы 2007 жылдың қыркүйегінде, 2.2.2 нұсқасы 2008 жылдың тамызында және 2.2.4 нұсқасы 2009 жылдың наурызында жарияланды. 2.2.x сериясы ActiveX және Компоненттік Объект Моделі (COM) интерфейсі, сондай-ақ Объектілерді байланыстыру және енгізу (OLE) үшін қолдауды едәуір жақсартты, бірақ қателер әлі де кездесе берді. `implements` кілт сөзін пайдаланып интерфейске делегациялау ішінара жүзеге асырылды, бірақ 2011 жылға дейін толыққанды аяқталған жоқ. ActiveX кітапханаларына қолдау да жақсартылды. Тағы бір маңызды жаңалық – Win32, Win64 және Windows CE үшін ішкі байланыстыру құралы, ол байланыстыру уақытын және жадты пайдалануды едәуір төмендетіп, Lazarus-та компиляция және байланыстыру циклын жылдамдатты. «Ақылды» байланыстыру, яғни пайдаланылмаған кодты жою тиімділігі де артты. Шағын жаңа мүмкіндіктердің қатарында DWARF (2/3) форматындағы қателерді жоюға қолдау, сондай-ақ құйрық рекурсиясы, қажетсіз стек фреймдерін жою және тіркеуге негізделген ортақ қосымша өрнектерді (CSE) жою сияқты оптимизациялар бар. Жалпылама бағдарламалауды (generics) қолдаудың алғашқы нұсқасы да қолжетімді болды, бірақ тек тәжірибелік режимде.

2.4.x нұсқасы

2.4.x релиз сериясының мақсаттары алдыңғы релиздерге қарағанда нашар анықталған еді. Бірлік жүйесін қайта жазу тағы да кейінге шегерілді, ал 2.4 болып табылатын тармақ 2.2-ден қауіпті өзгерістерді тұрақтандыру үшін құрылды. Көбінесе бұл қауіпті өзгерістер жаңа платформаларға – Mac PowerPC 64, Mac x86 64, iPhone, сондай-ақ ARM және x86 64 архитектураларына көптеген түзетулер, және DWARF-қа қатысты болды. Басқа компилятор жақсартуларына бүкіл бағдарламаны оңтайландыру (WPO), девиртуализация және ARM кіріктірілген қолданба екілік интерфейсін (EABI) қолдау кірді. Кейін, 2.2 циклы барысында, Delphi-ге ұқсас ресурс қолдауы (Паскаль тұрақтыларының орнына бинарлық файлдардағы арнайы бөлімдерге негізделген) қосылды. Лазар үшін өте қажет болған бұл мүмкіндік тармақтың басты артықшылығына айналды. Басқа, шағын қосымшаларға желілік ортада үйінді менеджерінің өнімділігін жақсартатын жад менеджері, OleVariant сияқты Delphi үйлесімділігінің шағын жақсартулары және интерфейс делегациясы жатады. 2010 жылдың 1 қаңтарында Free Pascal 2.4.0 шығарылды, ал 2010 жылдың 13 қарашасында 2.4.2 нұсқасы, for in циклдары, мөрленген және абстракт сыныптар және басқа өзгерістерге қолдаумен шығарылды.

2.6.x нұсқасы

2012 жылдың қаңтар айында Free Pascal 2.6 шығарылды. 2.6 нұсқалар сериясының бұл алғашқы нұсқасы OS X және iOS платформаларында Objective Pascal-ды қолдады, сондай-ақ көптеген шағын жақсартулар мен қателерді жойды. 2013 жылдың ақпан айында FPC 2.6.2 шығарылды. Ол 1.0.10 нұсқасынан бері алғаш рет NetBSD және OpenBSD үшін жаңа порттар негізіндегі нұсқаларды қамтыды. 2014 жылдың наурызында 2.6 сериясының соңғы нүктелік шығарылымы – 2.6.4 іске қосылды, ол негізінен деректер базасы (fcl db) жаңартуларын қамтиды.

3.0.x нұсқасы

3.0.0 нұсқасы 2015 жылдың 25 қарашасында жарияланды және 2012 жылдың 1 қаңтарынан бергі алғашқы маңызды жаңарту болды. Ол көптеген жаңа тіл мүмкіндіктерін ұсынды. 3.0.2 нұсқасы 2017 жылдың 15 ақпанында жарияланды және қателерді жою және компилятордың шағын жаңартуларын қамтиды. 3.0.4 нұсқасы 2017 жылдың 28 қарашасында жарияланды. Ол бұрынғы нұсқалармен салыстырғанда көптеген тілдік жақсартуларды қамтиды, соның ішінде орындалатын және байланыстырылатын формат (ELF) үшін ішкі байланыстыру құралын, iOS және Linux үшін Arm AARCH64, жаңадан құрастырылған i8086 платформасын, кеңейтілген кітапханаларды және тағы да көптеген жаңалықтарды ұсынады.

3.2.x нұсқасы

Келесі ірі релиз, 3.2.0 нұсқасы, 2020 жылдың 19 маусымында жарияланды. Ол көптеген жаңа тілдік мүмкіндіктерді, оның ішінде жалпылама процедураларды, стандартты кеңестік атауларды, басқарылатын тізімдерді және динамикалық массивтерге қосымша мүмкіндіктерді енгізді, сонымен қатар жаңа стандартты өлшем бірліктері пайда болды және қосымша платформалар қолдауға алынды. 3.2.2 нұсқасы 2021 жылдың 20 мамырында шығарылды және AArch64 архитектурасындағы macOS-ты, сондай-ақ жіптерге атау беруді қолдайды. Бұған қоса, ол қателерді жойды және компиляторға шағын жаңартулар енгізді.

Мақсаттар

Процессор архитектурасы Операциялық жүйе, құрылғы Нұсқасы 3.2.2 немесе 3.3.1 (Trunk) Нұсқасы 3.0.0 3.2.0 Нұсқасы 2.6.2 Нұсқасы 2.6.0 Нұсқасы 2.4.4 Нұсқасы 2.4.2 Нұсқасы 2.4.0 Нұсқасы 2.2.4 Нұсқасы 2.0. x Нұсқасы 1.0. x i386 DOS (GO32v2 extender) ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ FreeBSD ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ OpenBSD ✔ ✔ ✔ ✔ NetBSD ✔ ✔ ✔ ✔ Linux ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ macOS ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ OS/2 ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Windows ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Windows CE ✔ ✔ ✔ ✔ ✔ ✔ ✔ BeOS ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Haiku ✔ ✔ ✔ ✔ ✔ ✔ ✔ NetWare ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Solaris ✔ ✔ ✔ ✔ ✔ ✔ ✔ iPhone Sim ✔ ✔ ✔ ✔ QNX Neutrino ✔ ✔ Android ✔ ✔ ✔ AROS ✔ ✔ x86 64 FreeBSD ✔ ✔ ✔ ✔ ✔ ✔ OpenBSD ✔ ✔ ✔ NetBSD ✔ ✔ ✔ Linux ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ macOS ✔ ✔ ✔ ✔ ✔ ✔ ✔ Windows ✔ ✔ ✔ ✔ ✔ ✔ ✔ iPhone Sim ✔ ✔ ✔ ✔ AROS ✔ ✔ ✔ ✔ ✔ ✔ DragonFly BSD ✔ ✔ ✔ ✔ ✔ ✔ Solaris ✔ ✔ ✔ ✔ ✔ ✔ Haiku ✔ ✔ Android ✔ ✔ ARM iOS ✔ ✔ ✔ ✔ ✔ ✔ ✔ Game Boy Advance ✔ ✔ ✔ ✔ ✔ ✔ ✔ Nintendo DS ✔ ✔ ✔ ✔ ✔ ✔ ✔ Linux ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Windows CE ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Android ✔ ✔ ✔ Embedded ✔ ✔ ✔ Embedded Rasp Pi ✔ ✔ AROS ✔ ✔ AArch64 Linux ✔ ✔ ✔ iOS ✔ ✔ ✔ Android ✔ ✔ macOS ✔ AVR Embedded ✔ ✔ PowerPC Linux ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ macOS ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ Classic Mac OS ✔ ✔ ✔ ✔ ✔ ✔ ✔ AmigaOS 4 ✔ ✔ ✔ ✔ ✔ ✔ MorphOS ✔ ✔ ✔ ✔ ✔ ✔ AIX ✔ ✔ ✔ ✔ Wii ✔ ✔ ✔ ✔ ✔ PowerPC 64 bit Linux ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ macOS ✔ ✔ ✔ ✔ ✔ ✔ ✔ AIX ✔ ✔ ✔ ✔ SPARC Solaris ✔ ✔ ✔ ✔ ✔ ✔ NetBSD ✔ ✔ ✔ ✔ ✔ ✔ Embedded ✔ ✔ ✔ ✔ ✔ ✔ Linux ✔ ✔ ✔ ✔ ✔ ✔ SPARC64 Linux ✔ ✔ ✔ ✔ RISC V Embedded ✔ ✔ RISC V64 Embedded ✔ ✔ Java virtual machine Java ✔ ✔ Android ✔ ✔ MIPS (BE and LE) Linux ✔ ✔ Embedded ✔ ✔ 8086 (16 bit) DOS ✔ ✔ Win16 ✔ ✔ Embedded ✔ ✔ m68k Linux ✔ ✔ ✔ NetBSD ✔ ✔ ✔ AmigaOS ✔ ✔ ✔ Atari TOS ✔ ✔ ✔limited cross compiler only Palm OS ✔ ✔ Z80 Embedded ✔ ZX Spectrum ✔ MSX DOS ✔ WebAssembly Web browsers ✔

Free Pascal нұсқасы 3.0.0 Java Virtual Machine үшін байт-кодты жасауды қолдайды және Oracle Java және Google Android JVM-нің екеуін де мақсат етеді, бірақ Object Pascal синтаксисі толық қолдауға ие емес. Free Pascal 3.0.0 Raspbian-да жұмыс істейтін ARMV6 EABIHF-ті қоса алғанда, Raspberry Pi сияқты ARMHF платформаларын да қолдайды. 64 бит ARM-де жұмыс жасау 3.0.0-де iOS-ты қолдауды әкелді. Android үшін ARM кітапханаларын құру үшін бұрын хакерлік ARM Linux нысанасын аяқтап, Android үшін ARM Android мақсатты мақсат қосылды. Бұл Lazarus бағдарламаларын Android-ке көшіруді жеңілдетеді (жекешеленген интерфейсті пайдалану). FPC 2.6.2 бастап OpenBSD және NetBSD IA32 және X86 64 архитектураларында қолдау табады. ОЖ-сыз пайдалану үшін жаңа мақсатты орнатылған (негізінен ARM Cortex M және MIPS). InstantFPC көмегімен Unix скрипттері немесе CGI бэк-энд ретінде дәл уақытында аударылатын Pascal бағдарламаларын орындау мүмкін. Ultibo ядросы - Raspberry Pi үшін кіріктірілген немесе жалаңаш металл әзірлеу ортасы. Ultibo Free Pascal-ке негізделген және Lazarus-тың модификацияланған нұсқасы бойынша әзірленген. IDE ПК-ге негізделген, бірақ Linux және Mac-ке де портталған. Ultibo - бұл ОЖ-ның орындалу уақыты аз және көптеген функцияларды қолдайды және бағдарламашыға RTL блоктары арқылы аппаратты толық бақылауға мүмкіндік береді. Орындау уақыты көп желілі, алдын ала көп тапсырманы жүзеге асырады. Бағдарламашы белгілі бір процессорға желілер қоя алады немесе орындалу уақытын жүктемені автоматты түрде бөлуге немесе екеуінің аралас түріне қалдыра алады. Raspberry Pi-дің көпшілігі қолдайды, соның ішінде A, B, A+ және B+, сондай-ақ Raspberry Pi 2B, 3B, 4B/400/CM4 және Zero.

Интегралды даму орталары

Көптеген заманауи компиляторлар сияқты, Free Pascal-ды интеграцияланған даму ортасымен (IDE) пайдалануға болады. Тәуелсіз IDE-лерден басқа, әртүрлі қолданыстағы IDE-лерге арналған плагиндер де бар. Lazarus – Free Pascal бағдарламашылары ең көп қолданатын IDE. Ол Delphi IDE-ге ұқсас көрінеді және консольдік және графикалық қосымшаларды, Windows қызметтерін, демонды процестерді және веб-қосымшаларды жасау үшін қолданылады. Lazarus, Lazarus Component Library (LCL) деп аталатын платформааралық пайдаланушы интерфейсі құралдық жиынтығын ұсынады. LCL-мен жасалған графикалық қосымшаларды қайта компиляциялау немесе кросс-компиляциялау арқылы басқа платформаға көшіруге болады. Free Pascal-дың Turbo Pascal IDE-сіне ұқсас мәтіндік режимдегі IDE-сі де бар. Ол Free Vision құралдық жиынтығын (Free Pascal жиынтығына кіретін) пайдаланып жасалған, ол Turbo Vision-ның көшірмесі. Turbo Pascal IDE-нің көптеген мүмкіндіктерімен қатар, ол кодты толықтыру және HTML, Microsoft Compiled HTML Help (CHM), Information Presentation Facility (IPF) сияқты бірнеше анықтама файл форматтарын қолдайды. Командалық жол құралдарын пайдаланудың орнына, IDE өзінің кіріктірілген компиляторын қолданады, ол командалық жол компиляторы мен отладчикпен (libgdb немесе GDBMI пайдаланып) бірдей кодқа негізделген және функционалдығын қамтамасыз етеді. Dev Pascal – Free Pascal және GNU Pascal үшін тегін, тек Windows жүйесінде жұмыс істейтін IDE, 2004 жылғы FPC және 2005 жылғы GPC нұсқаларынан кейін одан әрі дамытылмады.

Free Pascal-пен жасалған бағдарламалық жасақтама үлгілері

ULTIBO Core] - Raspberry Pi тақталары үшін (операциялық жүйесіз) жалаңаш металлға бағытталған даму ортасы. Ол FreePascal/Lazarus-ты пайдаланады және қосымшаны unikernel орындалу ортасымен байланыстырады. Beyond Compare - Windows, OS X және Linux үшін деректерді салыстыру құралы. Linux және OS X нұсқалары Lazarus/FPC арқылы жинақталады. Cartes du Ciel - Linux, OS X және Windows үшін тегін планетарий бағдарламасы. Ол телескоп арқылы көрінетін көптеген жұлдыз шоқтарын, планеталарды және объектілерді картаға түсіріп, белгілейді. Ол Lazarus/FPC-де толығымен жазылған және GPL лицензиясымен шығарылған. Cheat Engine - бұл проприетарлық, бастапқы коды қолжетімді, тегін жад сканері, ондық редактор және жөндеуші. Оны компьютерлік ойындарда алдау үшін пайдалануға болады. 6.0 нұсқасынан бастап ол Lazarus/FPC арқылы жинақталады. D 2D және D 3D деректерді графикке түсіру бағдарламалары. Double Commander - Microsoft Windows-тың Total Commander-інен шабыттанған, ашық кодты, көп платформалық екі панельді файлдық менеджер. Free Pascal Object Pascal және ассамблер тілінде жазылған және өзінен-өзі жинақталатын бағдарлама. HNSKY, Hello Northern Sky - Windows және Linux үшін тегін планетарий бағдарламасы. 3.4.0 нұсқасынан бастап Lazarus/FPC арқылы жазылған және жинақталған. Lazarus: Free Pascal-дың Delphi сияқты графикалық қосымшаларды жылдам дамытуға арналған бағдарламалық пакеті. MeKin2D: жазықтық байланыс, камера және тісті механизмдердің кинематикасы үшін пакет. Morfik: Morfik WebOS AppBuilder CGI бинарлық файлдарын жасау үшін Free Pascal-ды пайдаланады. MyNotex - Linux үшін жазбалар жасау және жазбаларды басқару бағдарламасы. Nim компиляторының алғашқы нұсқалары Free Pascal-да жасалған, ол Nim-де өзін-өзі қамтамасыз ете алғанша. Peazip - Lazarus/FPC арқылы жасалған ашық кодты архивтеуші. Бұрын Python тілінде жазылған TorChat енді Free Pascal және Lazarus тілінде қайта жазылуда. Tranzistow - FreePascal/Lazarus арқылы жасалған Windows және Linux үшін 32/64 биттік бағдарламалық синтезатор.