Transducteurs d arbres et (peut-être un peu) apprentissage

Dimension: px
Commencer à balayer dès la page:

Download "Transducteurs d arbres et (peut-être un peu) apprentissage"

Transcription

1 Transducteurs d arbres et (peut-être un peu) apprentissage A. Lemay 2006

2 Taxonomie des transducteurs d arbres Syntax Directed translation (Irons 60) Attributed Tree Transducers (Knuth 68, Fülop 81) Rational Tree Transductions à TATA (Tatcher Wright 70) Relabeling Tree Transducers (Engelfriet 75) Macro Tree Transducers (Engelfriet 80,...) Tree Walking Transducers (Aho/Ullman 80) Pebble Tree Transducers (Milo, Suciu, Vianu 2000) MSO Tree Transducers (Engelfriet 91, Courcelle 92) + variantes diverses (Pebble Macro Tree Transducer,...)

3 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

4 Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

5 SD Transducers Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

6 SD Transducers SD Transducers : définition Définition (informelle) basée sur une grammaire context-free ( Deux grammaires Context-Free en parallèle) Règles de la forme : X ay (1) Y (2) cz {Y (1) dezy (2) } tous les non-terminaux se retrouvent dans la production pas de contraintes sur les terminaux la production se fait en déroulant le parse. Provient des travaux sur les compilateurs (origine ALGOL 60)

7 SD Transducers SD Transducers : exemple Passage infixe vers Suffixe S E {E} T T P {TP } E E + T {ET +} T T /P {TP/} E E T {ET } T P {P} E T {T } P i P {ip }

8 SD Transducers SD Transducers : Conclusion Conclusion Intérêt historique (vient des la compilation d ALGOL 60) Sous-famille de transductions rationnels

9 Attributed Tree Transducer Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

10 Attributed Tree Transducer Attributed Grammars : Principes Exemple : parcours dans l espace path ε step.path step N S O E Idée : associer des attributs (propriétés) aux non terminaux d une grammaire context-free Exemple : quelle est la longueur du chemin en nombre de pas? quel est le chemin parcouru sur la coordonnée x ou y?

11 Attributed Tree Transducer Attributed Grammar : Exemple 1 path.pos x : Coordonnée en x d un chemin step.dep x : Coordonnée en x d un pas Grammaire Grammaire Règle sémantique path ε path.pos x = 0 path step.path path.dep x = step.dep x + path.pos x step N S step.dep x = 0 step O step.dep x = 1 step E step.dep x = 1

12 Attributed Tree Transducer Attributed Grammar : Exemple 1 Chemin O. N. E. : path 0 step 1 path 1 O step 0 path 1 N step 1 path 0 E ε 0

13 Attributed Tree Transducer Attributed Grammar : Exemple 1 Chemin O. N. E. : path 0 + step 1 path O step 0 path N step 1 path E ε 0 Le calcul des attributs peut se voir comme une transformation

14 Attributed Tree Transducer Parenthèse ATT et requête Requête ATT : ATT dont l un des attributs est booléen même expressivité que MSO (Bloem Engelfriet 96)

15 Attributed Tree Transducer Attributed Grammars : attributs Deux types d attributs : attributs Synthétisés (Syn ) : valeur dépendante des descendants (ici Pos x et Dep x ) attributs hérités (Inh ) : valeur dépendante des parents ou des frères (du contexte).

16 Attributed Tree Transducer Attributed Grammar : exemple 2 Grammaire Infixe vers Suffixe Syn = {a S } Inh = {a I } Grammaire Règle sémantique S T S.a S = T.a S T.a I = ε T 1 T.a S = 1(T.a I ) T T 1 + T 2 T.a S = T 1.a S T 1.a I = T 2.a S T 2.a I = +(T.a I )

17 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A + B 1 C A.a S = B.a S, B.a I = C.a S, C.a I = +(A.a I ) 1 D 1 E

18 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A + B 1 C A.a S = D.a S, B.a I = C.a S, C.a I = +() 1 D 1 E

19 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A + B 1 D 1 E A.a S = D.a S, B.a I = C.a S, C.a I = +() 1 B.a S = D.a S, D.a I = E.a S, C E.a I = +(B.a I )

20 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A + B 1 D 1 E A.a S = D.a S, B.a I = C.a S, C.a I = +() 1 B.a S = D.a S, D.a I = E.a S, C E.a I = +(C.a S )

21 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A + B 1 D 1 E A.a S = D.a S, B.a I = C.a S, C.a I = +() 1 B.a S = D.a S, D.a I = E.a S, C E.a I = +(C.a S )

22 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = C.a S, C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 C E.a I = +(C.a S ) C.a S = 1(C.a I ) 1 D 1 E

23 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = C.a S, C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 C E.a I = +(C.a S ) C.a S = 1(+()) 1 D 1 E

24 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 C E.a I = +(C.a S ) C.a S = 1(+()) 1 D 1 E

25 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 C E.a I = +(C.a S ) C.a S = 1(+()) 1 D 1 E

26 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) 1 D 1 E

27 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 E.a I = +(1(+())) C C.a S = 1(+()) D.a S = 1(D.a I ) 1 D 1 E

28 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 E.a I = +(1(+())) C C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E

29 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = D.a S, D.a I = E.a S, + B 1 E.a I = +(1(+())) C C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E

30 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = D.a S, B.a I = 1(+()), C.a I = +() B.a S = 1(E.a S ), D.a I = E.a S, + B 1 E.a I = +(1(+())) C C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E

31 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(E.a S ), B.a I = 1(+()), C.a I = +() B.a S = 1(E.a S ), D.a I = E.a S, + B 1 E.a I = +(1(+())) C C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E

32 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(E.a S ), B.a I = 1(+()), C.a I = +() B.a S = 1(E.a S ), D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E E.a S = 1(E.a I )

33 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(E.a S ), B.a I = 1(+()), C.a I = +() B.a S = 1(E.a S ), D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) D.a S = 1(E.a S ) 1 D 1 E E.a S = 1(+(1(+())))

34 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(E.a S ), B.a I = 1(+()), C.a I = +() B.a S = 1(E.a S ), D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) D.a S = 1(1(+(1(+())))) 1 D 1 E E.a S = 1(+(1(+())))

35 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(E.a S ), B.a I = 1(+()), C.a I = +() B.a S = 1(1(+(1(+())))), D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) D.a S = 1(1(+(1(+())))) 1 D 1 E E.a S = 1(+(1(+())))

36 Attributed Tree Transducer Attributed Grammar : exemple 2 Règles S T S.a S = T.a S T T 1 + T 2 T.a S = T 1.a S T.a I = ε T 1.a I = T 2.a S T 1 T.a S = 1(T.a I ) T 2.a I = +(T.a I ) Exemple : (1 + 1) + 1 en A A.a S = 1(1(+(1(+())))), B.a I = 1(+()), C.a I = +() B.a S = 1(1(+(1(+())))), D.a I = E.a S, + B 1 C E.a I = +(1(+())) C.a S = 1(+()) D.a S = 1(1(+(1(+())))) 1 D 1 E E.a S = 1(+(1(+())))

37 Attributed Tree Transducer ATT (1) M = Syn, Inh, Σ,, a 0,, R Idée : Syn : attributs synthétisées (par le bas) Inh : attributs hérités (par le haut) a 0 : attribut initial ( Syn ) : symbole initial R : règles les transformations sont des attributs des noeuds l arbre de sortie est un attribut de la racine Syn permet une transformation ascendante Inh permet une transformation descendante Note : pas d états

38 Attributed Tree Transducer ATT (2) Définition M = Syn, Inh, Σ,, a 0,, R Règles de la forme : σ a(π) ν pour a Syn, σ Σ { }, ν RHS { } σ b(π i ) ν pour b Inh, σ Σ { }, ν RHS { } RHS (Right Hand Side) défini sur Syn Inh {π, π 1,..., π k } : a Syn : a(π i ) RHS (l attribut a du i-ème fils) b Inh : b(π) RHS (l attribut b du père) σ : σ(ν 1,..., ν k ) RHS avec ν i RHS

39 Attributed Tree Transducer ATT : exemple Passage notation infixe vers suffixe Syn = a S, Inh = a I Grammaire ATT S T S.a S = T.a S a S (π) a S (π 1 ) T.a I = ε a I (π 1 ) end T 1 T.a S = 1(T.a I ) a S (π) 1(a I (π)) T T 1 + T 2 T.a S = T 1.a S a S (π) a S (π 1 ) T 1.a I = T 2.a S a I (π 1 ) a S (π 2 ) T 2.a I = +, T.a I + a I (π 2 ) +(a I (π)) 1 + +

40 Attributed Tree Transducer ATT : Conclusion Attributed Tree Transducer basé sur les attributed grammars : grammaires CFG avec propriété sur les non-terminaux. l arbre de sortie est un attribut particulier (parmi d autres). Note ATT top-down : sans attributs hérités. ATT top-down ATT n-att (n+1)-att Apprentissage : improbable

41 MSO Tree transducers Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

42 MSO Tree transducers MSO dans les arbres formules atomiques : label σ (x) edge(x, y) x X leaf (x) root(x) MSO1 formules MSO avec une variable libre définit des propriétés sur les noeuds utile pour les requêtes unaires Exemple : Φ(x) = {lab f (x) x, edge(y, x), leaf (x)} Les noeuds étiquetés f dont l un des fils est une feuille. MSO2 Deux variables libres Φ(x, y) : définit des relations entre deux noeuds

43 MSO Tree transducers MSO Graph Transducers Définit une fonction partielle τ M : g = (E, V ) h = (E, V ) Definition (Courcelle 94) M = Copy, Φ, Ψ n, Ψ a avec : Copy : l ensemble de copie Φ : formule MSO1 sur Σ (le domaine) Ψ n c,σ : formule MSO1 (formule des noeuds) dépendante de c Copy et σ Ψ a c,c : formule MSO2 (formule des arcs) dépendante de c, c Copy

44 MSO Tree transducers MSO Graph Transducers Définit une fonction partielle τ M : g = (E, V ) h = (E, V ) défini si g Φ E = {(c, u) c Copy, u V, ψc,σ(u)} n V = {((c, u), (c, u )) c, c Copy, u V, ψc,c a (u, u )} Idées Φ est le domaine de la fonction Copy détermine le type des noeuds de h ψ n c,σ définit quels sont les noeuds de g copiés de type c et relabellés par σ ψ a c,c définit quels sont les relations entre noeuds de h nécessaires pour créer une arête dans h

45 MSO Tree transducers MSO Tree Transducers MSO Tree Transducer MSO Tree Transducer = MSO Graph Transducer sur les arbres (en entrées/sortie)

46 MSO Tree transducers MSO-Tree Transducer : Exemple HTML RACINE BODY ID ID Id TABLE... TEXTE TEXTE... TR TR TR TD TD TEXTE TEXTE Copy = {racine, id, nom, prenom}

47 MSO Tree transducers MSO-Tree Transducer : Exemple HTML BODY TABLE TR TR TR TD TEXTE TD TEXTE ID... RACINE ID TEXTE TEXTE Id... Ψ n racine,racine (x) = (root(x)) Ψ n id,id (x) = label TR(x) Ψ n nom,texte (x) = (fils d un TD premier fils d un TR) (x) = (fils d un TD second fils d un TR) Ψ n prenom,texte

48 MSO Tree transducers MSO-Tree Transducer : Exemple HTML BODY TABLE TR TR TR TD TEXTE TD TEXTE ID... RACINE ID TEXTE TEXTE Id... Ψ a racine,id Ψ a id,nom Ψ a id,prenom (x, y) = (true) (x, y) = x est le petit-fils de y (x, y) = x est le petit-fils de y

49 Transductions rationnelles Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

50 Transductions rationnelles Automate d Arbres : Notations M = Q, Σ, F, δ Q : ensemble fini d états Σ : alphabet ranked (d entrée) F : ensemble des états finaux (ou initiaux) δ : règles de la forme a q(a) f (q 1 (x 1 ),..., q n (x n )) q(f (x 1,..., x n )) (pour un ascendant) Pour les transductions : est l alphabet de sortie

51 Transductions rationnelles Relabeling Tree Transducers Transducteurs qui changent l étiquetage de l arbre de Σ vers. Équivalent aux transducteurs shape-preserving [Fulop & Gazdag 03 / Gazdag 04] Formes des règles a q(b) f (q 1 (x 1 ),..., q n (x n )) q(g(x 1,..., x k )) (souvent noté (f (q 1,..., q n )) q(g)) Node Selecting Tree Transducers : Relabeling fonctionnels avec Bool comme alphabet de sortie. Permettent de représenter les requêtes monadiques régulières (MSO, etc...)

52 Transductions rationnelles Relabeling : Exemple a q 1 (1) a q 2 (0) f (q 1, q 1 ) q 2 (0) f (q 2, q 2 ) q 1 (0) Final = {q 2 } f a f a a f a =

53 Transductions rationnelles Relabeling : Conclusion Avantages Permettent de représenter les requêtes monadiques régulières (via les NSTT) Apprenables [ICGI 04] Limitations Aucun changement de structure!

54 Transductions rationnelles Transducteurs d arbres à TATA Formes des règles a q(u) f (q 1 (x 1 ),..., q n (x n )) q(u) (noté (f (q 1,..., q n )) q(u)) avec u T X Peuvent être déterministes top-down ou bottom-up (en fonction de l automate d arbres support)

55 Transductions rationnelles Tree Transducers : Exemple D(+(x 1, x 2 )) +(D(x 1 ), D(x 2 )) D( (x 1, x 2 )) +( (D(x 1 ), I(x 2 )), (I(x 1 ), D(x 2 ))) I( (x 1, x 2 )) (I(x 1 ), I(x 2 )) D(sin(x 1 )) (cos(i(x 1 )), D(x 1 )) I(a) a I(y) y D(a) 0 D(y) 1... a D sin y Calcul de la dérivée d une fonction Alphabet : 0, 1, a, y, +,, sin, cos États : D (dérive), I (identité)

56 Transductions rationnelles Tree Transducers : Exemple D(+(x 1, x 2 )) +(D(x 1 ), D(x 2 )) D( (x 1, x 2 )) +( (D(x 1 ), I(x 2 )), (I(x 1 ), D(x 2 ))) I( (x 1, x 2 )) (I(x 1 ), I(x 2 )) D(sin(x 1 )) (cos(i(x 1 )), D(x 1 )) I(a) a I(y) y D(a) 0 D(y) 1... a cos I a y D y Calcul de la dérivée d une fonction Alphabet : 0, 1, a, y, +,, sin, cos États : D (dérive), I (identité)

