WEB2007 ALSO SPEAKS ENGLISH
06 44 00 14 84 (ou 0033644001484)

* Developpeur Site Web Valence


***Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe

Developpeur Site Web Valence





Article:

l'implémentation (réalisation concrète) d'un langage de programmation peut être élucidée ou transformée. Cette concrétisation est un compilateur ou un interpréteur, et un langage de programmation peut avoir une implémentation transformée, et une autre élucidée.
Les compilateurs antérieurs ont été écrits directement en langage assembleur, un langage symbolique élémentaire accomodant aux instructions du processeur cible et quelques structures de contrôle insensiblement plus innovées. Ce langage symbolique doit être assemblé (et non compilé) et lié pour obtenir une version exécutable. En raison de sa simplicité, un programme simple suffit à le convertir en instructions machines.
Les compilateurs courant sont couramment écrits dans le langage qu'ils doivent compiler ; c'est à dire un compilateur C estdéveloppé en C, SmallTalk en SmallTalk, Lisp en Lisp, etc. Dans la réalisation d'un compilateur, une étape définitive est franchie quand le compilateur pour le langage X est assezterminé pour se compiler lui-même : il ne dépend alors plus d'un autre langage (même de l'assembleur) pour être fini.
C'est compliquer de détecter une erreur de compilateur. Par exemple, si un compilateur C contient un bug, les programmeurs en langage C auront certainementune orientation à écrire leur propre code source, non pas le compilateur. Pire, si ce compilateur qui comporte une erreur ou bug (version V1) compile un compilateur (version V2) non buggé, le fichier EXEqui est déja compilé (par V1) du compilateur V2 pourrait comporte la même anomalie. Toutefois son code source est bon. Le bootstrapimpose donc les informaticiens de compilateurs à éviter les bugs des compilateurs actuels.
L'origine du manque de ressources matérielles des ordinateurs est le classement des compilateurs par nombre de passes. Les premiers ordinateurs n'avaient pas assez de mémoire pour contenir un programme devant faire ce travail puisque la compilation est un processus très couteux.
C'est pour cela que les compilateurs ont été fractionnés en sous programmes qui font une lecture de la source pour finir les différentes étapes, d'analyse syntaxique,d'analyse lexicaleet d'analyse sémantique.
L'aptitude de réunir le tout en un seul passage a été considérée comme un avantage car elle simplifie la tâche d'écriture d'un compilateur et il compile généralement plus rapidement qu'un compilateur multi passe. Ainsi, suivant les ressources limitées des premiers systèmes, de nombreux langages ont été spécifiquement conçus afin qu'ils puissent être compilés en un seul passage (par exemple, le langage Pascal).
Dans quelques cas, la conception d'une fonctionnalité de langage a besoin d'un compilateur pour effectuer plus d'une passe sur la source. Par exemple, considérons une déclaration figurant à la ligne 20 de la source qui affecte la traduction d'une déclaration figurant à la ligne 10. Dans ce cas, la première passe doit recueillir des renseignements sur les déclarations figurant après les déclarations qu'ils affectent, avec la traduction proprement dite qui s'effectue lors d'un passage ultérieur.






****Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe