Excellence CPGE

⚙️ Informatique Théorique & Compilateurs

Théorie des Langages, Automates & Compilation

Automates finis, hiérarchie de Chomsky, analyse lexicale et syntaxique descendante/ascendante, et interpréteur de bytecode.

  • 4 modules
  • 16 leçons
  • 4 h de contenu
  • Exercices Python, C exécutables
  • Évaluation finale
#Théorie des Langages#Automates DFA NFA#Compilation#Grammaires LL LR#Informatique CPGE

Ce que vous allez apprendre

  • Automates finis (DFA/NFA) & Expressions régulières
  • Grammaires hors-contexte & Analyse lexicale (Lex/Flex)
  • Analyse syntaxique descendante & ascendante (Yacc/Bison)
  • Génération de code intermédiaire & Mini-interpréteur & Projet Pratique

Programme

4 modules · 16 leçons · 4 h de contenu

1Automates finis (DFA/NFA) & Expressions régulières4 leçons · 1 h
  1. 1.1Mots, langages formels, clôture de Kleene et expressions rationnelles
  2. 1.2Automates finis déterministes (DFA) et non déterministes (NFA)
  3. 1.3Algorithme de Thompson et construction de sous-ensembles (Déterminisation)
  4. 1.4Lemme de pompage (étoile) et algorithme de minimisation de Hopcroft
2Grammaires hors-contexte & Analyse lexicale (Lex/Flex)4 leçons · 1 h
  1. 2.1Hiérarchie de Chomsky et grammaires algébriques non contextuelles (CFG)
  2. 2.2Arbres de dérivation, ambiguïté grammaticale et forme normale de Chomsky
  3. 2.3Automates à pile (Pushdown Automata) et reconnaissance des langages algébriques
  4. 2.4Conception formelle d'un analyseur lexical (Scanner/Lexer) avec flux de tokens
3Analyse syntaxique descendante & ascendante (Yacc/Bison)4 leçons · 1 h
  1. 3.1Analyse descendante récursive et grammaires LL(1) : Calcul de FIRST et FOLLOW
  2. 3.2Analyse ascendante par décalage-réduction (Shift-Reduce) et automates LR(0)
  3. 3.3Tables d'analyse syntaxique SLR(1), LR(1) et LALR(1) : Levée des conflits
  4. 3.4Construction de l'Arbre Syntaxique Abstrait (AST) et typage sémantique
4Génération de code intermédiaire & Mini-interpréteur & Projet Pratique4 leçons · 1 h
  1. 4.1Table des symboles, gestion des portées lexicales et vérification de types
  2. 4.2Représentations intermédiaires (IR) : Code à trois adresses et graphes de flot de contrôle
  3. 4.3Architecture d'une machine virtuelle à pile (Stack Machine)
  4. 4.4Projet Pratique : Création de A à Z d'un mini-interpréteur d'expressions arithmétiques

Comment se déroule la formation

À votre rythme

Des leçons courtes ; votre progression est enregistrée et vous reprenez là où vous vous êtes arrêté.

En pratiquant

Des exemples de code Python, C à modifier et exécuter dans le navigateur, sans rien installer.

Une validation

Une évaluation finale s'ouvre quand vous avez parcouru l'essentiel de la formation.

Dans le même domaine

  • Excellence CPGE🎓 Fondamentaux & CPGE

    Python : les fondamentaux

    Syntaxe Python, structures conditionnelles, boucles, fonctions, POO et calcul numérique avec exercices interactifs.

    ▶ Exercices Python

    8 modules · 30 leçons · 14 h 05

    Voir le programme Accès sur attribution
  • Excellence CPGE🔥 Spécial Épreuves Concours

    Algorithmique & Graphes en Python

    Structures de données (piles, files, arbres), parcours de graphes, programmation dynamique et sujets concours.

    ▶ Exercices Python

    5 modules · 20 leçons · 10 h

    Voir le programme Accès sur attribution
  • Excellence CPGE🏆 Algorithmes d'Élite & Complexité

    Algorithmique Avancée & Conception Optimale

    Optimisation algorithmique, programmation dynamique poussée, flots maximaux et preuves de complexité.

    ▶ Exercices Python

    5 modules · 20 leçons · 5 h

    Voir le programme Accès sur attribution