Semestre :5 Parcours SI

unité d'enseignement fondamentale : UEF1

Matière : Compilation

Crédits :5

Coefficient : 3

Objectifs de l'enseignement : Comprendre comment les programmes sont compilés puis exécutés

Connaissances préalables recommandées : Théorie des langages

Contenu de la matière :

Chapitre 1: Introduction

􀅶                􀍾Objectifs...

Chapitre 2 : Compilation

                      i. Définition d'un compilateur

                      ii. Structure d'un compilateur

Chapitre 3 : Analyse lexicale

Chapitre 4 : Analyse Syntaxique

                     i. Dérivation la plus à gauche et arbre de dérivation

                     ii. Grammaire ambiguë

                     iii. Grammaire et langages de programmation

                     iv. Analyseurs syntaxiques et leurs types

                     v. Outils en pratique

Chapitre 5 : Analyse descendante

                     i. Analyse LL(1) (principe)

                     ii. Table d'analyse

                     iii. Grammaire LL(1)

Chapitre 6 : Analyse ascendante

                     i. Analyse LR (principe)

                     ii. Analyse LR(0)

                     iii. Analyse SLR(1)

                     iv. Analyse LR(1)Analyse LALR(1)

Chapitre 7 : Traduction dirigée par la syntaxe

Chapitre 8 : Contrôle de type

Chapitre 9: Environnement d’exécution

Chapitre 10 : Génération de code

Mode d'évaluation􀅶 : Examen (60%) , contrôle continu (40%)

Références:

1. Alfred Aho, Ravi Sethi et Jeffrey Ullman « Compilers, Principles techniques and tools » Addison-

Wesley 1986

This course introduces the fundamental concepts and methods of Linear Programming (LP), a key area of operations research and optimization. Students will learn how to formulate real-world problems as linear models, apply graphical and simplex methods to solve them, and interpret optimal solutions in practical contexts.