Conception et implémentation d'un nouveau langage de programmation 18.00 / 20

La programmation, d’après le Nouveau Petit Robert 1 , recouvre « l’élaboration et la codi-
fication de la suite d’opérations formant un programme », un programme, aussi appelé
un logiciel, étant « l’ensemble des instructions rédigé dans un langage de programmation
permettant à un système informatique d’exécuter une tâche donnée ».

Télécharger Gratuitement
364 téléchargements

Contenu de ce document de Informatique > Informatique

  • Introduction 
  • 1 Contexte et état de l’art
  • 1.1 Phase d’analyse . . . . . . . . . . . . . . . . . . . .
  • 1.1.1 Analyseur lexicale : . . . . . . . . . . . . .
  • 1.1.2 Analyseur syntaxique : . . . . . . . . . . . .
  • 1.1.3 Analyseur sémantique : . . . . . . . . . . .
  • 1.2 Phase de synthése : . . . . . . . . . . . . . . . . . .
  • 1.2.1 Production de code intermediaries : . . . .
  • 1.2.2 Optimisation de code : . . . . . . . . . . . .
  • 1.2.3 Production de code : . . . . . . . . . . . . .
  • 1.3 Phases logiques de la compilation d’une instruction
  • 1.4 Couple Flex Bison . . . . . . . . . . . . . . . . . .
  • 1.4.1 Flex . . . . . . . . . . . . . . . . . . . . . .
  • 1.4.2 Bison . . . . . . . . . . . . . . . . . . . . . . .
  • 2 Analyse lexicale
  • 2.1 Le rôle de l’analyseur lexical . . . . . . . . . . . . . . . . .
  • 2.1.1 Unités lexicales . . . . . . . . . . . . . . . . . . . . .
  • 2.1.2 Motif . . . . . . . . . . . . . . . . . . . . . . . . . .
  • 2.1.3 Lexème . . . . . . . . . . . . . . . . . . . . . . . . .
  • 2.1.4 Erreur lexical . . . . . . . . . . . . . . . . . . . . . .
  • 2.2 Spécification des unités lexicales . . . . . . . . . . . . . . . .
  • 2.2.1 Expression régulières . . . . . . . . . . . . . . . . . .
  • 2.2.2 Mémorisation du texte d’entrée (couple de tampons)
  • 2.2.3 Diagramme de transition . . . . . . . . . . . . . . .
  • 2.2.4 Les automates à état finie . . . . . . . . . . . . . . .
  • 2.3 Conception et Implémentation d’analyseur lexicales . . . . .
  • 2.3.1 Conception d’analyseur lexical . . . . . . . . . . . . .
  • 2.3.2 Implémentation d’analyseur lexical . . . . . . . . . .
  • 2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • 3 Analyse syntaxique
  • 3.1 rôle analyseur syntaxique . . . . . . . . . . . . . . . . . . .
  • 3.1.1 Gestion des erreurs de syntaxe . . . . . . . . . . . .
  • 3.1.2 Stratégie de rattrapage des erreurs . . . . . . . . .
  • 3.2 Grammaire non contextuelle . . . . . . . . . . . . . . . . .
  • 3.2.1 Définition formelle des grammaire non contextuelle
  • 4 Analyse sémantique
  • 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • 4.2 Installation et vérification de l’existence des sous programme et porteurs des données . . . . . . . . . . . . . . . . . . . .
  • 4.2.1 Les sous programmes . . . . . . . . . . . . . . . . . . . . . . . . . .
  • 4.2.2 Porteur de donné . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • 4.3 Vérification sémantique des instructions d’affectation . . . . . . . . . . . . .
  • 4.4 Vérification sémantique d’allocation de mémoire avant l’étape de l’exécution
  • 4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
  • 5 Génération de code assembleur
  • 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . .
  • 5.2 Etude de générateur de code cible . . . . . . . . . . .
  • 5.2.1 Coût d’un programme et cout des instructions
  • 5.2.2 Jeu d’instructions . . . . . . . . . . . . . . . .
  • 5.3 Architecture 8086 . . . . . . . . . . . . . . . . . . . .
  • 5.3.1 Les registres Généraux . . . . . . . . . . . . .
  • 5.3.2 Les registres segment . . . . . . . . . . . . . .
  • 5.4 Choix de l’assembleur . . . . . . . . . . . . . . . . . .
  • 5.5 Turbo assembler Tasm . . . . . . . . . . . . . . . . .
  • 5.5.1 Introduction . . . . . . . . . . . . . . . . . . .
  • 5.5.2 Structure de fichier assembleur Tasm . . . . .
  • 5.6 Génération du code machine relative à la code source
  • 5.6.1 Association de mémoire aux niveau de porteur
  • 5.6.2 Affichage de donnée sous le console . . . . . .
  • 5.6.3 Récupération de donnée à traver le console . .
  • 5.7 Conclution . . . . . . . . . . . . . . . . . . . . . . . . .
  • 3.2.2 Arbre d’analyse et dérivation . . . . . . . . .
  • Analyse syntaxique descendante . . . . . . . . . . . .
  • 3.3.1 Analyse syntaxique par descente récursive . .
  • 3.3.2 Grammaire LL(1) . . . . . . . . . . . . . . . .
  • Analyse syntaxique ascendante . . . . . . . . . . . . .
  • 3.4.1 Analyse syntaxique par décalage-réduction . .
  • Conception et implémentation d’analyseur syntaxique
  • 3.5.1 Conception d’analyseur syntaxique . . . . . .
  • 3.5.2 Implémentation d’analyseur syntaxique . . . .
  • Coclusion . . . . . . . . . . . . . . . . . . . . . . . .
  • 6 Conception d’interface compilateur
  • 6.1 introduction . . . . . . . . . . . . . . .
  • 6.2 Conception . . . . . . . . . . . . . . .
  • 6.2.1 Capture des besoins . . . . . . .
  • 6.2.2 Methodologie de conception . .
  • 6.2.3 Diagramme de cas d’utilisation
  • 6.2.4 Diagramme de séquence . . . .
  • 6.2.5 Diagramme de classes . . . . .
  • 6.3 Interconnexion interface et compilateur
  • 6.4 Conclusion . . . . . . . . . . . . . . . .
  • 7 Réalisation et test
  • 7.1 introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • 7.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . .
  • 7.2.1 QT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • 7.3 Travail réalisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • 7.3.1 Etude de répartition des composants de l’interface . . . . . . .
  • 7.3.2 Capture d’écran de notre interface principale . . . . . . . . . .
  • 7.3.3 Capture d’écran de fonctionnement de zone traitement de code
  • 7.3.4 Capture d’écran de traitement des erreurs de compilation . . .
  • 7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • Conclusion et perspectives 
  • Bibliographie
Télécharger Gratuitement
364 téléchargements