Sémantique
Sémantique
Sémantique
Thème 3 :
Traduction
dirigée par la
syntaxe
Objectifs 5
Introduction 7
I - Grammaires attribuées 9
A.Grammaires attribuées...............................................................................9
II - Schéma de traduction 13
A.Schéma de traduction...............................................................................13
3
Objectifs
5
Introduction
7
Grammaires
I-
I
attribuées
Grammaires attribuées 9
A.Grammaires attribuées
Grammaires Attribuées
C'est donc un formalisme qui permet d'associer des actions (règles
sémantiques) aux règles de production d'une grammaire.
On parle de Définition Dirigée par la Syntaxe puisqu'on s'appuie sur la
grammaire définissant la syntaxe du langage.
On parlerait de Définition dirigée par le Modèle lors d'un processus similaire
s'appuyant sur la représentation intermédiaire produite par l'analyse
syntaxique.
Chaque symbole de la grammaire peut posséder des attributs.
Si le symbole ne figure qu'une seule fois dans une règle, on note
l'attribut a du symbole .
Dans le cas de plusieurs occurrences du symbole dans une règle, on note
le symbole en partie gauche, et , ceux en partie droite, à partir
du plus à gauche.
Chaque règle de production de la grammaire possède un ensemble d'actions
permettant de calculer la valeur des attributs.
Une règle sémantique est une suite d'instructions algorithmiques.
Exemple
9
Grammaires attribuées
Définition
Un arbre décoré est un arbre où l'on fait figurer les attributs.
Arbre Décoré
La figure suivante montre l'arbre de dérivation décoré pour une chaîne d'entrée
valant aaab
Arbre Décoré
On considère deux types d'attributs. Leur évaluation dépend de l'ordre avec lequel
l'arbre sera parcouru.
Déclaration de variables en C
D signifie Déclaration, T Type et L Liste.
10
Grammaires attribuées
Graphe de dépendances
Dans la figure suivante les flèches indiquent la dépendance entre les attributs et les
fonctions utilisées.
Graphe de dépendances
11
Schéma de
II -
II
traduction
Schéma de traduction 13
A.Schéma de traduction
Analyse ascendante
La grammaire suivante décrit la construction d'expressions arithmétiques
(E), à partir de termes (T), de facteurs (F), avec l'utilisation éventuelle de
parenthèses et à partir de nombres (nb) dont on évalue la valeur à partir
des chiffres qui le composent.
L'objectif est d'évaluer une expression respectant cette grammaire.
désigne une pile et le seul attribut utilisé est .
On considère une analyse ascendante d'une expression.
Remarque : la grammaire étant récursive à gauche n'est pas LL.
13
Schéma de traduction
Analyse de 9 - 5 + 2
La figure suivante montre la construction de l'arbre de dérivation à partir des
feuilles et l'état de la pile.
Analyse descendante
La grammaire suivante décrit l'imbrication de niveaux de parenthèses.
L'objectif est de déterminer le niveau d'imbrication d'une expression qui
figurerait entre deux parenthèses. désigne une pile et le seul attribut
utilisé est .
On considère une analyse descendante d'une imbrication de parenthèses.
14
Schéma de traduction
Analyse de ( ( ) ) ( )
La figure suivante montre la construction de l'arbre de dérivation à partir de la
racine et l'évolution de l'état de la pile.
Conclusion
L'analyse descendante se prête bien à la traduction de définitions L-
attribuées n'ayant que des attributs hérités puisque l'arbre syntaxique est
créé de la racine vers les feuilles. Il suffit dans certains cas d'empiler et de
dépiler les attributs hérités.
L'analyse ascendante se prête bien à la traduction de définitions S-
attribuées puisque l'arbre syntaxique est créé des feuilles vers la racine. Il
suffit dans les cas simples d'empiler et de dépiler les attributs synthétisés.
Principe
On insère les actions dans les règles de production comme suit :
Un attribut hérité attaché à une variable en partie droite d'une règle est
calculée par une action intervenant avant cette variable.
Un attribut synthétisé attaché à la variable en partie gauche est calculé
après que tous les arguments dont il dépend ont été calculés. L'action est en
général placée en fin de règle.
Dans les définitions L-attribuées une action ne peut faire référence à un
attribut d'un symbole placé à sa droite.
Dans une représentation d'arbre décoré, on place les attributs synthétisés à
droite des variables et les attributs hérités à gauche des variables.
Exemple
La grammaire suivante décrit la construction d'expressions arithmétiques
15
Schéma de traduction
Schéma de traduction
Dans la pratique, on présente le schéma de traduction sous la forme suivante
faisant mieux apparaître l'ordre dans lequel les actions vont être effectuées.
16
Exercice : Schéma
III -
III
de traduction
Question
[Solution n°1 p 19]
A partir de la grammaire et du schéma de traduction précédent quel est l'ordre des
actions lors de l'analyse de l'expression : 10 - 4 + 5 ?
17
Solution des
exercices
rédactionnels
19