afficher >><< masquer ]
SAMPI - Editeur structuré
1. Le Problème et la Proposition
2. Le Langage Primitif de Représentation Textuelle
2.1. Présentation de la Syntaxe Concrète
2.2. Notations
2.3. Exemple de structuration des données
2.4. Exemple de structuration des traitements
2.5. Exemple de structurations connexes
3. Le Langage Complété pour la Structuration des Textes
3.1. Présentation de la Syntaxe Complétée
3.2. Etude quantitative de l'évolution des programmes
3.3. L'édition syntaxique
3.4. étude de cas : le langage LTR3 et l'atelier ENTREPRISE
4. L'Enrichissement du Langage par de Nouveaux Concepts
4.1. Présentation de la Syntaxe Abstraite
4.2. Les difficultés
4.3. Compléter la Syntaxe
5. La Formalisation des Solutions Techniques
5.1. L'évaluation fonctionnelle
5.2. La structuration par les objets
5.3. Modèle sémantique comparé de l'évaluateur
5.4. Comparaison critique
5.5. Construction de la Syntaxe Abstraite
6. Les Comparaisons avec d'autres Approches
7. Les Perspectives
8. Les Editeurs
8.0. brisé sur la barrière de la complexité (une fois de plus)
8.1. L'éditeur ligne : Manuel de l'utilisateur
8.2. L'éditeur page : Guide de l'utilisateur
9. Les Aspects d'Implantation
9.1. Contexte d'évaluation
9.1.0. Introduction
9.1.1. Modularité
9.1.2. Encapsulation
9.1.3. Paramètre
9.1.4. Emploi par référence
9.1.5. Exemples d'application
9.1.6. Héritage de propriétés
9.1.66.1. Héritage commun
9.1.66.2. Héritage multiple
9.1.66.3. Structuration de l'application
9.1.66.4. Exemple de structure hiérarchique
9.1.7. Polymorphisme
9.1.8. Manipulation symbolique
9.1.9. Le contexte d'évaluation
9.2. La Syntaxe Abstraite : Manuel du concepteur
9.3. L'éditeur page : Guide de l'implanteur
Références
Rubrique Perl-Javascript

Héritage de propriétés

1. Héritage commun

2. Héritage multiple

3. Structuration de l'application

4. Exemple de structure hiérarchique

1. Héritage commun

L'exemple précédent laisse déjà entendre que les concepts présentés s'apparentent assez bien à la notion d'héritage des Langages Orientés Objet. On peut, du fait que la notion n'est pas explicite mais plutôt induite, tirer parti de la situation pour réaliser diverses sortes d'héritages.

Par exemple :

def com
   def a = "A[" (index) "]"
   def b = "B[" (index) "]"

def util
   def util1
      def index = "I"
   = (a(com)) ":=" (b(com)) ";" "^M"
   def util2
      def index = "I+1"
   = (a(com)) ":=" (b(com)) ";" "^M"
= (util1)
  "TRAIT;" "^M"
  (util2)

donne :

A[I]:=B[I];
TRAIT;
A[I+1]:=B[I+1];

La définition du paramètre effectif index est mise en commun entre les textes a et b : à une seule définition du paramètre correspond deux instanciations.

On peut noter que l'exemple profite directement du fait que les textes a et b sont paramétrés par un texte de même nom index. Cependant les paramètres traduisant dans les deux cas la même notion, on peut juger raisonnable de leur donner le même nom.