Mi compilation introduction

Algorithmique et bases de la programmation Introduction à la Compilation Nicolas Delestre C Copyright ?Copyright c Nicolas Delestre ?Permission est accordée de copier distribuer et ou modi ?er ce document selon les termes de la Licence de Documentation Libre GNU GNU Free Documentation Licence version ou toute version ultérieure publiée par la Free Software Foundation C Note de l'auteur ?Ce document est une introduction par l'exemple à la compilation ?Il n'est en aucun cas un cours approfondi décrivant les di ?érentes étapes d'un compilateur C Préambule ?Si vous deviez écrire un programme qui soit capable d'évaluer au sens de calculer des expressions arithmétiques qu'un utilisateur aurait saisies au clavier ?Par exemple E ? ?Comment procéder C Préambule ?Écrire des procédures et fonction permettant ?De reconna? tre un entier ?De reconna? tre un réel ?De reconna? tre une addition ? ? C'est compliqué pour quelque chose de simple ? A la moindre modi ?cation tout est à reprogrammer C Préambule ?Il faut suivre des méthodes et techniques a ?n de résoudre ce type de problème C'est le rôle de la COMPILATION C Généralités ?Compilateur Interpréteur Quelle heure est-il Compilateur What time is it Quelle heure est-il Interpréteur h C Généralités ?Qu'est ce qu'un compilateur ? Dé ?nition générale ?C'est un programme qui traduit un programme écrit dans un langage source vers un langage cible en indiquant les erreurs éventuelles que pourrait contenir le programme source Programme source Le compilateur Programme cible erreurs C Et comment ca marche ?Comme un enfant qui apprend à lire ?On E reconna? t d'abord les mots Analyse Lexicale ?Puis on véri ?e que tous les E mots sont dans le bon ordre Analyse Syntaxique ?En ?n on véri ?e que tout E ceci à un sens Analyse Sémantique C Et comment ca marche Programme source Le compilateur Programme cible Analyse Lexicale Analyse Syntaxique Analyse Sémantique Phase de Traitement C Un exemple ?Analyse lexicale ? est composé des mots ? un nombre dont la valeur est ? un opérateur binaire dont la valeur est l'addition ? un nombre dont la valeur est ? un opérateur binaire dont la valeur est la multiplication ? un nombre dont la valeur est ? Un ot de couples unité lexicale valeur va être passé à l'analyseur syntaxique Analyse Lexicale nb op nb op nb Analyse Syntaxique C Un exemple ?Analyse syntaxique ? Véri ?e que la suite des unités lexicales est compatible avec une grammaire et produit en sortie un arbre d'analyse ? Exemple de règles de la grammaire ? Une expression arithmétique est composée d'opérations ? Une opération est soit unaire soit binaire ? Une opération binaire est composée d'un opérande d'un opérateur et d'un opérande ? L'opérateur est prioritaire sur l'opérateur ? Un opérande est un nombre ou une expression arithmétique ou une variable op nb op nb op nb Analyse Syntaxique nb op Analyse Sémantique nb nb C Un exemple ?Analyse sémantique ?Véri ?e que l'arbre d'analyse est cohérent ?Exemple de règles de cohérence ?On ne peut additionner

  • 49
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jan 31, 2022
  • Catégorie Administration
  • Langue French
  • Taille du fichier 103.9kB