57 Transductions rationnelles Tree Transducers : Exemple D(+(x 1, x 2 )) +(D(x 1 ), D(x 2 )) D( (x 1, x 2 )) +( (D(x 1 ), I(x 2 )), (I(x 1 ), D(x 2 ))) I( (x 1, x 2 )) (I(x 1 ), I(x 2 )) D(sin(x 1 )) (cos(i(x 1 )), D(x 1 )) I(a) a I(y) y D(a) 0 D(y) 1... a cos y D a I y + I a D y Calcul de la dérivée d une fonction Alphabet : 0, 1, a, y, +,, sin, cos États : D (dérive), I (identité)

58 Transductions rationnelles Tree Transducers : Exemple D(+(x 1, x 2 )) +(D(x 1 ), D(x 2 )) D( (x 1, x 2 )) +( (D(x 1 ), I(x 2 )), (I(x 1 ), D(x 2 ))) I( (x 1, x 2 )) (I(x 1 ), I(x 2 )) D(sin(x 1 )) (cos(i(x 1 )), D(x 1 )) I(a) a I(y) y D(a) 0 D(y) 1... a cos y 0 y + a 1 Calcul de la dérivée d une fonction Alphabet : 0, 1, a, y, +,, sin, cos États : D (dérive), I (identité)

59 Transductions rationnelles Tree Transducers : Conclusion avantages changements de structure possible non-linearité (copie), effacement de branches, permutation,... Inconvénients reste limité : difficile de remonter des branches

60 Transductions rationnelles Variante : avec look-ahead Composition avec un automate d arbre 1 L arbre est lu par un automate d arbre ascendant 2 les noeuds sont étiquetés par les états du run 3 le nouvel arbre est transformé par un transducteur descendant Le processus peut alors être déterministe

61 Transductions rationnelles Variante : avec algèbre de substitution l algèbre YIELD (ou SUBST) n symboles spéciaux α i Un symbole de substitution SUBST les α i sont substituées par les arguments de SUBST SUBST f b c YIELD f a c b a α 2 α 1 Transduction vers les trees avec SUBST puis YIELD : possibilité de déplacer des branches

62 Macro Tree Transducers Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

63 Macro Tree Transducers Macro Tree Transducers : Principes Même idée général qu un transducteur d arbres mais, utilisation de paramètres ( accumulateurs ) : bouts d arbres collectés lors du run dans une règle : possibilité de stocker un bout d arbre (passer en paramètre) possibilité d utiliser les arbres stockés dans les arbres de sortie Grosso-Modo la même chose qu un transducteur avec algèbre de YIELD

64 Macro Tree Transducers Macro Tree Transducers : Definition M = Q, Σ,, I, δ Formes des règles q(a, y 1,..., y m ) ξ q(f (x 1,..., x k ), y 1,..., y m ) ξ ξ : arbres tel que σ(t 1,..., t l ) ξ, pour tout σ, t j ξ arbre sur l alphabet de sortie q(x i, t 1,..., t l ), pour q Q, x i X, t j ξ copie de sous arbre d entrée, + accumulation y i ξ, pour tout y i Y copie de paramètre Attention : vision top-down Note : MTT sans paramètre = transducteur d arbre top-down

65 Macro Tree Transducers Macro Tree Transducers : Exemple Exemple : retirer les multiplications q 0 (+(x 1, x 2 )) +(q 0 (x 1 ), q 0 (x 2 )) q 0 (1) 1 q 0 ( (x 1, x 2 )) q(x 1, q 0 (x 2 )) q(+(x 1, x 2 ), y 1 ) +(q(x 1, y 1 ), q(x 2, y 1 )) q(1, y 1 ) y 1 q 0 ( (x 1, x 2 ), y 1 ) q(x 1, q(x 2, y 1 )) q

66 Macro Tree Transducers Macro Tree Transducers : Exemple Exemple : retirer les multiplications q 0 (+(x 1, x 2 )) +(q 0 (x 1 ), q 0 (x 2 )) q 0 (1) 1 q 0 ( (x 1, x 2 )) q(x 1, q 0 (x 2 )) q(+(x 1, x 2 ), y 1 ) +(q(x 1, y 1 ), q(x 2, y 1 )) q(1, y 1 ) y 1 q 0 ( (x 1, x 2 ), y 1 ) q(x 1, q(x 2, y 1 )) q q q 0 1

67 Macro Tree Transducers Macro Tree Transducers : Exemple Exemple : retirer les multiplications q 0 (+(x 1, x 2 )) +(q 0 (x 1 ), q 0 (x 2 )) q 0 (1) 1 q 0 ( (x 1, x 2 )) q(x 1, q 0 (x 2 )) q(+(x 1, x 2 ), y 1 ) +(q(x 1, y 1 ), q(x 2, y 1 )) q(1, y 1 ) y 1 q 0 ( (x 1, x 2 ), y 1 ) q(x 1, q(x 2, y 1 )) q q

68 Macro Tree Transducers Macro Tree Transducers : Exemple Exemple : retirer les multiplications q 0 (+(x 1, x 2 )) +(q 0 (x 1 ), q 0 (x 2 )) q 0 (1) 1 q 0 ( (x 1, x 2 )) q(x 1, q 0 (x 2 )) q(+(x 1, x 2 ), y 1 ) +(q(x 1, y 1 ), q(x 2, y 1 )) q(1, y 1 ) y 1 q 0 ( (x 1, x 2 ), y 1 ) q(x 1, q(x 2, y 1 ))

69 Macro Tree Transducers MTT with regular look-ahead MTT R M = Q, P, Σ,, I, δ,h Q, Σ,, I, δ, est un MTT particulier P, Σ, h est un automate d arbre (l automate look-ahead de M) Fonctionnement On fait un run avec le look-ahead automaton (les noeuds sont étiquetés par les états de P) Les règles du MTT dépendent des états des fils de l états courants. Règles de la forme : q, σ(p 1 (x 1 ),..., p n (x n )) ξ Note : MTT R = MTT (Engelfriet Vogler, 85)

70 Tree Walking et Pebble Tr. Tr. Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

71 Tree Walking et Pebble Tr. Tr. Tree Walking Transducer (1) Principes : Basé sur la notion de Tree Walking Automaton les règles impliquent un mouvement dans l arbre d entrée (up / down / stay ) (idem Tree Walking Automata) les règles produisent des bouts d arbres dans lesquelles il peut y avoir des branchements multiples (branching)

72 Tree Walking et Pebble Tr. Tr. Tree Walking Transducer (2) M = Q, Σ,, I, R Règles de la forme q, f ξ avec ξ : q, stay q, up (sauf si racine) q, down i (i : numéro du fils) σ( q 1, stay,..., q k, stay ) (relabeling + branching)

73 Tree Walking et Pebble Tr. Tr. TWT : exemple Exemple : explosion en largeur M = Q = {q}, Σ = {a 1, e 0 }, = {σ 2, e 0 }, I = {q}, R} avec R : q, a σ( q, down 1, q, down 1 ) q, e e a σ a a e

74 Tree Walking et Pebble Tr. Tr. TWT : exemple Exemple : explosion en largeur M = Q = {q}, Σ = {a 1, e 0 }, = {σ 2, e 0 }, I = {q}, R} avec R : q, a σ( q, down 1, q, down 1 ) q, e e a σ a σ σ a e

