Professional Documents
Culture Documents
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Mirabelle Nebut
Bureau 332 - M3
mirabelle.nebut at lifl.fr
texte
source
analyseur
lexical
analyseur
syntaxique
analyse
smantique
rep
smantique
2012-2013
2/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse semantique
Analyse s
emantique, grammaires attribu
ees
En termes de TP. . .
Analyse lexicale : TP2
il lest : . . . rien
3/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
4/59
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Rien ?
Analyse s
emantique, grammaires attribu
ees
Quoi dautre ?
5/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
6/59
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Plus generalement
Analyse s
emantique, grammaires attribu
ees
Comment fait-on ?
Analyse s
emantique, grammaires attribu
ees
En COMPIL, on va apprendre :
I
qui construit un
les calculs sont faits sur cette structure de donnees (cf COO,
algo, etc)
mod`ele semantique
7/59
8/59
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Dans ce cours
les
9/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
10/59
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Attributs synthetises
En pratique, outillage
11/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
12/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Analyse s
emantique, grammaires attribu
ees
Exemple
E E +T | T
T (E ) | i
13/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
14/59
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
E
E
E
I
I
T
i
i
15/59
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
16/59
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Donnees - attributs
de lexpression elle-meme : E ;
de ses sous-expressions : T , i.
17/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Arbre decore
Analyse s
emantique, grammaires attribu
ees
Calculs - actions
18/59
cases
val
val
T
val
val
E E +T
val
val
val
val
Passage de valeurs :
val
E T
{ E .val = T .val }
19/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
20/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Remarque
val
val 3
val
val 3
T
val
val
3i
val
i
21/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
22/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
E
E
T
T
E +T
T
(E )
i
{
{
{
{
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
24/59
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Comment 6= quand
val
4
val
val
val 3
val 3
25/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
2
val
2
val
4
val
i
26/59
Analyse s
emantique, grammaires attribu
ees
Sur lexemple
La problematique
E
E
T
T
Grammaires attribuees
Attributs synthetises
E +T
T
(E )
i
{
{
{
{
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Definition
28/59
Analyse s
emantique, grammaires attribu
ees
Dit autrement
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
30/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
32/59
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Attribution partielle
Attribution partielle
val 5
Attributs synthetises :
listeE
val
(
val 2
entier
val 2
listeE
entier
E entier
E ( + listeE )
E ( * listeE )
listeE
val 3
{ E.val = entier.val }
{ E.val = ? }
{ E.val = ? }
)
33/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Premi`ere solution
E ( + listeE ) | ( * listeE )
listeE E listeE
pas moyen de
la liste
34/59
herite .
35/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
36/59
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Seconde solution
Analyse s
emantique, grammaires attribu
ees
Exemple
Attributs synthetises :
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Exemple complet
Analyse s
emantique, grammaires attribu
ees
E entier
E ( + listeE )
E ( * listeE )
{ E.val = entier.val }
{ E.val = calcule(+, listeE.liste) }
{ E.val = calcule(*, listeE.liste) }
listeE E listeE
listeE
38/59
On peut aussi :
I
o`
u calcule(operateur, liste) est programmee `a part :
I
Analyse s
emantique, grammaires attribu
ees
39/59
40/59
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
<<interface>> *
Expression
Attributs synthetises
De lutilite des structures de donnees
Entier
<<abstract>>
ExpressionBinaire
En pratique, outillage
Multiplication
41/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
42/59
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
evaluer lexpression
etc
ListeInstruction
1
<<interface>>
Instruction
1
ListeDeclaration
*
<<interface>>
Declaration
variable :
String
43/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
DeclarationEntier
Lecture
variable :
String
<<interface>>
Expression
DeclarationListe
Entier
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Affectation
variable:
String
Liste
44/59
Analyse s
emantique, grammaires attribu
ees
Pattern Visiteur
Cest le pattern utilise en COMPIL.
Principe :
etc
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
46/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
appliquee , laction
En pratique, outillage
47/59
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
48/59
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
49/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
50/59
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
expr ::=
|
|
|
|
;
{-, +} p { * } p { -unaire}
operateurs binaires associatifs `a gauche
ENTIER
expr PLUS expr
expr MOINS expr
expr MULT expr
MOINS expr
51/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
52/59
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
terminal MOINS_UNAIRE;
/* bidon, nexiste pas dans lan lex,
sert `
a fixer la prio du moins unaire. */
expr ::=
|
|
|
|
;
ENTIER
expr PLUS expr
expr MOINS expr
expr MULT expr
MOINS expr %prec MOINS_UNAIRE
53/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
54/59
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Attributs
Analyse s
emantique, grammaires attribu
ees
Actions
Les actions semantiques sont ecrites en Java.
Elles sont placees :
I entre {: :}
I en fin de production avant le ;
I mais avant un %prec.
55/59
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
Analyse s
emantique, grammaires attribu
ees
56/59
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
57/59
Mirabelle Nebut
La probl
ematique
Grammaires attribu
ees
Attributs synth
etis
es
De lutilit
e des structures de donn
ees
Approche g
en
erale pour lanalyse s
emantique
En pratique, outillage
Analyse s
emantique, grammaires attribu
ees
Mirabelle Nebut
Attributs de laxiome
Lanalyseur syntaxique decore fournit les attributs de laxiome.
import java_cup.runtime.Symbol;
...
ParserExpression parser = new ParserExpression(scanner);
...
Symbol s = parser.parse();
Expression e = (Expression) s.value;
...
59/59
Mirabelle Nebut
Analyse s
emantique, grammaires attribu
ees
58/59