Licence Professionnelle en Cyber et Cybercriminalité (CYB) › Licence 2 › CYB · S4 · UE1 — Cybersécurité et compilation
Compilation
👤 Aminoulaye Mounkaila Midou — Master Informatique
Présentation
Ce cours présente le fonctionnement interne d’un compilateur, de la lecture des caractères jusqu’à la production et l’optimisation du code. Il relie la théorie des langages (langages rationnels, grammaires hors contexte, automates) aux outils pratiques LEX/Flex et YACC/Bison. Pour un futur professionnel de la cybersécurité, comprendre la compilation aide à lire du code bas niveau, à analyser des binaires et à utiliser les protections offertes par les compilateurs.
Objectifs d’apprentissage
- Représenter un langage par une expression régulière, un automate ou une grammaire.
- Décider si un mot appartient à un langage et connaître la complexité de l’algorithme utilisé.
- Construire un analyseur LL(1) et comprendre l’analyse LR.
- Écrire un analyseur lexical (Flex) et syntaxique (Bison) avec actions sémantiques.
- Traiter la portée des variables et le contrôle des types.
- Produire du code intermédiaire et appliquer des optimisations simples.
Prérequis
Structures de données (piles, arbres, tables de hachage) et programmation en C.
Plan du cours
- Leçon 1 — Structure d’un compilateur et analyse lexicale (automates, LEX)
- Leçon 2 — Analyse syntaxique : grammaires, automates à pile et méthode LL(1)
- Leçon 3 — Analyse LR, YACC et analyse sémantique
- Leçon 4 — Production de code, codes intermédiaires et optimisations
Modalités d’évaluation
Volume horaire : 10 h de CM, 5 h de TD, 5 h de TP (Flex et Bison sur la machine virtuelle de l’étudiant) et 20 h de TPE ; 2 crédits. Évaluation : contrôle continu (TP notés, exercices, quiz) et examen terminal écrit.
Bibliographie
- A. Aho, M. Lam, R. Sethi, J. Ullman, Compilateurs : principes, techniques et outils, 2e éd., Pearson Education.
- J. Hopcroft, R. Motwani, J. Ullman, Introduction to Automata Theory, Languages, and Computation, Pearson.
- J. Levine, flex & bison, O’Reilly Media, 2009.
- A. Appel, Modern Compiler Implementation in C, Cambridge University Press.
- Documentation officielle GNU Bison (gnu.org/software/bison).
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
Programme
- 🔒 Leçon 1 — Structure d'un compilateur et analyse lexicale (automates, LEX) · 90 min
- 🔒 Leçon 2 — Analyse syntaxique : grammaires, automates à pile et méthode LL(1) · 90 min
- 🔒 Leçon 3 — Analyse LR, YACC et analyse sémantique · 90 min
- 🔒 Leçon 4 — Production de code, codes intermédiaires et optimisations · 90 min
- 🔒 Quiz — Compilation · quiz
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