75 Tree Walking et Pebble Tr. Tr. TWT : exemple Exemple : explosion en largeur M = Q = {q}, Σ = {a 1, e 0 }, = {σ 2, e 0 }, I = {q}, R} avec R : q, a σ( q, down 1, q, down 1 ) q, e e a σ a σ σ a σ σ σ a e

76 Tree Walking et Pebble Tr. Tr. TWT : exemple Exemple : explosion en largeur M = Q = {q}, Σ = {a 1, e 0 }, = {σ 2, e 0 }, I = {q}, R} avec R : q, a σ( q, down 1, q, down 1 ) q, e e a a a σ σ a σ σ σ σ e e e e e e e e e

77 Tree Walking et Pebble Tr. Tr. Pebble Tree Transducer (1) Pebble = caillou Pebble Tree Transducer à n cailloux : n ptt Principe : on a n cailloux différents qui peuvent être déposés sur les noeuds (un de chaque type par noeud au max.) un vecteur de booléen sur chaque noeud les règles peuvent dépendre de la présence de cailloux les règles impliquent un mouvement dans l arbre d entrée (up / down / stay ) (idem Tree Walking Automata) les règles peuvent déposer (drop ) ou retirer (lift ) des cailloux

78 Tree Walking et Pebble Tr. Tr. Pebble Tree Transducer (2) M = Q, Σ,, I, R Règles de la forme q, f, b ξ avec b vecteur de cailloux (b {0, 1} n ) et ξ : σ( q 1, stay,..., q k, stay ) (relabeling + branching) q, stay q, up (sauf si racine) q, down i (i : numéro du fils) q, lift l (l : type de caillou) q, drop l (l : type de caillou, si présent)

79 Tree Walking et Pebble Tr. Tr. Pebble Tree Transducer (3) M = Q, Σ,, I, R Forme généralisée (Engelfriet & Maneth) q, f, b ξ avec b vecteur de cailloux (b {0, 1} n ), ξ T (Q {stay, up, down i, lift, drop })

80 Tree Walking et Pebble Tr. Tr. PTT : exemple

81 Tree Walking et Pebble Tr. Tr. Pebble Tree Transducer Notes 0-PTT : appelés Tree Walking Transducers n-ptt (n + 1)-PTT n-ptt = composition de n PTT n-dptt (deterministe) n-ptt (non-circulaires) 0-DPTT = ATT Inconvénients Apprentissage : Improbable (lien entre arbre d entrée et de sortie peu clair)

82 Récapitulatif Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

83 Récapitulatif Récapitulatif Compilation Automates d arbres Tree Walking MSO SD Transducers Transducteurs d arbres attribués Relabeling Transductions rationnelles Macro Tree Transducers Tree Walking Transducers Pebble Tree Transducers MSO Tree Transducers

84 Récapitulatif Récapitulatif : Expressivité Expressivité des différents modèles RTT SDT TT MTTsur R MSO TT ATTsur R ATT MTT = MTT R 0 PTT = TWT MTT n+1 n PTT = TWT n+1 MTT PTT ATT : Attributed Tree Transducer RTT : Relabeling Tree Transducer SDT : Syntax Directed Transducer PTT : Pebble tree transducer TWT : Tree Walking Tree Transducer MTT : Macro tree Transducers MSO-TT : Monadic Second Order Tree Transducer

85 Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

86 Principes Généraux Plan 1 Taxonomie des transducteurs d arbres Syntax Directed Transducers Attributed Tree Transducer MSO Tree transducers Transductions rationnelles Macro Tree Transducers Tree Walking/Pebble Tree Transducers Récapitulatif 2 Apprentissage de transducteurs Principes Généraux

87 Principes Généraux Idées les langages d arbres réguliers sont apprenables par RPNI par exemples positifs et négatifs. on se ramène donc à des langages d arbres. Utilisation de la fonctionnalité. Utilisation d exemples enrichis.

88 Principes Généraux Correspondance des noeuds : Principe HTML BODY TABLE TR TD TD = RACINE ID Jean Dupont Jean Dupont

89 Principes Généraux Correspondance des noeuds : Principe HTML BODY TABLE TR TD TD = RACINE ID TEXTE TEXTE TEXTE TEXTE Réduction du vocabulaire

90 Principes Généraux Correspondance des noeuds : Principe HTML BODY TABLE TR TD TD = RACINE ID TEXTE TEXTE TEXTE TEXTE Correspondance des noeuds

91 Principes Généraux Correspondance des noeuds : Principe HTML BODY RACINE TABLE TR = ID TD TD TEXTE Jean TEXTE Dupo TEXTE Jean TEXTE Dupont Correspondance des noeuds

92 Principes Généraux Correspondance des noeuds : Principe HTML BODY RACINE TABLE TR = ID TD TD TEXTE Jean TEXTE Dupo TEXTE Jean TEXTE Dupont Correspondance des noeuds

93 Principes Généraux Correspondance des noeuds : Principe Idées générales Tous les formalismes de transductions présentés ici peuvent générer une fonction de correspondance de noeuds. On peut obtenir facilement cette fonction sur les exemples (au moins en transformation de document).

94 Principes Généraux Correspondance des noeuds : Entrées/Sorties f h g c c h h a b a c

95 Principes Généraux Correspondance des noeuds : Entrées/Sorties f h f /h(x 2, x 1, h(x 2 )) g c c h h g/h(x 1 ) c/c a b a c a/a b/ε Transformation en langage d arbres

96 Principes Généraux Passage des transductions aux langages d arbres Notes : Règle d un transducteur d arbres : q(f (x 1, x 2 )) h(q 1 (x 2 ), q 2 (x 1 ), h(q 1 (x 2 ))) Règle correspondante dans l automate d arbres : q(f /h(x 2, x 1, h(x 2 ))(x 1, x 2 )) (f /h(x 2, h(x 1 ), x 2 ) )(q 2 (x 1 ), q 1 (x 2 )) Alphabet apparemment infini (Σ T X ), en réalité fini (limité à ce qui apparaît dans le transducteur cible) Restriction : même état lors des copies

97 Principes Généraux Apprentissage Exemple enrichi Exemple du langage d arbre Inférence Langage d arbres Transducteur d arbres

98 Principes Généraux Avec des exemples moins enrichis? f h a g b c c h h a c La fonction de correspondance n est connue que pour les feuilles (et la racine) 1 Complétion par défaut (le plus bas possible) 2 Lors d une fusion, possibilité de relever la fonction de correspondance

99 Principes Généraux Étendre l expressivité a f f b f c d a f f d f c b

100 Principes Généraux Étendre l expressivité a f f b f c d a f f d f c b Avec YIELD SUBST f a α 1 α 2 f f b c d

101 Principes Généraux Étendre l expressivité f f f d f b f c f c a b a d Avec MTT d et c sont stockés dans les paramètres ils sont utilisés lors du passage à b (A préciser...)

102 Classes apprenables à partir d exemples enrichis Affirmations gratuites Classe Apprenable? RTT OUI (copy-safe) TT OUI (très probablement) (copy-safe) MTT J y crois SDT OUI (sans doute?) ATT NON (sans doute) (copy-safe) MSO-TT Possible??

