Loading AI tools
compilatore Pascal multipiattaforma a codice sorgente aperto Da Wikipedia, l'enciclopedia libera
Free Pascal (chiamato anche FPK Pascal od ancora FPC Pascal) è un compilatore Pascal multipiattaforma. È un software libero.
Free Pascal Compiler software | |
---|---|
![]() | |
Genere | Compilatore |
Sviluppatore | The Free Pascal Compiler team |
Data prima versione | 1997 |
Ultima versione | 3.2.2 (20 maggio 2021) |
Sistema operativo | Multipiattaforma |
Linguaggio | Pascal linguaggio assembly Object Pascal |
Licenza | GPL (licenza libera) |
Sito web | www.freepascal.org/ |
Free Pascal è un compilatore multipiattaforma per processori a 32/64 bits. Il compilatore implementa il linguaggio Pascal della Borland: Turbo Pascal e Delphi (Object Pascal). Inoltre possiede alcune caratteristiche tipiche del MacPascal ed è disponibile per i più comuni sistemi operativi.
Free Pascal era conosciuto con il nome di FPK Pascal, poiché le lettere FPK erano le iniziali del suo autore, Florian Paul Klämpfl. FPK non ha mai significato "Free Pascal Kompiler" anche se molte persone pensavano ciò. Inoltre, scrivere "Compiler" con la "K" non è molto comune in Tedesco. Alla fine del 1997, il nome del progetto fu cambiato in Free Pascal Compiler (FPC) per evitare confusioni e perché sempre più persone stavano contribuendo al progetto.
FPC è un progetto ragionevolmente ben documentato, con manuali per un totale di 1800 pagine. Le parti visuali delle librerie di Delphi (la VCL) e la creazione d'un IDE e di un RAD visuali fanno parte di un progetto separato, Lazarus.
Free Pascal è distribuito con un IDE in modalità testuale somigliante a quello del Turbo Pascal. Questo IDE si è deteriorato per un certo periodo di tempo per la mancanza di un manutentore, ma con uno sforzo comune tra la seconda metà del 2005 e i primi mesi del 2006, la maggior parte dei bug maggiori sono stati risolti e l'IDE è tornato di nuovo ad essere pronto per le release.
Come il Turbo Pascal e Delphi, Free Pascal ha un eccellente supporto per l'integrazione del linguaggio Assembly all'interno del codice Pascal. FPC supporta perfino architetture e notazioni multiple nell'assembler interno.
Free Pascal è stato eletto 'progetto del mese' nel dicembre 2018 su SourceForge.
Necessita di un aggiornamento
FPC adottava il dialetto standard dei programmatori Pascal: quello Borland (nello specifico: Borland Pascal 7 e Delphi 2 nella versione 1.0.x; nella versione 2.0.x si è avuto il passaggio a Delphi 6/7 per compatibilità).
Comunque sia, il progetto utilizza il concetto di modalità di compilazione e il team ha chiarito che è disponibile ad incorporare delle patch per i dialetti standardizzati ANSI/ISO per creare una modalità di compilazione conforme agli standard.
Inoltre è stato fatto un piccolo sforzo per supportare una parte della sintassi del Pascal Apple per facilitare l'interfacciamento con il Mac OS (X). Poiché il dialetto Apple implementa alcune caratteristiche del Pascal Standard che mancano in TP/Delphi, FPC è leggermente più compatibile con gli standard ISO rispetto a questi ultimi, con ulteriori caratteristiche supportate in arrivo.
Nonostante goda di una buona compatibilità, ci sono alcune funzionalità di Delphi non supportate da Free Pascal:
quando Borland annunciò che non ci sarebbe stato nessun Borland Pascal 8 e le successive versioni sarebbero state solo per Windows (che sarebbe divenuto Delphi in seguito), uno studente (Florian Paul Klämpfl) iniziò a lavorare sul suo compilatore. Il compilatore inizialmente era scritto nel dialetto (Borland) Turbo Pascal e produceva codice a 32-Bit per il DOS extender go32v1, utilizzato e sviluppato dal progetto DJGPP. Originariamente lo stesso compilatore era un eseguibile DOS a 16-bit compilato con il Turbo Pascal. Dopo due anni, il compilatore fu capace di compilarsi e diventò anche a 32-bit.
L'iniziale compilatore a 32-bit fu pubblicato in rete e i primi contributori si unirono al progetto. Negli anni successivi alla pubblicazione in Internet, il compilatore venne portato verso Linux da Michael van Canneyt (5 anni prima di Kylix) e la versione per DOS venne adattata per l'utilizzo in OS/2 tramite l'EMX extender. Anche la versione per DOS venne migliorata gradualmente e migrata verso l'extender go32v2. Questo processo culminò nella release 0.99.5 che fu molto più utilizzata delle versioni precedenti, e che fu l'ultima release mirata soltanto alla conformità con il Turbo Pascal: le release successive aggiungeranno anche una modalità compatibile con Delphi. La release 0.99.5 fu anche portata verso i sistemi dotati di CPU 680x0.
Con la 0.99.8 venne aggiunto il target Wii32 e si cominciò ad aggiungere alcune caratteristiche di Delphi no. La pietra miliare della release 1.0 stabile fu raggiunta nel luglio 2000. La serie 1.0.x (e le release con bug-fix/stabilizzazioni che seguirono, l'ultima, la 1.0.10, nel luglio 2003) fu usata largamente, sia a fini commerciali che educativi. Per le release 1.0.x venne rifatto il porting verso le CPU 680x0 e il compilatore fu in grado di produrre codice stabile per i sistemi Unix dotati di CPU 68k e per l'AmigOS.
Durante il processo di stabilizzazione di quella che sarebbe diventata la release 1.0.x, in particolar modo durante il porting verso i sistemi m68k, risultò chiaro che il design del generatore di codice era troppo limitato sotto diversi aspetti. I problemi principali riguardavano l'aggiunta di un nuovo processore, che significava fondamentalmente riscrivere il generatore di codice, e l'allocazione del registro, che si basava sul principio di mantenere sempre 3 registri liberi tra i building blocks, cosa poco flessibile e difficile da mantenere.
Per questi motivi, nel dicembre 1999 venne ramificato il ramo FPC 1.1.x dal ramo principale 1.0.x. All'inizio, i cambiamenti riguardarono principalmente la pulizia e la riscrittura di tutte le parti del compilatore; vennero quindi riscritti il generatore di codice e l'allocatore del register. Come bonus vennero aggiunte le caratteristiche che mancavano alla compatibilità con Delphi.
Il lavoro sul 1.1.x continuò lentamente ma costantemente, e verso la fine del 2003 cominciò a funzionare il porting per PowerPC, seguito da quello per ARM e SPARC verso l'estate/inverno del 2004 a cui seguì il porting per AMD64. Il porting per AMD64 rese il compilatore per 32/64-bit.
Nel novembre 2003, una prima release beta del ramo 1.1.x venne distribuita e, per l'occasione, il numero di versione venne modificato in 1.9.0. Seguirono rapidamente la 1.9.2 e la 1.9.4. La versione 1.9.4 risultò speciale perché fu la prima con il supporto per Mac OS X.
Il lavoro continuò con la versione 1.9.6 (gennaio 2005), 1.9.8 (fine febbraio 2005), 2.0.0 (maggio 2005), 2.0.2 (dicembre 2005), 2.0.4 (agosto 2006) e 2.2.0 (settembre 2007).
Le seguenti caratteristiche mancano nella versione 2.0.x e sono richieste. Quelle segnate con † sono attualmente in lavorazione nel ramo 2.1.x/2.3.1.
Alcune di queste caratteristiche, in particolar modo quelle nella sezione relativa al linking, possono richiedere alcune modifiche:
La disponibilità del compilatore FPC dipende dalle versioni maggiori.
In questa versione sono state aggiunte ed ultimate diverse piattaforme:
Oltre a tutti i target supportati dalla versione 2.2, questa versione supporta:
La versione stabile corrente 2.2.0 aggiunge il supporto per:
Sistemi operativi:
La precedente versione stabile 1.0.x era disponibile per Processore
e supportava i seguenti sistemi operativi
e le piattaforme beta:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.