Pascal gratuit

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Compilator Pascal gratuit
software
Siglă
Pascal gratuit rulează prin linia de comandă
Pascal gratuit rulează prin linia de comandă
Tip Compilator
Dezvoltator Echipa Free Pascal Compiler
Data primei versiuni 1997
Ultima versiune 3.2.2 (20 mai 2021)
Sistem de operare Multiplatform
Limba Pascal
Asamblare
Obiect Pascal
Licență GPL
( licență gratuită )
Site-ul web www.freepascal.org/

Free Pascal (numit și FPK Pascal sau din nou FPC Pascal ) este un compilator multi-platform Pascal . Este software gratuit .

Introducere

Free Pascal este un compilator cross-platform pentru 32/64 biți procesoare . Compilatorul implementează limbajul Pascal al lui Borland : Turbo Pascal și Delphi ( Object Pascal ). De asemenea, are câteva caracteristici tipice MacPascal și este disponibil pentru cele mai comune sisteme de operare .

Free Pascal era cunoscut sub numele de FPK Pascal, deoarece literele FPK erau inițialele autorului său, Florian Paul Klämpfl . FPK nu a însemnat niciodată „Free Pascal Kompiler”, chiar dacă mulți oameni au crezut asta. De asemenea, scrierea „Compiler” cu „K” nu este foarte frecventă în limba germană. La sfârșitul anului 1997 , numele proiectului a fost schimbat în Free Pascal Compiler (FPC) pentru a evita confuzia și pentru că tot mai mulți oameni contribuiau la proiect.

FPC este un proiect destul de bine documentat, cu manuale care însumează 1800 de pagini. Părțile vizuale ale bibliotecilor Delphi (VCL) și crearea unui IDE vizual și RAD fac parte dintr-un proiect separat, Lazarus .

Free Pascal este distribuit cu un IDE bazat pe text similar cu cel al Turbo Pascal . Acest IDE s-a deteriorat de ceva timp din cauza lipsei unui agent de întreținere, dar cu un efort comun între a doua jumătate a anului 2005 și primele luni din 2006, majoritatea bug-urilor majore au fost remediate, iar IDE a revenit. gata pentru lansări .

La fel ca Turbo Pascal și Delphi , Free Pascal are un suport excelent pentru integrarea limbajului de asamblare în codul Pascal. FPC suportă chiar arhitecturi și notații multiple în ansamblul intern.

Free Pascal a fost ales „proiectul lunii” în decembrie 2018 pe SourceForge.

Dialectul limbajului

Necesită o actualizare
FPC a adoptat dialectul standard al programatorilor Pascal : cel Borland (în mod specific: Borland Pascal 7 și Delphi 2 în versiunea 1.0.x; în versiunea 2.0.x a existat trecerea la Delphi 6/7 pentru compatibilitate).

Oricum ar fi, proiectul folosește conceptul de mod de compilare și echipa a precizat că este dispusă să încorporeze patch-uri pentru dialectele standardizate ANSI / ISO pentru a crea un mod de compilare conform standardelor.

În plus, s-a făcut un mic efort pentru a susține o parte din sintaxa Apple Pascal pentru a facilita interfața cu Mac OS (X). Deoarece dialectul Apple implementează unele caracteristici ale standardului Pascal de care TP / Delphi nu are, FPC este puțin mai compatibil cu standardele ISO decât acesta din urmă, cu mai multe caracteristici acceptate pe drum.

Funcțiile Delphi lipsesc

În ciuda faptului că se bucură de o bună compatibilitate, există câteva caracteristici Delphi care nu sunt acceptate de Free PascaL:

  • Delegare prin utilizarea cuvântului cheie „ instrumente ” (2.0.x, corectat în 2.1+);
  • Interfețe duale automate COM IDispatch ( dispinterfaces );
  • dispid în interfețe normale (2.0.x, fix în 2.1+);
  • pachete : suport pentru compilator pentru importul / exportul de clase din / în biblioteci partajate (util, de exemplu, pentru Lazarus , care implementează pachete componente);
  • tipurile de seturi pot avea dimensiuni diferite. (2.0.x, corectat la 2.1+);

