Pascal libre
| Pascal libre | ||
|---|---|---|
![]() | ||
|
Compilateur Pascal libre | ||
| Informations générales | ||
| type de programme | compilateur | |
| développeur | Florian Paul Klämpfl et bénévoles | |
| Première version | 1997 | |
| Licence | GNOU | |
| Information technique | ||
| Prévu dans | ||
| Versions | ||
| Dernière version stable | paon harcelant25 novembre 2015 | |
| fichiers lisibles | ||
| Unité compilée FreePascal | ||
| fichiers modifiables | ||
| Unité compilée FreePascal | ||
| Liens | ||
Free Pascal est un compilateur Pascal portable libre et open source , qui représente une alternative aux produits commerciaux Turbo Pascal et Delphi .
Présentation
Free Pascal est à la fois un compilateur 32 bits et 64 bits pour plusieurs architectures CPU et plusieurs systèmes d'exploitation . Le compilateur implémente les dialectes Borland Turbo Pascal et Delphi de Pascal , ainsi que certaines constructions MacPascal . Il est disponible pour la plupart des systèmes d'exploitation populaires .
Free Pascal était initialement connu sous le nom de FPK Pascal. Parce que FPK sont les initiales de l'auteur, Florian Paul Klämpfl, le FPK Pascal n'a jamais représenté "Free Pascal Kompiler", bien que beaucoup de gens aient pensé cela; cependant, écrire "Compiler" avec "K" est rare en Allemagne. Fin 1997, le nom du projet a été changé en Free Pascal Compiler (FPC) pour éviter cette confusion et en raison du nombre croissant de personnes contribuant.
FPC est un projet raisonnablement bien documenté, avec des manuels de 1 800 pages au total.
Les parties visuelles des bibliothèques Delphi (la VCL ) et la création d'un IDE visuel et d'un RAD font partie d'un projet séparé, appelé Lazarus .
La distribution Free Pascal inclut un IDE en mode texte similaire à Turbo Pascal. Bien que cet IDE se soit détérioré pendant un certain temps en raison d'un manque de maintenance, dans un effort commun, la plupart des bogues ont été corrigés, il est donc maintenant en assez bon état.
Semblable à Turbo Pascal et Delphi, Free Pascal offre un excellent support pour l'intégration du langage d'assemblage dans le code Pascal. De plus, il prend en charge plusieurs architectures et notations.
Langue dialectale
Le FPC a adopté les dialectes standard de facto des programmeurs Pascal, les dialectes Borland, en particulier Borland Pascal 7 et Delphi 2 pour la version 1.0.x du FPC, et Delphi 6/7 pour la version 2.0.x du FPC.
Cependant, le projet a un concept de "mode compilateur", et l'équipe a clairement indiqué qu'elle incorporerait les correctifs pour les dialectes normalisés ANSI/ISO afin de créer un mode conforme aux normes.
En outre, un petit effort a été fait pour prendre en charge une partie de la syntaxe Apple Pascal, pour une interface facile avec Mac OS (X).
Fonctionnalité Delphi manquante dans Free Pascal :
- Délégation à l'aide du mot- clé " implements "
- Interfaces COM IDispatch doubles automatiques ( dispinterfaces )
- dispid sur les interfaces normales
- Packages : le compilateur prend en charge l'importation et l'exportation de classes vers et depuis des bibliothèques partagées (utile, par exemple, pour Lazarus , qui implémente l'empaquetage de composants)
- les types d'ensembles peuvent avoir des tailles différentes
Historique
Premières années
Free Pascal est apparu lorsque Borland a clairement indiqué qu'il n'y aurait pas de Borland Pascal 8 et que la prochaine version serait un produit Windows uniquement (qui s'est avéré plus tard être Delphi). Un étudiant, Florian Paul Klämpfl, a commencé à travailler sur son propre compilateur. Le compilateur a été écrit dès le début dans le dialecte Turbo Pascal de Borland et a produit du code 32 bits pour l' extendeur DOS go32v1, développé à l'époque par le projet DJGPP . À l'origine, le compilateur lui-même était un exécutable DOS 16 bits compilé par Turbo Pascal. Au bout de deux ans, le compilateur pouvait se compiler lui-même, il est donc devenu lui aussi 32 bits.
Extension
Le compilateur 32 bits initial a été publié sur le net et les premiers contributeurs ont rejoint le projet. Dans les années qui ont suivi sa sortie sur Internet, Michael van Canneyt est passé à Linux, 5 ans avant Kylix . Le port DOS a été adapté pour être utilisé sur OS / 2 via l'extension EMX. La version DOS s'est également progressivement améliorée, migrant vers l'extendeur go32v2. Cela a abouti à la sortie de la version 0.99.5 qui a été utilisée beaucoup plus largement que les versions précédentes, et la dernière version qui visait uniquement la conformité Turbo Pascal. Les versions ultérieures ajouteraient un mode de compatibilité Delphi. La version 0.99.5 a également été portée sur des systèmes utilisant les processeurs de la série 680x0 .
Dans la version 0.99.8, la compilation pour Win32 a été ajoutée en tant que cible et l'incorporation de certaines fonctionnalités de Delphi a commencé. La stabilisation a commencé pour la version 1.0, et cette étape a été franchie en juillet 2000. La série 1.0.x et les versions de stabilisation et de correction de bogues qui ont suivi jusqu'à la version 1.0.10 en juillet 2003 ont été largement utilisées à la fois comme entreprise et outil pédagogique. Pour les versions de cette série, le passage aux processeurs 680x0 a été refait, de sorte que le compilateur a pu produire du code stable pour un certain nombre d'ordinateurs dotés de processeurs 68k, tels que les systèmes UNIX et AmigaOS .
La prochaine génération
Lors de la stabilisation de ce qui est devenu la version 1.0.x, et en particulier lors du portage sur les systèmes m68k, il était clair que la conception du générateur de code était sévèrement limitée à bien des égards. Les deux plus gros problèmes étaient que (1) l'ajout de processeurs signifiait essentiellement la réécriture du générateur de code, et (2) l'allocation des registres était basée sur un principe difficile à maintenir et inflexible, vous obligeant à avoir 3 registres entre les blocs de construction.
Pour ces raisons, FPC 1.1.x a été séparé de la branche principale 1.0.x en décembre 1999. Au début, les changements étaient principalement des nettoyages, des réécritures de code, dans toutes les parties du compilateur ; puis le générateur de code et le mappage des registres ont été réécrits. En prime, le support Delphi manquant a été ajouté.
Le travail sur 1.1.x s'est poursuivi lentement mais régulièrement, et à la fin de 2003, le port PowerPC a commencé à fonctionner, suivi par les ports ARM et Sparc à l'été et à l'automne 2004. Le port AMD64 s'est poursuivi au début de 2004. Ce dernier a effectivement rendu le compilateur à la fois 32 bits et 64 bits.
En novembre 2003, une première version bêta de la branche 1.1.x a été packagée, et pour l'occasion, le numéro de version a été augmenté à 1.9.0. Celles-ci ont été rapidement suivies par 1.9.2 et 1.9.4. La version 1.9.4 était spéciale car c'était la première version prenant en charge Mac OS X.
Les travaux se sont poursuivis avec la version 1.9.6 en janvier 2005, la 1.9.8 fin février 2005, la 2.0.0 en mai 2005, la 2.0.2 en décembre 2005 et la 2.0.4 en août 2006. La dernière version est la 3.0.3.
Le futur
Feuille de route à court terme (2.1.x)
- créer et améliorer la prise en charge de COM et OLE. Celui-ci a plusieurs facettes :
- Interfaces compatibles COM/vmt
- Variantes, (requis pour OLE)
- délégation de style implémente
- modifications et améliorations des formats de lien/débogage/archive
- amélioration de la liaison intelligente (supprime les fichiers .a, moins d'utilisation de la mémoire
- "packages" améliorés et prise en charge dynamique des bibliothèques PIC ! en général
- réticulation (actuellement 2.0 a déjà suffisamment de capacité de réticulation)
- coups croisés -> nain
- Un certain support pour les ressources compatibles Kylix (toujours en discussion)
- prise en charge des types de fichiers natifs de taille 64 bits (terminé)
- changements par rapport à Apple Pascal
- avoir la possibilité de passer une sous-procédure, telle qu'une procvar, à une autre proc ;
Certaines des fonctionnalités cibles (en particulier dans la section de l'éditeur de liens) peuvent nécessiter une restructuration liée à
- introduction d'un linker interne pour certaines plateformes majeures (plus de LD)
- réécriture de gestion de module (unité)
Plates-formes disponibles
La disponibilité du compilateur FPC dépend de la version majeure.
Versions 2.4.0, 2.4.2, 2.4.4, 2.6.0
- ARM
- Intel / i386
- DOS (extension GO32v2)
- FreeBSD (FreeBSD 6.x et 7.x)
- Linux
- Mac OS X
- OS/2
- Win32 et Windows CE ( Windows 98 , Windows ME , Windows NT , Windows 2000 , Windows XP , Windows Vista )
- PowerPC
- puissance pc 64 bits
- sparc
- amd64 / x86 64
- Linux
- Win64
Version 2.2.4
- ARM
- Intel / i386
- DOS (extension GO32v2)
- FreeBSD (FreeBSD 6.x et 7.x)
- Linux
- Mac OS X
- OS/2
- Win32 et Windows CE ( Windows 95 , Windows 98 , Windows ME , Windows NT , Windows 2000 , Windows XP , Windows Vista )
- PowerPC
- puissance pc 64 bits
- sparc
- amd64 / x86 64
- Linux
- Win64
Version 2.1.x
Version 2.0.x
La version stable actuelle 2.0.4 prend en charge les éléments suivants
Version 1.0.x
La version stable précédente 1.0.x était disponible pour :
- processeurs :
- Intel 80386 et compatibles
- Motorola 680x0
- systèmes d'exploitation :
- plates-formes bêta :
Voir aussi
- Lazarus an ( IDE ) ( environnement de développement intégré ou environnement de développement intégré) pour ( RAD ) ( développement rapide d'applications ou développement rapide d'applications).
Liens externes
Wikibooks héberge un livre ou un manuel sur la programmation en Pascal .- Free Pascal (page officielle)
- Lazarus, un RAD pour le FPC
- MSEide+MSEgui , RAD multiplateforme pour le FPC.
- FPC sur Mac , page d'état des ports FPC vers Mac OS classique. (Le port vers Mac OS X est géré par l'équipe FPC Unix)
- Introduction à Free Pascal 2.0 , par Daniël Mantione, une introduction détaillée à la nouvelle version, et un peu sur l'historique de son développement.
- FPS , un IDE entièrement basé sur Win 32 pour FPC, comprenant un débogueur (traces, points d'arrêt et fenêtres de surveillance).
- Pascal avec Free Pascal , en espagnol.
