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.2.1. La gestion des noms
4.2.2. Les modifications non locales sur la forme évaluée
4.2.22.1. Position du problème
4.2.22.2. Syntaxe complétée
4.2.22.3. Exemple
4.2.3. Les schémas optionnels
4.2.4. Annexe : exemple d'emploi partiel
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.2. La Syntaxe Abstraite : Manuel du concepteur
9.3. L'éditeur page : Guide de l'implanteur
Références
Rubrique Perl-Javascript

Les modifications non locales sur la forme évaluée

1. Position du problème

2. Syntaxe complétée

3. Exemple

3. Exemple

On définit le schéma :

(def procedure
   ((def defcla ()
       ((NOM) ":" (TYP)" ";" "^M")))
    ("PROCEDURE " (EN-TETE) ";" "^M"
     (pos-accu DECL
        ("VAR " (decla) (lst-accu "    " (decla))))
     "BEGIN" "^M"
     "   " (CORPS)
     "END;" "^M"))

Il est paramétré par :

Il fournit le schéma de décompilation du « point d'accumulation » ; sous la forme de listes, on écrirait :

(lst-init DECL
   ("VAR " (decla) (lst "    " (decla))))

qui se lit :

Une utilisation de procedure :

(def traitement
   ((def EN-TETE ...)
    (def-accu DECL
       ((ref-accu bloc-decla)))
    (def-accu bloc-decla
       ((accu)))
    (def CORPS ()
       (...
        (use-accu bloc-decla
           ((def NOM () ("x"))
            (def TYP () ("integer"))))
        ...
        (use-accu bloc-decla
           ((def NOM () ("y"))
            (def TYP () ("real"))))
        ...)))
   ((procedure)))

Le traitement définit :

Note :
Ces opérateurs présentent certaines limitations :