Please use this identifier to cite or link to this item: https://dspace.univ-ghardaia.edu.dz/xmlui/handle/123456789/3072
Title: ANALYSES FRONTALES DANS LES COMPILATEURS
Other Titles: COURS, EXERCICES ET PROJETS DE PROGRAMMATION
Authors: OULAD-NAOUI, Slimane
Keywords: ANALYSES FRONTALES DANS LES COMPILATEURS
Rappel sur les langages formels Analyse lexicale Analyse syntaxique
Issue Date: 2021
Publisher: جامعة غرداية/كلية العلوم والتكنولوجيا
Abstract: Ce document se veut une synthèse du cours sur les compilateurs que je dispense à l’université de Ghardaïa. L’écriture des compilateurs est à la fois un sujet fascinant, fastidieux et complexe. En effet, la conception/réalisation de compilateurs est classée dans le top topics les plus inextricables en informatique suivant immédiatement celui de l’écriture des systèmes d’exploitation. De ce fait, l’étudiant doit être pourvu d’un ensemble complet et varié d’outils qui va du pur fondamental (théorie des langages, théories des graphes, des flots de données, optimisation, etc.), au plus palpable (structures de données, processeurs, jeux d’instructions, caches, etc.). Ainsi pour maîtriser cette complexité élevée, ce cours est de coutume scindé en deux grandes parties. La première concerne le travail antérieur accompli par un compilateur dit aussi la partie analyse ou le front-end, qui comprend les phases d’analyse lexicale, d’analyse syntaxique et l’analyse sémantique. La deuxième partie, quant à elle s’occupe de la seconde moitie des tâches d’un compilateur, baptisée la partie synthèse ou le back-end, qui prend en charge : l’optimisation indépendante à la machine, la génération de code et en fin son optimisation au égard de la machine cible. Dans cette optique, ce rapport aborde la front-end d’un compilateur, ce qui justifie son titre : « Analyses frontales dans les compilateurs ». Il est destiné aux étudiants de la troisième années LMD de la mention Mathématiques et Informatique. La deuxième partie (le back-end) est présentement enseignée au niveau première année Master où un fascicule à part est en cours d’élaboration. La documentation sur la construction des compilateurs est abondante. Néanmoins, ce manuscrit puise de quelques références de base tel que le fameux dragon book [1] de l’équipe du professeur Jeff Ullman, des classiques livres de J. P. Tremblay [30], de M.L Scott [27] et de Cooper & Torcson [7]. J’ai aussi beaucoup inspiré et exploité le cours en ligne du professeur Alex Aiken de l’université de Stanford [2]. Le lecteur trouvera également dans ce document une liste intéressante d’exercices et de projets de programmation par chapitre dont l’accomplissement et l’élaboration confirme le niveau de maîtrise des points abordés. Dans la liste bibliographiques, j’ai veuillé à citer les "seminal" papiers sur les travaux fondateurs de l’ana- 4 Introduction lyse des langages de programmation, et les liens vers les outils les plus connus dans ce domaine tel que Flex, Bison, CUP, JavaCC, etc. L’imperfection est humaine et ce travail ne fait pas l’exception cela d’une part. D’autre part, je dois avouer que la compilation de ce rapport fait intervenir plusieurs compétences que parfois m’échappent d’une manière ou d’une autre. Je ne peux nier, vu la charge qui m’incombe, la précipitation et le stresse qui a accompagné la préparation de ce travail. Par conséquent, je souhaiterais aimablement inviter les lecteurs de ce document de me signaler toute erreur quelque soit sa nature (orthographe, typographie, méthodologie-style, fond, etc.
URI: https://dspace.univ-ghardaia.edu.dz/xmlui/handle/123456789/3072
Appears in Collections:مطبوعات أساتذة قسم الرياضيات والإعلام الآلي

Files in This Item:
File Description SizeFormat 
cours compilation ghardaia.pdf2.67 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Admin Tools