103 Bibliographie très succinte TATA 1997 Models of tree translations, S. Maneth, PhD thesis A Comparaison of Pebble Tree Transducers with Macro Tree Transducers, J. englefriet and S. Maneth, 2002 characterization of Properties and Relations defined in Monadic Second Order Logic on the nodes of Trees, R. Bloem and J. Engelfriet, 1997 Attribute Grammars and Monadic Second Order Logic, R. Bloem, 1996 Syntax-Directed Semantics - Formal Models based on Tree Transducers (Fülop/Vogler) Macro Tree Transducers in TREEBAG, K. Azab, 2005

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples Arbres Alphabet Σ = Σ 0 Σ k Σ i : alphabet fini de symboles de rang i (Σ i Σ j possible). Un arbre t de rang k est défini par un ensemble (fini) dom(t) {1,..., k} clos par préfixe (domaine de t) : si v,

Plus en détail

L2: cours I4c Langages et automates

L2: cours I4c Langages et automates L2: cours I4c Langages et automates Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr Modifié le 31 mai 2007 Sommaire Utiles pour compilation, interprétation,... 1. Langages rationnels 2. Langages

Plus en détail

Méthodes algébriques pour la théorie des automates

Méthodes algébriques pour la théorie des automates 1/28 Université Paris-Diderot Sciences mathématiques de Paris Centre Thèse de Doctorat Spécialité Informatique Méthodes algébriques pour la théorie des automates Luc Dartois 2/28 Exemple d automate : le

Plus en détail

UPMC Master informatique 2 STL NI503 Conception de langages Notes I

UPMC Master informatique 2 STL NI503 Conception de langages Notes I UPMC Master informatique 2 STL NI503 Conception de langages Notes I 2012 1 Évaluer Un langage Le langage Logo est composé commandes permettant de diriger le déplacement d un point sur un plan cartésien

Plus en détail

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2 Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101 Danny Dubé Hiver 2014 Version : 11 avril Questions Travail pratique #2 Traduction orientée-syntaxe

Plus en détail

Grammaires formelles, Automates

Grammaires formelles, Automates 1/39 Grammaires formelles, Automates Pierre Zweigenbaum LIMSI, CNRS pz@limsi.fr http://www.limsi.fr/~pz/ 2/39 1 Syntaxe : grammaire, analyse 2 Grammaires formelles Langage et grammaire Grammaires régulières

Plus en détail

Chapitre 4 Automates à pile et langages hors-contexte

Chapitre 4 Automates à pile et langages hors-contexte Chapitre 4 Automates à pile et langages hors-contexte 87 Introduction Langage a n b n n est pas accepté par un automate fini. Par contre L k = {a n b n n k} est accepté. Mémoire finie, mémoire infinie,

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Arbres Binaires d après un cours de N. Devésa, Polytech Lille. Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

F411 - Courbes Paramétrées, Polaires

F411 - Courbes Paramétrées, Polaires 1/43 Courbes Paramétrées Courbes polaires Longueur d un arc, Courbure F411 - Courbes Paramétrées, Polaires Michel Fournié michel.fournie@iut-tlse3.fr http://www.math.univ-toulouse.fr/ fournie/ Année 2012/2013

Plus en détail

Les arbres Florent Hivert

Les arbres Florent Hivert 1 de 1 Algorithmique Les arbres Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 1 Algorithmes et structures de données La plupart des bons algorithmes fonctionnent

Plus en détail

Bases de Données Avancées

Bases de Données Avancées Bases de Données Avancées Enseignant / chargé de TD : Dario COLAZZO www.lri.fr/~colazzo Chargée de TP : Jesús CAMACHO-RODRIGUEZ www.lri.fr/~camacho Plan Tuning d index Concurrence Reprise sur panne Données

Plus en détail

λ-calcul et typage Qu est-ce qu une fonction?

λ-calcul et typage Qu est-ce qu une fonction? λ-calcul et typage Nicolas Barnier, Pascal Brisset ENAC Avril 2009 Nicolas Barnier, Pascal Brisset (ENAC) λ-calcul et typage Avril 2009 1 / 1 Qu est-ce qu une fonction? Classiquement Pas de notation uniforme/standard

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

TP 1 M1 Informatique Apprentissage Automatique. Premières classifications : apprentissage et évaluation

TP 1 M1 Informatique Apprentissage Automatique. Premières classifications : apprentissage et évaluation Premières classifications : apprentissage et évaluation L objectif de ce TP est double : prise en main de la bibliothèque scikit-learn de Python, dédiée à l apprentissage automatique, sensibilisation à

Plus en détail

Techniques de compilation

Techniques de compilation Département d Informatique Université de Nice Sophia Antipolis Master 1 Informatique Techniques de compilation XI. Générateurs de générateurs de code Jacques Farré email : Jacques.Farre@unice.fr 1 Introduction

Plus en détail

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée.

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée. A 2015 INFO. MP École des Ponts ParisTech, SUPAERO (ISAE), ENSTA ParisTech, Télécom ParisTech, Mines ParisTech, Mines de Saint-étienne, Mines Nancy, Télécom Bretagne, ENSAE ParisTech (filière MP), École

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Analyse syntaxique et application aux langues naturelles. Grammaires Lexicales Fonctionnelles (LFG)

Analyse syntaxique et application aux langues naturelles. Grammaires Lexicales Fonctionnelles (LFG) Université de Nice Sophia Antipolis Master 2 Recherche PLMT Analyse syntaxique et application aux langues naturelles Grammaires Lexicales Fonctionnelles (LFG) Jacques Farré et Sylvain Schmitz Analyse syntaxique

Plus en détail

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr

Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Programme de la licence informatique, université de Caen http://www.info.unicaen.fr Unité Systèmes d'information CM : 45h - TD : 60h - TP : 12h - Coeff 2 Systèmes de Gestion de Bases de Données Modéliser

Plus en détail

Langages et Compilation. Analyse descendante prédictive

Langages et Compilation. Analyse descendante prédictive Langages et Compilation Analyse descendante prédictive 1 Introduction Grammaires LL(1) Une famille de grammaires analysables de façon ecace. Caractéristiques de l'analyse LL(1) analyse descendante Construction

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Projet de Programmation Fonctionnelle

Projet de Programmation Fonctionnelle Projet de Programmation Fonctionnelle L objectif de ce projet est de concevoir, en Objective Caml, un évaluateur pour le langage mini-ml (un sous ensemble du langage Objective Caml). Votre programme devra

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages AntLR - Générateur d analyseurs Claude Moulin Université de Technologie de Compiègne Printemps 2015 Sommaire 1 Introduction 2 AntLR ANTLR : ANother Tool for Language Recognition URL

Plus en détail

Langages de programmation et compilation

Langages de programmation et compilation École Normale Supérieure Langages de programmation et compilation Jean-Christophe Filliâtre Cours 6 / 9 novembre 2015 Jean-Christophe Filliâtre Langages de programmation et compilation 2015 2016 / cours

Plus en détail

Chap. VII : arbres binaires

Chap. VII : arbres binaires Chap. VII : arbres binaires 1. Introduction Arbre : collection d objets avec une structure hiérarchique Structure intrinsèque descendants d une personne (elle incluse) A ascendant connus d une personne

Plus en détail

gcc -Wall ansi o tp fichiers -lfl

gcc -Wall ansi o tp fichiers -lfl FLEX et BISON tp.l tp_l.c : - abréviations - expressions régulières et actions associées. tp.h : - définition de types - définition d étiquettes tp_y.h : codes symboliques pour les tokens FLEX Générateur

