Vous êtes sur la page 1sur 3

TD- Analyse sémantique

E  E+T | E-T | E*T | E/T

E T

T id|nbr|(E)

3*x+6

1)

E.ptr  CreeNoeud(‘+’,E.ptr, T.ptr)

E.ptr  T.ptr

T.ptr  CreeFeuille(identifiant, id.entree)

T.ptr  CreeFeuille(nbr, nbr,.val)

T.ptr  E.ptr

2)

Pointeur 1  CreeFeuille(nombre,3)

Pointeur 2  CreeFeuille(identifiant,ptr(x))

Pointeur 3  CreeNoeud(‘*’,pointeur1,pointeur2)

Pointeur 4  CreeFeuille(Nombre,6)

Pointeur 5  CreeNoeud(‘+’,pointeur3,pointeur4)

3) Arbre Syntaxique Abstrait:


4) Arbre decoré:

a-x * y

1)

E.ptr  CreeNoeud(‘*’,E.ptr, T.ptr)

E.ptr  CreeNoeud(‘-’,E.ptr, T.ptr)

T.ptr  CreeFeuille(identifiant, id.entree)

E.ptr  T.ptr

T.ptr  CreeFeuille(identifiant, id.entrée)

T.ptr  CreeFeuille(identifiant, id.entrée)

2)

Pointeur 1  CreeFeuille(identifiant , ptr(a))

Pointeur 2  CreeFeuille(identifiant,ptr(x))

Pointeur 3  CreeNoeud(‘-’,pointeur1,pointeur2)

Pointeur 4  CreeFeuille(Identifiant,ptr(y))

Pointeur 5  CreeNoeud(‘*’,pointeur3,pointeur4)
3) Arbre Syntaxique Abstrait:

4) Arbre decoré:

Vous aimerez peut-être aussi