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.2. La Syntaxe Abstraite : Manuel du concepteur
9.2.1. Attributs de la syntaxe abstraite
9.2.11.1. Introduction
9.2.11.2. Evaluation des attributs
9.2.11.3. Attributs d'opérateurs
9.2.11.4. Attributs de phylum
9.2.11.5. Syntaxe concrète
9.2.11.6. Attributs d'opérateurs dans l'éditeur ligne
9.2.2. La Syntaxe Initiale
9.3. L'éditeur page : Guide de l'implanteur
Références
Rubrique Perl-Javascript

Attributs de la syntaxe abstraite

1. Introduction

2. Evaluation des attributs

3. Attributs d'opérateurs

4. Attributs de phylum

5. Syntaxe concrète

6. Attributs d'opérateurs dans l'éditeur ligne

5. Syntaxe concrète

La syntaxe concrète est le point sensible du système, puisque c'est elle qui est visible de l'utilisateur, pour la saisie ou l'affichage. La syntaxe concrète est actuellement très fortement inspirée de la syntaxe Lisp, par l'emploi d'un parenthésage systématique. De ce fait, elle est sans doute d'un abord un peu rugueux.

En général, un opérateur est représenté sous la forme d'une liste préfixée par le nom de l'opérateur. On omet le préfixe à l'affichage, et on dispense d'indiquer le préfixe à la saisie, si l'opérateur est attendu "de manière privilégiée" dans le phylum dans lequel on se situe :

- phylume SEX : pas d'opérateur
- phylume TRM : opérateur privilégié = ref
- phylume ATM : opérateur privilégié = use
- phylume ENV : opérateur privilégié = env
- phylume REP : opérateur privilégié = rep
- phylume LSP : opérateur privilégié = lsp

On retrouve ainsi la double écriture des emplois de textes, « quand il n'y a pas d'ambiguïté possible ». On aura en fait d'autres cas d'écriture simplifiée – par exemple si un champ est vide, on ne l'affiche pas. Par exemple :

écriture complète

écriture simplifiée

(def txt
  (env
    (def a
       (env)
       (rep "A"))
    (def b
       (env)
       (rep "B")))
  (rep
    (use a (env)) ":=" (use b (env))))
(def txt
  ((def a()
     ("A"))
   (def b
     ("B")))
  ((a) ":=" (b)))