THEORIE DES LANGAGES & COMPILATION

Documents pareils
Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Algèbre binaire et Circuits logiques ( )

Structures algébriques

1 Définition et premières propriétés des congruences

Cours d Analyse. Fonctions de plusieurs variables

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Programmation linéaire

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Introduction à la théorie des graphes. Solutions des exercices

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Représentation d un entier en base b

Problème 1 : applications du plan affine

CH.6 Propriétés des langages non contextuels

Chapitre 5 : Flot maximal dans un graphe

Plus courts chemins, programmation dynamique

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Fondements de l informatique Logique, modèles, et calculs

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

TD 1 - Structures de Traits et Unification

DOCM Solutions officielles = n 2 10.

Représentation géométrique d un nombre complexe

Dérivation : Résumé de cours et méthodes

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Priorités de calcul :

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

2.4 Représentation graphique, tableau de Karnaugh

Compter à Babylone. L écriture des nombres

Mathématiques I Section Architecture, EPFL

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

Résolution d équations non linéaires

Algorithmique et Programmation Fonctionnelle

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

MPI Activité.10 : Logique binaire Portes logiques

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Rappels sur les suites - Algorithme

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

1 Introduction au codage

Programmation Par Contraintes

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Limites finies en un point

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Chapitre 2. Matrices

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Exercice 1 Trouver l équation du plan tangent pour chaque surface ci-dessous, au point (x 0,y 0,z 0 ) donné :

Axiomatique de N, construction de Z

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Chapitre 2 Le problème de l unicité des solutions

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Cours Premier semestre

Cours de mathématiques

Compilation (INF 564)

Correction : E = Soit E = -1,6. F = 12 Soit F = y = 11. et G = -2z + 4y G = 2 6 = 3 G = G =

Chapitre 6. Fonction réelle d une variable réelle

Dérivées d ordres supérieurs. Application à l étude d extrema.

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

Fonctions de deux variables. Mai 2011

Continuité d une fonction de plusieurs variables

Cours d initiation à la programmation en C++ Johann Cuenin

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Traitement bas-niveau

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Corrigé du baccalauréat S Pondichéry 12 avril 2007

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Fonctions de plusieurs variables

Université Paris-Dauphine DUMI2E 1ère année, Applications

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Correction TD algorithmique

CHAPITRE IV. L axiome du choix

Initiation à la programmation en Python

Mathématiques appliquées à l'économie et à la Gestion

1S Modèles de rédaction Enoncés

Différentiabilité ; Fonctions de plusieurs variables réelles

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

ALGORITHMIQUE ET PROGRAMMATION En C

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

UNIVERSITE IBN ZOHR Faculté des sciences Agadir. Filière SMA & SMI. Semestre 1. Module : Algèbre 1

Premiers exercices d Algèbre. Anne-Marie Simon

Groupe symétrique. Chapitre II. 1 Définitions et généralités

IFT1215 Introduction aux systèmes informatiques

Présentation du langage et premières fonctions

Système binaire. Algèbre booléenne

MIS 102 Initiation à l Informatique

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

Intégration et probabilités TD1 Espaces mesurés

Cours Informatique Master STEP

Triangle de Pascal dans Z/pZ avec p premier

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Python - introduction à la programmation et calcul scientifique

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Probabilités sur un univers fini

Transcription:

THEORIE DES LANGAGES & COMPILATION Parie I: Langages réguliers & Automates + Analyse lexicale. Partie II: Compilation: Grammaires, Analyse syntaxique, Sémantique. Intervenants: M. CHABBAR : Cours partie I + 2 gr.td (pendant 7 semaines) M. RAHMANI : Cours partie II + 2 gr.td( les 7 semaines qui suivent) M. BOUHDADI : 4 gr. TD (semestre) 1

Préliminaires Mathématiques 2

Relation binaire sur un ensemble E R est une relation sur E si R E x E Notation: (a,b) R, ( a R b ou R(a,b)) Opérations ensemblistes sur les relations: Complément, union, intersection, inclusion (Ex. (a,b) R (a,b) R) Fonction Vs Relation ( f : E F ou f E x F ) 3

Autres opérations sur les relations Soit R une relation binaire sur E (R ExE). - R -1 = {(b,a) E x E / (a,b) R} - R(a) = { b E / (a,b) R } Produit de deux relations binaires R 1 et R 2 deux relations binaires sur E (a,c) (R 1. R 2 ) b E : (a,b) R 1 et (b,c) R 2 Notation: R 2 = R. R R n = R. R R (produit n fois) 4

Relations particulières - relation identité Id E : a,b E, (a,b) Id E a = b - relation vide E : a,b E, (a,b) E - relation pleine : Π E a,b E, (a,b) Π E 5

