Devoir de Philosophie

compilateur.

Publié le 25/10/2013

Extrait du document

compilateur. n.m., programme système ayant pour objectif de traduire un programme écrit dans un langage de haut niveau dans le langage machine d'un ordinateur donné. Les premiers ordinateurs se programmaient directement dans le langage machine. Un programme était constitué d'une suite de séquences de chiffres binaires, 0 ou 1, chaque séquence représentant une instruction ou une donnée. On entrait cette suite dans la mémoire soit en manipulant des interrupteurs (ou clés) sur l'ordinateur et dont la position ouverte ou fermée correspondait à 0 ou à 1, soit par l'intermédiaire d'un lecteur de bande perforée dont les perforations représentaient les séquences de 0 ou de 1. Un programme pour effectuer une opération aussi banale que la multiplication de deux nombres décimaux pouvait comprendre plusieurs milliers de chiffres binaires. On imagine sans peine combien l'entrée du programme était longue et fastidieuse, mais surtout génératrice d'erreurs dont la correction obligeait parfois à reprendre tout le travail depuis le début. La vitesse potentielle des ordinateurs était neutralisée par les temps de manipulation. Notion de compilateur. Pour exploiter au mieux les capacités des ordinateurs en palliant les insuffisances rédhibitoires de la programmation en langage machine, les informaticiens travaillèrent alors dans deux directions. D'une part, ils conçurent des langages synthétiques, où des symboles littéraux, beaucoup plus lisibles que les suites de 0 ou de 1 des langages machines, décrivent les opérations à effectuer et les objets sur lesquels elles portent : un programme est alors un enchaînement de symboles agencés selon les règles d'une syntaxe rigoureusement définie. D'autre part, ils écrivirent des programmes pour traduire ces nouveaux langages dans le langage machine des ordinateurs qu'ils utilisaient : ces programmes sont précisément des compilateurs. On réserve le terme de compilateur aux programmes qui produisent effectivement un programme susceptible d'être exécuté aussi souvent qu'on veut, sans avoir à relancer le compilateur à chaque nouvelle exécution. La compilation est l'un des premiers cours que suivent les étudiants en informatique. En effet, les opérations qu'effectue un compilateur sont très générales et se retrouvent dans un très grand nombre d'applications dans les domaines les plus variés. La nécessité de disposer de compilateurs détectant les erreurs formelles d'écriture du programme et produisant un code fiable et performant a suscité de nombreuses recherches théoriques, tant en matière de syntaxe des langages qu'en algorithmique. Le travail fait autour du langage Algol en est un bon exemple. Compilateurs et applications. La compilation d'un programme se déroule en trois, parfois quatre phases : analyse lexicale, analyse syntaxique, génération de code, éventuellement optimisation. Chacune de ces phases est plus ou moins longue selon le type de langage à traduire et les raffinements souhaités dans la gestion des erreurs de programmation. Les compilateurs modernes produisent en général un code objet qui doit être soumis à un éditeur de liens avant de produire un programme directement exécutable. Pour une application importante, le choix du langage de programmation est souvent lié à la qualité des compilateurs disponibles. Complétez votre recherche en consultant : Les corrélats Ada Algol Fortran informatique - Histoire de l'informatique - Ordinateurs et informatique - L'histoire des langages interpréteur langage de programmation Pascal (langage) programmation

Liens utiles