Compilers/fr

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

Tutoriel de Pascal Objet : Compilateurs Pascal

Ce document va expliquer les bases sur les compilateurs en fournissant aussi des liens vers des compilateurs Pascal bien connus et expliquera comment configurer Free Pascal.

À propos des langages informatiques et des compilateurs

En parlant des compilateurs, trois termes majeurs sont utilisés essentiellement.

  1. Langage machine : code binaire réel qui donne les instructions de base pour le processeur de l'ordinateur. Ce sont généralement de très simples commandes comme ajouter deux nombres ou déplacer une données d'une emplacement mémoire vers un autre.
  2. Langage d'assemblage, assembleur : une manière pour les humains de programmer les ordinateurs directement sans avoir à mémoriser de suites de nombres binaires. Il y a une correspondance de un à un avec le code machine. Par exemple, en langage machine Intel x86, ADD et MOV sont des mnémoniques pour les opérations d'addition et de déplacement.
  3. Langage de haut niveau, langage évolué : permet aux humains d'écrire des programmes complexes sans aller étape par étape. Les langages de haut niveau sont Pascal, C, C++, FORTRAN, Java, BASIC et bien d'autres. Une commande dans un langage évolué, comme écrire une chaîne dans un fichier, peut être traduite en douzaine ou même en centaines d'instructions en langage machine.

Les microprocesseurs ne peuvent directement exécuter que des programmes en langage machine. Les programmes en assembleur sont assemblés ou traduits en langage machine. Pareillement, les programme écrit dans des langages évolués doivent aussi être traduits en langage machine avant de pouvoir être exécutés. Faire cette traduction est compiler un programme.

Le programme qui accomplit la traduction est appelé un compilateur. Ce programme est assez compliqué car il ne fait pas que créer les instructions en langage machine depuis les lignes de code. mais souvent il optimise aussi le code pour s'exécuter plus vite, il ajoute du code de correction d'erreur, et lie au code des routines conservées ailleurs. Par exemple, quand vous demandez à l'ordinateur d'imprimer quelque chose à l'écran, le compilateur traduit cela en un appel à un module pré-écrit. Votre code doit être lié au code que le fabricant fournit pour produire un programme exécutable.

Avec les langages évolués, trois termes de base sont à retenir :

  1. Code source : le code que vous écrivez. Le fichier a typiquement une extension qui indique le langage utilisé. Par exemple, le fichier de code source Pascal se termine par .pas et pour C++, c'est .cpp.
  2. Code objet : le résultat de la compilation du fichier. Le code objet inclut en général un seul module du programme, et ne peut pas être encore exécuté parce qu'incomplet. Dans les systèmes DOS/Windows, c'est le plus souvent l'extension .obj.
  3. Code exécutable : le résultat final. Tout le code objet des modules nécessaires pour que le programme fonctionne sont liés ensemble. Dans les systèmes DOS/Windows, il a en général l'extension .exe.

Plus sur les compilateurs

Le standard de facto des compilateurs Pascal en DOS et en mode fenêtré est Borland Pascal. Avant qu'il sorte, la plupart des compilateurs étaient bouffis et lents, éloignés du Pascal standard et coutaient plusieurs centaines de dollars. En 1984, Borland introduisit Turbo Pascal, vendu pour moins de 100$, qui compilait un grand nombre de fois plus rapidement que les compilateurs existants, et sortait avec un code source et des programmes utilitaires en abondance.

Ce produit eut un grand succès et fut important pendant presque une décennie. Mais dans les années 90, le monde est passé à Windows. En 1993, la dernière version de Turbo Pascal, version 7 pour DOS, sortit. Après cela, la demande pour les programmes DOS a dégringolé et Borland (renommé en Inprise, puis de nouveau en Borland) s'est concentré sur la production de compilateurs pour Windows.

Ce tutoriel traite uniquement de la programmation en mode console, où l'ordinateur imprime des lignes de données sur l'écran et l'utilisateur interagit avec le programme en utilisant le clavier. Le but de ce tutoriel est d'enseigner comment programmer en Pascal. Une fois que vous aurez appris cela, vous pourrez facilement lire un livre de référence ou une autre page web et aborder vous-mêmes les systèmes graphiques et fenêtrés.

Bien que les anciens compilateurs Pascal commerciaux sont souvent disponibles, Turbo Pascal 5.5 dans le Museum Embarcadero et Think Pascal (Macintosh) de Symantec accessible depuis la liste de compilateurs Pascal libres de Free Country. Les ordinateurs ont beaucoup évolué depuis les années 80 et le début des années 90. Nous ne sommes plus limités par les noms de fichier en 8.3 de DOS ou le multi-tâche non préemptif sur MacOS. Utiliser un vieux compilateur est amusant au même titre que de jouer à un vieux jeu dans un émulateur, mais le mouvement open source a produit de bons compilateurs pour les systèmes d'exploitation modernes, et un débutant trouvera plus facile d'utiliser ceux-ci.

Compilateurs Open Source

Les deux principaux projets de compilateurs en Open Source sont :

Free Pascal est dans l'ensemble considéré comme plus convivial pour les novices, et s'efforce d'imiter Borland Pascal à bien des égards, même si les deux serviront bien pour apprendre Pascal.

Comme la plupart des utilisateurs de ce tutoriel travaillent sous Windows, voilà comment mettre en place Free Pascal et vous amener au point où vous compilerez un programme dans un système Windows moderne :

  1. Téléchargez le kit d'installation pour Free Pascal depuis la page.
  2. Exécutez le fichier tout juste téléchargé et passer par l'assistant de configuration Free Pascal.
  3. Ouvrez Free Pascal en utilisant le raccourci (par défaut, il se trouve dans le menu Démarrer → Free Pascal).
  4. Entrez un programme (allez pour cela à la leçon suivante pour avoir un programme « Hello, world »).
  5. Enregistrez le fichier avec le menu File/Save As...
  6. Exécutez le programme depuis le menu Run. Cela compile automatiquement le programme si vous avez fait des modifications puis l'exécute. Cela l'exécutera sans le compiler si vous n'avez apporté aucune modification depuis la dernière compilation.

Avec des programmes qui n'attendent rien de l'utilisateur, vous verrez un flash sur un écran noir. Mais le programme se terminera en un clin d'œil et vous serez retourné dans l'EDI sans voir le résultat de votre travail. Il y a deux façons pour régler ceci :

  • Choisissez User Screen dans le menu Debug pour voir le résultat du programme.
  • Ajoutez une instruction ReadLn à la fin de chaque programme. Cela provoquera l'attente jusqu'à ce que l'utilisateur enfonce la touche Entrée avant de mettre fin au programme et de retourner à l'EDI.

Userscreen.png

Remarquez qu'un fichier .exe a été créé dans le dossier où vous avez enregistré votre programme, c'est l'exécutable. Vous pouvez aller dans la ligne de commande et lancer cet exécutable direct. Vous pouvez aussi double-cliquer sur lui dans l'explorateur de Windows (et il flashera à nouveau si le programme se termine sans une entrée de l'utilisateur).

Sommaire