Propriétés d une relation R R est réflexive si : a E, (a,a) R (i.e. Id E R ) R est symétrique si : a,b E, (a,b) R (b,a) R ( i.e. R = R -1 ) R est anti-symétrique si : a,b E, (a,b) R et (b,a) R a = b R est transitive si : a,b,c E, (a,b) R et (b,c) R (a,c) R (i.e. n 1, R n R) 6

Relation d ordre partiel R est un ordre partiel si R est réflexive, antisymétrique et transitive Ex. la relation est d ordre partiel sur (E) Relation d ordre total (ou linéaire) R est un ordre total si a,b E, (a,b) R ou (b,a) R Remarque: si R une fonction on dit que R est totale si elle est partout définie. 7

Fermeture d une relation par une propriété Définition Soit R une relation binaire sur E et soir P une propriété. La fermeture de R par P est la plus petite relation qui vérifie P et qui contient R. Fermeture réflexive de R, notée r(r): r(r) = R Id E Fermeture transitive de R, notée R + R + = n 1 R n Fermeture réflexive et transitive de R (notée R*) R* = n 0 R n où R 0 = Id E 8

Relation d équivalence R est une relation d équivalence si R est réflexive, symétrique et transitive. classe d équivalence: x (ou [x]), x E x = {y E / (x,y) R} deux classes sont soit égales soit disjointes l ensemble des classes forment une partition de E Ensemble quotient E / R = { x, x E} indice de R = nombre de classes = card (E / R ) si R1 et R2 sont deux relations d éq. Sur E alors R1 R2 indice(r1) indice(r2) 9

Graphe dune relation binaire sur E E ensemble fini non vide t.q. card(e) = n G = (E, R) est un graphe (R E x E) où les éléments de E sont appelés sommets et les couples de R sont appelés arcs. un sommet est représenté par un cercle a un arc (a,b) se représente par : a b si on code les sommets de E par des entiers 1, n alors G peut être représenté par : - une matrice carrée M( m ij = 1 si (i,j) R et 0 sinon) ou liste chaînée (tableau de listes) si la matrice est creuse 10

Chemin d un graphe G :: toute suite de sommets (x 0,x 1,,x n ) t.q. (x i, x i+1 ) R, i {0,1,,n-1} longueur d un chemin = nombre d arcs du chemin un arc est un chemin de longueur 1 Graphe étiqueté G = (E, R, L) où L : E x E F (F est généralement IN ou IR) (a,b) E, si (a,b) R alors L(a,b) est l étiquette (ou poids) de l arc (a,b) a L(a,b) Une des implémentations de G, dans ce cas : m ij = L(i,j) si (i,j) R et 0 ( ou autre) sinon b 11

Monoïde (semi groupe) L ensemble E est muni d une loi notée Θ Θ : E x E E ( Θ R) Θ est associative si : x, y, z E Θ (Θ (x,y),z) = Θ (x, Θ(y,z)) Élément neutre e : x E, Θ(e,x) = Θ(x,e) (E, Θ) est un monoïde si la loi Θ est associative et admet un élément neutre. Ex. (IN,+), ens. des relations binaires sur E muni de la loi produit (ou composé) est un monoïde où Id E est l élément neutre. 12

Monoïde libre Soit (E, Θ) un monoïde et soit A une partie de E (A E). (A, Θ) est un monoïde (ss monoïde de E) A est une partie génératrice de E si y E on a : ou bien y = e ou bien x 1, x 2,, x n A t.q. y = x 1 Θ x 2 Θ Θx n (1) A est une partie génératrice minimale de E si l écriture (1) de y est unique i.e.! x 1, x 2,, x n A t.q. y = x 1 Θ x 2 Θ Θx n Dans ce cas, A est appelé code. Ex. l ensemble des chiffres {0, 1,,9} est un code pour les entiers naturels pour la loi concaténation. Le plus petit ss monoïde de E qui contient A est notée A* où A* = n 0 A n avec A i = A Θ A Θ ΘA (i fois) et A 0 = {e} Si A est code alors (A*, Θ) est un monoïde libre. 13

Congruence Une relation d équivalence R définie sur E muni d une loi interne Θ est une congruence si R est compatible avec la loi Θ. Le quotient E /R sera muni de la loi [Θ] définie par : [x] [Θ] [y] = [x Θ y] L opération [Θ] est bien définie et ne dépend pas des représentants des classes d équivalence. Pour simplifier, la loi [Θ] sera notée simplement Θ. Remarque : Dans ce cours, on prendra pour la loi Θ la concaténation et pour R une fonction de transition, une dérivation ou toute autre relation. 14