Tutoriel de conception de compilateur
Un compilateur traduit le code écrit dans une langue vers une autre langue sans changer la signification du programme. On s'attend également à ce qu'un compilateur rende le code cible efficace et optimisé en termes de temps et d'espace.
Les principes de conception du compilateur fournissent une vue approfondie du processus de traduction et d'optimisation. La conception du compilateur couvre le mécanisme de traduction de base et la détection et la récupération des erreurs. Il comprend une analyse lexicale, syntaxique et sémantique comme front-end, et la génération et l'optimisation de code comme back-end.
Pourquoi apprendre la conception de compilateurs?
Les ordinateurs sont un mélange équilibré de logiciels et de matériel. Le matériel n'est qu'un appareil mécanique et ses fonctions sont contrôlées par un logiciel compatible. Le matériel comprend les instructions sous forme de charge électronique, qui est le pendant du langage binaire dans la programmation logicielle. Le langage binaire n'a que deux alphabets, 0 et 1. Pour instruire, les codes matériels doivent être écrits au format binaire, qui est simplement une série de 1 et de 0. Ce serait une tâche difficile et lourde pour les programmeurs informatiques d'écrire de tels codes, c'est pourquoi nous avons des compilateurs pour écrire de tels codes.
Système de traitement du langage
Nous avons appris que tout système informatique est composé de matériel et de logiciels. Le matériel comprend un langage que les humains ne peuvent pas comprendre. Nous écrivons donc des programmes dans un langage de haut niveau, ce qui est plus facile à comprendre et à retenir pour nous. Ces programmes sont ensuite introduits dans une série d'outils et de composants OS pour obtenir le code souhaité pouvant être utilisé par la machine. Ceci est connu sous le nom de système de traitement du langage.
Public
Ce didacticiel est conçu pour les étudiants intéressés par l'apprentissage des principes de base des compilateurs.Les lecteurs enthousiastes qui souhaitent en savoir plus sur les compilateurs et ceux qui souhaitent concevoir eux-mêmes un compilateur peuvent commencer par ici.
Conditions préalables
Ce didacticiel ne nécessite aucune connaissance préalable de la conception du compilateur, mais nécessite une compréhension de base d'au moins un langage de programmation tel que C, Java, etc. Ce serait un avantage supplémentaire si vous avez déjà été familiarisé avec la programmation d'assemblage.