Mi compilation techniques outils

Licence Universitaire Professionnelle G ?enie Logiciel Th ?eorie des Langages Techniques et outils pour la compilation Henri Garreta Facult ?e des Sciences de Luminy - Universit ?e de la M ?editerran ?ee Janvier Table des mati eres Introduction Structure de principe d ? un compilateur Analyse lexicale Expressions r ?eguli eres D ?e ?nitions Ce que les expressions r ?eguli eres ne savent pas faire Reconnaissance des unit ?es lexicales Diagrammes de transition Analyseurs lexicaux programm ?es en dur Automates ?nis Lex un g ?en ?erateur d ? analyseurs lexicaux Structure d ? un ?chier source pour lex Un exemple complet Autres utilisations de lex Analyse syntaxique Grammaires non contextuelles D ?e ?nitions D ?erivations et arbres de d ?erivation Qualit ?es des grammaires en vue des analyseurs Ce que les grammaires non contextuelles ne savent pas faire Analyseurs descendants Principe Analyseur descendant non r ?ecursif Analyse par descente r ?ecursive Analyseurs ascendants Principe Analyse LR k Yacc un g ?en ?erateur d ? analyseurs syntaxiques Structure d ? un ?chier source pour yacc Actions s ?emantiques et valeurs des attributs Con its et ambigu ? t ?es C Analyse s ?emantique Repr ?esentation et reconnaissance des types Dictionnaires tables de symboles Dictionnaire global dictionnaire local Tableau a acces s ?equentiel Tableau tri ?e et recherche dichotomique Arbre binaire de recherche Adressage dispers ?e Production de code Les objets et leurs adresses Classes d ? objets D ? ou viennent les adresses des objets Compilation s ?epar ?ee et ?edition de liens La machine Mach Machines a registres et machinesa pile Structure g ?en ?erale de la machine Mach Jeu d ? instructions Compl ?ements sur l ? appel des fonctions Exemples de production de code Expressions arithm ?etiques Instruction conditionnelle et boucles Appel de fonction C Introduction Dans le sens le plus usuel du terme la compilation est une transformation que l ? on fait subir a un programme ?ecrit dans un langage ?evolu ?e pour le rendre ex ?ecutable Fondamentalement c ? est une traduction un texte ?ecrit en Pascal C Java etc exprime un algorithme et il s ? agit de produire un autre texte sp ?eci ?ant le m eme algorithme dans le langage d ? une machine que nous cherchonsa programmer En g ?en ?eralisant un peu on peut dire que compiler c ? est lire une suite de caracteres ob ?eissanta une certaine syntaxe en construisant une autre repr ?esentation de l ? information que ces caracteres expriment De ce point de vue beaucoup d ? op ?erations apparaissent comme ?etant de la compilation a la limite la lecture d ? un nombre qu ? on obtient en C par une instruction comme scanf f x est d ?eja de la compilation puisqu ? il s ? agit de lire des caracteres constituant l ? ?ecriture d ? une valeur selon la syntaxe des nombres d ?ecimaux et de fabriquer une autre repr ?esentation de la m eme information a savoir sa valeur num

  • 31
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise
Partager
  • Détails
  • Publié le Jul 30, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 385.4kB