suivant: Déroulement de l'exemple
monter: Structure des données
précédent: Pointeurs utilisés
  Table des matières
Nous allons ici détailler l'évolution de la structure de donnée avec l'exemple suivant :
conc(k(*a, *b), *c, k(*a, *d)) -> conc(*b, *c, *d);
Si l'on suppose que cette règle est la première du programme, voici une partie des différents
points de générations traversés:
Debut_Session(); Regle() ;
Terme() ; Symbole("conc") ; Foncteur() ;
Terme() ; Symbole("k") ; Foncteur() ;
Terme() ; Symbole("a") ; Variable() ;
Terme() ; Symbole("b") ; Variable() ;
Fin_Foncteur() ;
Terme() ; /* points de génération correspondant à *c */
Terme() ; /* points de génération correspondant à k(*a, *d) */
Fin_Foncteur() ;
Paquet() ; Terme() ; /* points de génération correspondant à conc(*b, *c, *d) */
Fin_Regle() ;
Notre objectif n'étant pas de paraphraser le code écrit, nous ne revenons pas ici sur les différents
champs des structures 1.1. Sur les
différents schémas,
ces champs seront nommés au-dessus ou en-dessous de la case correspondante. En outre, une flèche
arrivant sur la gauche ou sur la droite d'un objet correspondra à un pointeur sur l'intégralité de cet
objet, tandis qu'une flèche arrivant sur le haut ou le bas d'un objet sera un pointeur sur le champ
correspondant de l'objet. Les autres notations se comprennent d'elles-mêmes.
suivant: Déroulement de l'exemple
monter: Structure des données
précédent: Pointeurs utilisés
  Table des matières
Alexandre DAGAN
2000-07-07