Plus en détail

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée

BAZIN Danil et PRIEZ Jean-Baptiste. LEX & YACC : Calculatrice Évoluée BAZIN Danil et PRIEZ Jean-Baptiste LEX & YACC : Calculatrice Évoluée Table des matières 1 Introduction 3 2 Description 4 3 La grammaire utilisée 6 4 Lexèmes et FLEX 8 5 Analyse syntaxique et YACC 8 5.1

Plus en détail

Cours de compilation

Cours de compilation Cours de compilation 1 Introduction Un compilateur est un logiciel de traduction d un langage source vers un langage cible. D ordinaire le langage source est un langage de programmation évolué, comme C++

Plus en détail

Analyse syntaxique IFT-15752 Compilation et interpr etation c! Danny Dub e 2006

Analyse syntaxique IFT-15752 Compilation et interpr etation c! Danny Dub e 2006 Analyse syntaxique Introduction Les grammaires hors-contexte sont les outils que nous utiliserons pour spécifier la structure syntaxique des programmes. Les grammaires hors-contexte ont plusieurs avantages:

Plus en détail

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak Arbres Binaire PSI DAKHLA Prof Youssef El marzak 1 Prof Youssef Elmarzak 1.introduction: Les arbre sont très utilisées en informatique, d une part parce que les informations sont souvent hiérarchisées,

Plus en détail

CH.3 LA TRADUCTION. Grammaire attribuée d une calculette. Traduction ch3 1. Traduction ch3 2

CH.3 LA TRADUCTION. Grammaire attribuée d une calculette. Traduction ch3 1. Traduction ch3 2 CH.3 LA TRADUCTION 3.1 Les grammaires attribuées 3.2 Les définitions S-attribuées 3.3 Les définitions L-attribuées 3.4 La traduction descendante 3.5 L évaluation ascendante des attributs hérités 3.6 L

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Grammaires algébriques Analyse LL(1) Analyse LR(0) Quelques mots de l analyse LR(1) L outil Menhir 1 Compilation (INF 564) Analyse syntaxique François Pottier 16 décembre 2015 Grammaires algébriques Analyse

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Arbres binaires de recherche (ABR) Binary Search Trees (BST)

Arbres binaires de recherche (ABR) Binary Search Trees (BST) LSVIII-BIM Algorithmie, 2015 Arbres binaires de recherche (ABR) Binary Search Trees (BST) I. Arbres binaires 1. Structure 2. Parcours II. Arbres binaires de recherche 1. Définition 2. Opérations sur les

Plus en détail

Feuille 5 Algèbre Relationnelle et Calcul Relationnel

Feuille 5 Algèbre Relationnelle et Calcul Relationnel Université de Bordeaux M2 d Informatique, 2014-2015 Cours de Bases de Données Avancées Feuille 5 Algèbre Relationnelle et Calcul Relationnel On va définir les deux principaux langages de requêtes (équivalents)

Plus en détail

Grammaires d unification

Grammaires d unification Cours sur le traitement automatique des langues (IV) Violaine Prince Université de Montpellier 2 LIRMM-CNRS Grammaires d unification Grammaire catégorielle Grammaire syntagmatique généralisée (GPSG) Les

Plus en détail

LIF4 - Optimisation à base de règles

LIF4 - Optimisation à base de règles LIF4 - Optimisation à base de règles Fabien Duchateau fabien.duchateau [at] univ-lyon1.fr Université Claude Bernard Lyon 1 2015-2016 http://liris.cnrs.fr/fabien.duchateau/ens/lif4/ Remerciements : Nicolas

Plus en détail

Résolution générique à la volée de systèmes d équations booléennes et applications

Résolution générique à la volée de systèmes d équations booléennes et applications Résolution générique à la volée de systèmes d équations booléennes et applications Radu Mateescu INRIA Rhône-Alpes / VASY Plan Introduction Systèmes d équations booléennes d alternance 1 Algorithmes de

Plus en détail

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

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

TD 2 - Modèles de calcul

TD 2 - Modèles de calcul TD 2 - Modèles de calcul Remarques préliminaires Si ou désigne une relation binaire (de dérivation/transition suivant le contexte), on notera ou sa clôture transitive, comprendre la relation obenue en

Plus en détail

Option Informatique Arbres binaires équilibrés

Option Informatique Arbres binaires équilibrés Option Informatique Arbres binaires équilibrés Sujet novembre 2 Partie II : Algorithmique et programmation en CaML Cette partie doit être traitée par les étudiants qui ont utilisé le langage CaML dans

Plus en détail

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures)

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures) L2 - lgorithmique et structures de données (nnée 2010/2011) Delacourt, Phan Luong, Poupet xamen (2 heures) Les documents (cours, TD, TP) sont autorisés. Les quatre exercices sont indépendants. À la fin

Plus en détail

Sémantique des Langages de Programmation

Sémantique des Langages de Programmation Sémantique des Langages de Programmation Introduction Stefano Guerrini stefano.guerrini@univ-paris13.fr LIPN - Institut Galilée, Université Paris Nord 13 Sup Galillée Informatique, 1ère année 2009 2010

Plus en détail

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes. Automates à pile Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 62 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates

Plus en détail

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

Découverte de Règles Associatives Hiérarchiques entre termes. Sandra BSIRI Hamza Mahdi ZARG AYOUNA Chiraz L.Chérif Sadok BENYAHIA

Découverte de Règles Associatives Hiérarchiques entre termes. Sandra BSIRI Hamza Mahdi ZARG AYOUNA Chiraz L.Chérif Sadok BENYAHIA Découverte de Règles Associatives Hiérarchiques entre termes Sandra BSIRI Hamza Mahdi ZARG AYOUNA Chiraz L.Chérif Sadok BENYAHIA 1 Plan Problématique et État de l art Nouvelle approche Approche Conceptuelle

Plus en détail

x n = x x n 1 Exercice 3 Le but de cet exercice est de modéliser les suites définies par récurrence de la façon suivante :

x n = x x n 1 Exercice 3 Le but de cet exercice est de modéliser les suites définies par récurrence de la façon suivante : Ocaml - Exercices Exercice Définir en Ocaml les fonctions suivantes:. f : x sin x + cos x. g : x x 3x+ x x 5 3. Fonction h calculant la moyenne géométrique de deux float positifs ( xy) Exercice Ecrire

Plus en détail

1 Valeur d une expression

1 Valeur d une expression PCSI Informatique: Cours2 1 VALEUR D UNE EXPRESSION Expressions et variables en informatique 1 Valeur d une expression Expression : suite de caractères qui a un sens pour la machine Valeur d une expression

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN CHAPITRE 6 Arbres binaires Lycée Kléber MPSI, Option Info 2014/2015 1 Définitions 2 Parcours en largeur Parcours en profondeur Parcours préfixe, infixe, postfixe Reconstitution 3 Recherche Complexité Insertion

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Analyse descendante LL(k)

Analyse descendante LL(k) Bureau 203 - M3 extension mirabelle.nebut at lifl.fr 2012-2013 Principes Factorisation à gauche Suppression de la récursivité à gauche 2/119 Objectif du cours Comprendre le fonctionnement des générateurs

Plus en détail

L outil Cup. Licence info et GMI documentation COMPIL 2007-2008. Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl.

