Free Pascal (ou Free Pascal Compiler ou FPC) est un compilateur pour le langage Pascal, développé en tant que logiciel libre.
Historique
Le projet a été initié par Florian Klämpfl en 1992, sous le nom FPK Pascal. La version 0.9.1 est publiée en Code source de FPK Pascal version 0.9.1. En , le projet est placé sous le système de gestion de version CVSFPK Pascal. Il est aujourd'hui maintenu par une équipe de développeursÉquipe de développement de Free Pascal et autres contributions. Le changement de nom de FPK Pascal en Free Pascal a eu lieu entre 1996 (FPK Pascal version 0.6.5FPK Pascal - Latest Changes and News) et 1998 (Free Pascal version 0.99.5). La version 1.0 de Free Pascal a été distribuée en , et la version 2.0 en Historique des versions.
Caractéristiques Ses caractéristiques les plus notables sont : compatibilité partielle avec les extensions au langage Pascal introduites par Turbo Pascal et Delphi (classes, etc.), multiplateforme : Windows, Linux, MacOS X, FreeBSD, multi-architecture : x86, x86-64, PowerPC, Sparc, ARM. À noter que si Free Pascal vise à une grande compatibilité, il introduit également des fonctionnalités qui ne sont pas prises en charge par Delphi, comme le mot-clef Free Pascal Reference Guide - 3.3 Structured Types.
Particularités La généricité est définie avec les mots-clés generic et specialize, alors que dans Delphi, ces mots-clés ne sont pas utilisés. Voici un exemple :
type generic TList<T> = class ... end;
TIntegerList = specialize TList<Integer>;
Il est possible d'utiliser la syntaxe C pour ajouter, multiplier, etc. :
function Somme(a,b: integer): integer; begin { calcul de la somme de a et de b } result := 0; result += a; result += b; end;
Environnements de développement intégré (EDI) Comme la plupart des compilateurs modernes, Free Pascal peut être intégré à un environnement de développement intégré (EDI).
Lazarus
Lazarus est le plus populaire des EDI basés sur Free Pascal. Son objectif est de fournir aux programmeurs Pascal Objet un environnement de développement s'approchant le plus possible de Delphi. Il peut être utilisé pour créer des applications en console ou graphiques.
Lazarus vient avec un jeu de composants visuels et non visuels nommé Lazarus Component Library (LCL). Les applications graphiques créées à l'aide de la LCL peuvent être portées vers une autre plate-forme par simple recompilation (écrire une fois, compiler partout).
MSEide MSEide est un autre EDI basé sur Free Pascal. MSEgui, tout comme la LCL de Lazarus, est la bibliothèque logicielle fournie avec MSEide. Il communique directement avec X11 via Xlib sous Linux, et gdi32 sous Windows, et supporte le multiple document interface (MDI) ainsi que l'héritage visuel.
Notes et références
Voir aussi MIDletPascal
Liens externes
Forum anglophone FreePascal et Lazarus
Catégorie:Compilateur Pascal Catégorie:Langage Pascal