École Privée d’Ingénierie du Niger — L’école du nouveau monde

✉ elearning@epiniger.edu.ne    🌐 epiniger.edu.ne

Écrit par

dans

Licence Professionnelle en Cyber et Cybercriminalité (CYB) › Licence 2 › CYB · S4 · UE1 — Cybersécurité et compilation

Compilation

Code COM2412 2 crédits CM 10h · TD 5h · TP 5h · TPE 20h Évaluation : CC + ET

👤 Aminoulaye Mounkaila Midou — Master Informatique

Se connecter pour s'inscrire Créer un compte

4 leçon(s) · 1 quiz · 0 inscrit(s)

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

  1. Leçon 1 — Structure d’un compilateur et analyse lexicale (automates, LEX)
  2. Leçon 2 — Analyse syntaxique : grammaires, automates à pile et méthode LL(1)
  3. Leçon 3 — Analyse LR, YACC et analyse sémantique
  4. 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

  1. 🔒 Leçon 1 — Structure d'un compilateur et analyse lexicale (automates, LEX) · 90 min
  2. 🔒 Leçon 2 — Analyse syntaxique : grammaires, automates à pile et méthode LL(1) · 90 min
  3. 🔒 Leçon 3 — Analyse LR, YACC et analyse sémantique · 90 min
  4. 🔒 Leçon 4 — Production de code, codes intermédiaires et optimisations · 90 min
  5. 🔒 Quiz — Compilation · quiz

Évaluation globale de la matière

Connectez-vous pour suivre votre progression.