L outil Cup. Licence info et GMI documentation COMPIL 2007-2008. Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl. UFR IEEA Licence info et GMI documentation COMPIL 2007-2008 FIL Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl.fr 1 raccourci pour Java-Based Constructor of Useful Parsers est un

Plus en détail

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr)

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr) Partie 3 Gilles Lebrun (gilles.lebrun@unicaen.fr) Les arbres binaires Définition : C est une structure arborescente ou hiérarchique ou récursive Chaque élément (nœud) constituant la structure de l arbre

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Systèmes linéaires. 1. Introduction aux systèmes d équations linéaires. Exo7. 1.1. Exemple : deux droites dans le plan

Systèmes linéaires. 1. Introduction aux systèmes d équations linéaires. Exo7. 1.1. Exemple : deux droites dans le plan Exo7 Systèmes linéaires Vidéo partie 1. Introduction aux systèmes d'équations linéaires Vidéo partie 2. Théorie des systèmes linéaires Vidéo partie 3. Résolution par la méthode du pivot de Gauss 1. Introduction

Plus en détail

Chapitre 2 : Conception de base de données relationnelle

Chapitre 2 : Conception de base de données relationnelle Chapitre 2 : Conception de base de données relationnelle Le modèle entité-association 1. Les concepts de base 1.1 Introduction Avant que la base de données ne prenne une forme utilisable par le SGBD il

Plus en détail

Cours de spécialité mathématiques en Terminale ES

Cours de spécialité mathématiques en Terminale ES Cours de spécialité mathématiques en Terminale ES O. Lader 2014/2015 Lycée Jean Vilar Spé math terminale ES 2014/2015 1 / 51 Systèmes linéaires Deux exemples de systèmes linéaires à deux équations et deux

Plus en détail

Introduction à Lex et Yacc

Introduction à Lex et Yacc Introduction à Lex et Yacc H. Cassé, M. Couzinier, M. Strecker Année 2004/2005 1. L analyseur lexical Lex 2. L analyseur syntaxique Yacc 3. La coordination de Lex et Yacc 1 Processus de compilation programme

Plus en détail

TP Compilation Analyse lexicale

TP Compilation Analyse lexicale TP Compilation Analyse lexicale Eric Ramat ramat@lisic.univ-littoral.fr 9 mai 2014 Durée : 6 heures 1 Introduction Le but de cet TP est de vous donner les bases nécessaires afin de pouvoir écrire votre

Plus en détail

Cours numéro 9 : arbres binaires et de recherche

Cours numéro 9 : arbres binaires et de recherche Cours numéro 9 : arbres binaires et de recherche LI213 Types et Structures de données Licence d Informatique Université Paris 6 Arbre Arbre Un arbre est un ensemble fini A d éléments, liés entre eux par

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

Plus en détail

Machines composées de (depuis 1940 env.) : http://cui.unige.ch/isi/cours/std/

Machines composées de (depuis 1940 env.) : http://cui.unige.ch/isi/cours/std/ données pr ogramme 11111101 11001101 01000101 b us disque ma gnétique processeur écran Structures de données et algorithmes Ordinateurs Gilles Falquet, printemps-été 2002 Machines composées de (depuis

Plus en détail

Apprentissage d automates sur les protéines

Apprentissage d automates sur les protéines Apprentissage d automates sur les protéines Approche par fusion de fragments significativement similaires (Jobim 04) François Coste, Goulven Kerbellec, Boris Idmont, Daniel Fredouille Christian Delamarche

Plus en détail

Les technologies XML. Cours 2 : Transformation et Formatage de documents XML : Cours 2.2 : XSLT. Novembre 2010 - Version 3.2 -

Les technologies XML. Cours 2 : Transformation et Formatage de documents XML : Cours 2.2 : XSLT. Novembre 2010 - Version 3.2 - Les technologies XML Cours 2 : Transformation et Formatage de documents XML : Cours 2.2 : XSLT Novembre 2010 - Version 3.2 - SOMMAIRE DU COURS TRANSFORMATIONS DE DOCUMENTS XML Introduction à XSL Noeuds

Plus en détail

Modèle Entité/Association. Marc Plantevit. marc.plantevit@liris.cnrs.fr

Modèle Entité/Association. Marc Plantevit. marc.plantevit@liris.cnrs.fr Modèle Entité/Association Marc Plantevit marc.plantevit@liris.cnrs.fr Objectifs Savoir lire un schéma E/R. Savoir traduire un schéma E/R en Modèle Relationnel.... 2 Le modèle Entité-Association (E/A) E/R

Plus en détail

Description du projet

Description du projet Polytech Paris Sud > Et4 Informatique > Recherche d information dans les textes Description du projet Ce projet est à réaliser en groupes de 4 ou 5 étudiants et sera à rendre collectivement. Le rendu sera

Plus en détail

2- Téléchargement et installation version actuelle 6.1

2- Téléchargement et installation version actuelle 6.1 1- EDI NetBeans (Environnement : Microsoft Windows Linux Ubuntu) EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail

Comment créer et administrer une campagne?

Comment créer et administrer une campagne? Comment créer et administrer une campagne? TS Evaluation Auteur(s)/Intervenant(s) : 2012 TalentSoft IDENTIFIER ÉVALUER DÉVELOPPER PLANIFIER www.talentsoft.com Objectifs Cette formation doit permettre au

Plus en détail

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

CH.6 Propriétés des langages non contextuels CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le

Plus en détail

TD 5 LES POINTEURS. Définition: Pointeur

TD 5 LES POINTEURS. Définition: Pointeur TD 5 LES POINTEURS d'après le site de F. Faber http://www.ltam.lu/tutoriel_ansi_c Définition: Pointeur Un pointeur est une variable spéciale qui peut contenir l'adresse d'une autre variable. En C, chaque

Plus en détail

Correction de programmes : Logique de Hoare

Correction de programmes : Logique de Hoare 16 juillet 2009 Logique et informatique Vis-à-vis de l informatique la logique a au moins 2 rôles : 1 Externe et théorique (fondements de l informatique - Électif en S4) : Logique comme méta-informatique

Plus en détail

Introduction à XPath

Introduction à XPath Introduction à XPath Introduction à XPath xml-xpath Code: xml-xpath Originaux url: http://tecfa.unige.ch/guides/tie/html/xml-xpath/xml-xpath.html url: http://tecfa.unige.ch/guides/tie/pdf/files/xml-xpath.pdf

Plus en détail

FSAB 1402 - Suggestions de lecture

FSAB 1402 - Suggestions de lecture FSAB 1402 - Suggestions de lecture 2006 Concepts, techniques and models of computer programming Cours 1 - Intro Chapitre 1 (sections 1.1, 1.2, 1.3, pages 1-3) Introduction aux concepts de base Chapitre

Plus en détail

RdF Reconnaissance des Formes Semaine 12 : Chaînes, langages et grammaires

RdF Reconnaissance des Formes Semaine 12 : Chaînes, langages et grammaires RdF Reconnaissance des Formes Semaine 12 : Chaînes, langages et grammaires Master ASE : http://master-ase.univ-lille1.fr/ Master Informatique : http://www.fil.univ-lille1.fr/ Spécialité IVI : http://master-ivi.univ-lille1.fr/

Plus en détail

Programmer avec des Fonctions