Istorie

Primii ani

când Borland a anunțat că nu va exista Borland Pascal 8 și versiunile ulterioare vor fi doar Windows (care va deveni ulterior Delphi), un student (Florian Paul Klämpfl) a început să lucreze la compilatorul său. Compilatorul a fost scris inițial în dialectul ( Borland ) Turbo Pascal și a produs cod pe 32 de biți pentru extender-ul DOS go32v1, utilizat și dezvoltat de proiectul DJGPP . Inițial compilatorul în sine era un executabil DOS pe 16 biți compilat cu Turbo Pascal . După doi ani, compilatorul a reușit să compileze și a devenit, de asemenea, pe 32 de biți .

Expansiune

Compilatorul inițial pe 32 de biți a fost lansat online și primii colaboratori s-au alăturat proiectului. În anii care au urmat publicării sale pe Internet, compilatorul a fost portat pe Linux de Michael van Canneyt (cu 5 ani înainte de Kylix ) și versiunea DOS a fost adaptată pentru utilizare în OS / 2 prin intermediul extensiei EMX. Versiunea DOS și tres a fost, de asemenea, îmbunătățită treptat și a migrat către extensia go32v2. Acest proces a culminat cu versiunea 0.99.5, care a fost mult mai utilizată decât versiunile anterioare și care a fost ultima versiune care vizează doar conformitatea Turbo Pascal: versiunile ulterioare vor adăuga, de asemenea, un mod compatibil Delphi. Versiunea 0.99.5 a fost, de asemenea, portată pe sisteme cu CPU 680x0 .

Cu 0.99.8 a fost adăugat la ținta Wii32 și a început să se adauge unele caracteristici Delphi nu. Punctul de referință al lansării 1.0 stabile a fost atins în iulie 2000. Seria 1.0.x (și versiunile de remediere a bug-urilor / stabilizare care au urmat, cea mai recentă, 1.0.10, în iulie 2003) au fost utilizate pe scară largă, atât la nivel comercial, cât și la nivel educațional. scopuri. Pentru versiunile 1.0.x, portarea la CPU-uri 680x0 a fost refăcută, iar compilatorul a reușit să producă cod stabil pentru sistemele Unix echipate cu procesoare 68k și pentru AmigOS .

Generația următoare

În timpul procesului de stabilizare a ceea ce va deveni versiunea 1.0.x, în special la portarea la sistemele m68k, a devenit clar că proiectarea generatorului de cod a fost prea limitată din mai multe puncte de vedere. Principalele probleme implicau adăugarea unui nou procesor, ceea ce însemna practic rescrierea generatorului de cod și alocarea registrului, care se baza pe principiul păstrării întotdeauna a 3 registre libere între blocuri, care era inflexibil și dificil de menţine.

Din aceste motive, în decembrie 1999 ramura FPC 1.1.x a fost ramificată din ramura principală 1.0.x. La început, modificările implicau în principal curățarea și rescrierea tuturor părților compilatorului; generatorul de cod și alocatorul de registre au fost apoi rescrise. Ca bonus, au fost adăugate caracteristici care lipseau din compatibilitatea Delphi.

Lucrările la 1.1.x au continuat încet, dar constant, iar spre sfârșitul anului 2003 a început să funcționeze portul pentru PowerPC, urmat de cel pentru ARM și SPARC în vara / iarna anului 2004, care a fost urmat de portul pentru AMD64. Portarea către AMD64 a făcut compilatorul pentru 32/64-bit.

În noiembrie 2003, o primă versiune beta a sucursalei 1.1.x a fost eliberat și, pentru această ocazie, numărul versiunii a fost schimbat la 1.9.0. 1.9.2 și 1.9.4 au urmat rapid. Versiunea 1.9.4 a fost specială, deoarece a fost prima cu suport pentru Mac OS X.

