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.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

Paramètre

De ce qui précède, on peut retirer que, partant d'une certaine vision des textes définis, on pourra s'assurer que tel texte est bien celui qui sera effectivement utilisé si une définition de ce texte est visible.

Par exemple :

def x3
   def v = "V3"
= (use u) (use v)

on sait que : (use v) sera évalué en : "V3".

Les autres utilisations, c'est-à-dire les utilisations de textes dont aucune définition n'est visible, seront les paramètres du texte. Ils seront soit définis "plus haut", soit définis "à côté" (ici : le texte u est un paramètre).

Par exemple :

def x2
   def u = "U2"
   def v = "V2"
   def x3
      def v = "V3"
   = (use u) (use v)

on sait que le texte x3 n'est pas paramétré "du point de vue de x2", puisque le texte u, qui est l'unique paramètre du texte x3, est défini localement au texte x2.

Premier exemple de texte paramétré

On définit le texte paramétré tab – le paramètre est index.
uti1 définit le texte paramètre index.

def tab = "RG[" (use index) "]"

def uti1
   def index = "I"
= (use tab)

Evaluation de uti1 dans l'environnement global :

Premier exemple de texte paramétré

Evaluation de la représentation de uti1, l'environnement de uti1 ayant été placé dans le contexte d'évaluation :

Premier exemple de texte paramétré

Evaluation de la représentation de tab : la définition de index de uti1 est bien visible :

Premier exemple de texte paramétré

Ce comportement est bien celui d'un paramètre formel (l'utilisation dans la représentation de tab d'un texte index) avec passage d'un paramètre effectif (le texte index défini localement au texte uti1).

Deuxième exemple de texte paramétré

On définit le même texte paramétré tab.
uti2 utilise tab en définissant localement le paramètre index.

def tab = "RG[" (use index) "]"

def uti2
= (use tab
   (def index = "I"))

Evaluation de uti2 :

Deuxième exemple de texte paramétré

Evaluation de la représentation de uti2 :

Deuxième exemple de texte paramétré

On place l'environnement local d'utilisation (ici : la définition de index) et on évalue l'utilisation de tab :

Deuxième exemple de texte paramétré

Evaluation de la représentation de tab :

Deuxième exemple de texte paramétré

Ici encore index joue bien le rôle d'un paramètre.