Programmer avec des Fonctions Programmation Fonctionnelle I, 2009-2010 L1 Info&Math - Faculté des Sciences de Nice http://deptinfo.unice.fr/~roy Cours n 2 Programmer avec des Fonctions Calculer avec des Fonctions Un algorithme est

Plus en détail

Les arbres binaires. Terminologie avancée (1) TAD arbre binaire. Terminologie avancée (2) Terminologie avancée (3)

Les arbres binaires. Terminologie avancée (1) TAD arbre binaire. Terminologie avancée (2) Terminologie avancée (3) Les arbres Structures les plus importantes et les plus utilisées en informatique Liste = cas dégénéré d arbre Eemples: Arbres généalogiques Arbres de classification Arbres d epression / - Traduction de

Plus en détail

Le calcul des prédicats

Le calcul des prédicats Le calcul des prédicats Le calcul des prédicats Syntaxe Formalisation du langage naturel Sémantique Syntaxe : alphabet Les connecteurs,,, Les quantificateurs, Un ensemble dénombrable de variables x, y,

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

Introduction Basé sur la spécification ou l'interface du programme P On peut appliquer le critère de couverture complète du domaine

Introduction Basé sur la spécification ou l'interface du programme P On peut appliquer le critère de couverture complète du domaine Le test ''boîte noire'' LOG4500 Validation et tests de logiciels Professeur: John MULLINS Introduction asé sur la spécification ou l'interface du programme P On peut appliquer le critère de couverture

Plus en détail

Informatique. Programmation en Python.

Informatique. Programmation en Python. BCPST 1 B 13 septembre 2015 Informatique. Programmation en Python. Ce document est un support de cours, il vous permet d avoir sa structure et ses éléments les plus importants. Au cours des séances en

Plus en détail

Raisonnement probabiliste

Raisonnement probabiliste Plan Raisonnement probabiliste IFT-17587 Concepts avancés pour systèmes intelligents Luc Lamontagne Réseaux bayésiens Inférence dans les réseaux bayésiens Inférence exacte Inférence approximative 1 2 Contexte

Plus en détail

ANGLAIS, LANGUE SECONDE

ANGLAIS, LANGUE SECONDE ANGLAIS, LANGUE SECONDE PRÉSECONDAIRE ANG-P005-2 ANG-P006-2 DÉFINITION DU DOMAINE D EXAMEN MARS 1999 Quebec ANGLAIS, LANGUE SECONDE PRÉSECONDAIRE ANG-P005-2 ANG-P006-2 DÉFINITION DU DOMAINE D EXAMEN MARS

Plus en détail

Découverte de l EDI Visual Studio 2005 mai 2008

Découverte de l EDI Visual Studio 2005 mai 2008 (Environnement : Microsoft Windows) 1- EDI Visual Studio 2005 VB.net EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail

Arbres binaires. Hélène Milhem. Institut de Mathématiques de Toulouse, INSA Toulouse, France IUP SID, 2011-2012

Arbres binaires. Hélène Milhem. Institut de Mathématiques de Toulouse, INSA Toulouse, France IUP SID, 2011-2012 Arbres binaires Hélène Milhem Institut de Mathématiques de Toulouse, INSA Toulouse, France IUP SID, 2011-2012 H. Milhem (IMT, INSA Toulouse) Arbres binaires IUP SID 2011-2012 1 / 35 PLAN Introduction Construction

Plus en détail

PG208, Projet n 2 : Dessin vectoriel

PG208, Projet n 2 : Dessin vectoriel PG208, Projet n 2 : Dessin vectoriel Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Introduction à la conception de sites web. Yannick Prié UFR Informatique Université Claude Bernard Lyon 1

Introduction à la conception de sites web. Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 Introduction à la conception de sites web Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 Objectifs Introduction aux langages à balises Introduction à (X)HTML / CSS Introduction à la gestion

Plus en détail

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année UFR Sciences et Techniques Licence S&T 1ère année Informatique UE 102 Architecture des ordinateurs et Algorithmique de base Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ UFR Sciences et Techniques

Plus en détail

Master 1 Rentrée 2015/2016

Master 1 Rentrée 2015/2016 Informations générales Semestre 1 Semestre 2 Master 1 Rentrée 2015/2016 Université du Littoral Cote d Opale 4 septembre 2015 (Université du Littoral Cote d Opale) Master 1 4 septembre 2015 1 / 24 Informations

Plus en détail

Fiche de TD-TP no. 4

Fiche de TD-TP no. 4 Master 1 Informatique Programmation Fonctionnelle, p. 1 Fiche de TD-TP no. 4 Exercice 1. Voici trois façons différentes de définir le type Image : type Image = [[ Int ]] data Image = Image [[ Int ]] newtype

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages Automates Claude Moulin Université de Technologie de Compiègne Printemps 2013 Sommaire 1 Automate fini 2 Automate et langages réguliers 3 Automate à pile Automate fini déterministe

Plus en détail

UML Diagramme de classes (class diagram) pour le recueil et l analyse des besoins. Emmanuel Pichon 2013 V1.1

UML Diagramme de classes (class diagram) pour le recueil et l analyse des besoins. Emmanuel Pichon 2013 V1.1 UML Diagramme de classes (class diagram) pour le recueil et l analyse des besoins 2013 V1.1 Objectif Diagramme de classes (class diagram) pour le recueil des besoins et l analyse Présenter un ensemble

Plus en détail

Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant. Comparateur de documents XML

Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant. Comparateur de documents XML Rémi Godard Vivian Perez Florian Pérugini Bertrand Vitrant DOCUMENTATION TECHNIQUE Comparateur de documents XML SOMMAIRE 1 Introduction... 3 2 Langage et choix de programmation... 4 2.1 Le langage PHP...

Plus en détail

L1: Fondamentaux d algorithmique (En C++)

L1: Fondamentaux d algorithmique (En C++) L1: Fondamentaux d algorithmique (En C++) Par l Université de Haute Alsace Version 6 octobre 2015 Table des matières 1 Algorithmes et Programmes (3h) 3 2 Structures de Base (3h) 4 3 TP Structures de base

Plus en détail

Bases de données cours 2 Éléments d algèbre relationnelle. Catalin Dima

Bases de données cours 2 Éléments d algèbre relationnelle. Catalin Dima Bases de données cours 2 Éléments d algèbre relationnelle Catalin Dima Qu est-ce qu une algèbre? Algèbre : ensemble de domaines et d opérations. Exemple : les nombres (naturels, réels, complexes). Leurs

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 1 Arbres binaires de recherche 1 Les arbre sont très utilisés en informatique, d une part parce que les informations sont souvent hiérarchisées, et peuvent être représentées naturellement sous

Plus en détail

Leçon 1: les entiers

Leçon 1: les entiers Leçon 1: les entiers L ensemble N des entiers naturels Compter, dresser des listes, classer et comparer des objets interviennent dans de multiples activités humaines. Les nombres entiers naturels sont

Plus en détail

Thème 3 : Traduction dirigée par la syntaxe

Thème 3 : Traduction dirigée par la syntaxe Compilation : théorie, techniques et outils Thème 3 : Traduction dirigée par la syntaxe HABIB ABDULRAB (INSTITUT NATIONAL DES SCIENCES APPLIQUÉES DE ROUEN) CLAUDE MOULIN (UNIVERSITÉ DE TECHNOLOGIE DE COMPIÈGNE)

Plus en détail