close

Pascal libre

Aller à la navigation Aller à la recherche
Pascal libre
FPLOGO.png
Ligne de commande FPC.PNG
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

Image
EDI FreePascal pour Linux. L'ordinateur a été préparé pour être utilisé en 2002 pour l' Olympiade nationale d'informatique, Chine

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

Version 2.2.4

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 :

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