Lucrările au continuat cu versiunile 1.9.6 (ianuarie 2005 ), 1.9.8 (sfârșitul lunii februarie 2005), 2.0.0 (mai 2005), 2.0.2 (decembrie 2005), 2.0.4 (august 2006 ) și 2.2.0 (septembrie 2007 ).

Evoluții viitoare

Următoarele caracteristici lipsesc în versiunea 2.0.x și sunt necesare. Cele marcate cu † se lucrează în prezent în ramura 2.1.x / 2.3.1.

  • Creați / îmbunătățiți suportul pentru COM / OLE . Această sarcină are mai multe fațete:
    • Interfețe compatibile COM / vmt
    • (OLE) Variante (necesare pentru OLE)
    • † delegarea prin instrumente
  • Conectare / depanare / format fișier:
    • † Îmbunătățiți legarea inteligentă (ștergeți fișierele .a, mai puțină utilizare a memoriei), momentan doar pentru wince / 32/64.
    • Îmbunătățiți „pachetele” și, în general, suportul pentru bibliotecile dinamice (PIC!).
    • † Îmbunătățiți legarea încrucișată.
    • † Înjunghiere-> crossover pitic. (pentru a implementa mai întâi platforme pe 64 de biți)
    • Creați un fel de compatibilitate pentru resursele Kylix . (Încă în discuție)
  • Apple Pascal :
    • Posibilitatea de a trece o sub-procedură la o altă procedură, cum ar fi procvar.
    • Împachetarea de biți a înregistrărilor
  • Optimizare :
    • Recursivitatea cozii
    • Omisiunea stackframe
    • Optimizare CSE bazată pe temp (registru)

Unele dintre aceste funcții, în special cele din secțiunea de conectare , pot necesita unele modificări:

  • † Introducerea unui linker intern pentru unele platforme. (eliminați linkerul extern, LD) (va fi implementat numai pentru wince / 32/64)
  • Gestionarea modulului rescris (unitate), amânat până după versiunea 2.2

Ţintă

Disponibilitatea compilatorului FPC depinde de versiunile majore.

Versiunea 3.2.2 (curent stabil)

Versiunea 2.4.x

În această versiune, au fost adăugate și finalizate mai multe platforme:

  • Țintă îmbunătățită pentru MacOS pe 64 de biți (x86_64 / ppc64)
  • iPhone (Mac OS X / Arm)
  • Haiku (din familia BeOS )
  • Suport îmbunătățit pentru ARM EABI

Versiunea 2.3.x

În plus față de toate țintele acceptate de versiunea 2.2, această versiune acceptă:

Versiunea 2.2.x

Versiunea stabilă actuală 2.2.0 adaugă suport pentru:

Versiunea 2.0.x

Procesor :

Sisteme de operare:

Versiunea 1.0.x

Versiunea stabilă anterioară 1.0.x a fost disponibilă pentru procesor

și a acceptat următoarele sisteme de operare

și platforme beta:

Software de aplicație produs cu Free Pascal

Elemente conexe

Alte proiecte

linkuri externe

Note generale

Site-uri oficiale

Instrument de dezvoltare

  • FPS un IDE Win32 complet pentru FPC, inclusiv depanator (ferestre de urmărire, punct de întrerupere și ceas)
  • DevPascal IDE Win32 pentru FPC.
  • FPCShell un alt IDE Win32 pentru FPC.
  • MSEide + MSEgui un sistem de dezvoltare GUI RAD / cross-platform pentru FPC
  • CrossFPC este un set de instrumente gratuit pentru integrarea compilatorului Free Pascal, capabil să producă executabile pentru diferite sisteme de operare și platforme, în IDE-ul Borland Delphi . Mai multe informații despre proiect peaceastă listă de e-mail Arhivat 22 august 2007 la Internet Archive.

Site-uri specializate în dezvoltarea de jocuri video

Controlul autorității GND ( DE ) 7659226-1
Software gratuit Free Software Portal : accesați intrările Wikipedia care se ocupă de software gratuit