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.3. L'éditeur page : Guide de l'implanteur
9.3.1. La structure de données du Buffer
9.3.2. Les utilitaires
9.3.3. L'écran
9.3.4. Les fenêtres
9.3.5. La modification
9.3.6. La structure de données du tampon
9.3.66.1. Les fonctions des « textes »
9.3.66.2. Les fonctions de représentation
9.3.66.3. Les fonctions de construction
9.3.66.4. Les fonctions sur les noms
9.3.7. Les tampons
9.3.8. La configuration
9.3.9. Les modes
9.3.10. Les commandes
Références
Rubrique Perl-Javascript

La structure de données du tampon

1. Les fonctions des « textes »

2. Les fonctions de représentation

3. Les fonctions de construction

4. Les fonctions sur les noms

4. Les fonctions sur les noms

old-fic-mem ‹fic-mem› ‹lst-mem› : retourne le tampon attaché au fichier de nom ‹fic-mem›, dans la liste des tampons ‹lst-mem› ou dans l'un de leurs descendants ; retourne conventionnellement nil si le tampon n'est pas trouvé.

new-nom-buf ‹fic-mem› : retourne le nom d'un tampon construit à partir du nom de fichier ‹fic-mem›.

nom-buf ‹mem› : retourne le nom simple du tampon ‹mem› sous forme de chaîne de caractères, éventuellement complété par un numéro d'ordre en cas de surcharge des noms de tampons ("<2>", "<3>", ...) – le champ buf-mem n'est pas une chaîne de caractères.

restore-nom-buf ‹mem› : retourne le nom simple du tampon ‹mem› sous forme de chaîne de caractères, sans complément éventuel.

nom-abs-mem ‹mem› : retourne le nom complet du tampon ‹mem› sous forme de chaîne de caractères, sans complément éventuel.

cons-buf-mem ‹stg› : retourne le champ buf-mem construit à partir de la chaîne de caractères ‹stg›.

inserer-buf-mem ‹buf-mem› ‹lst-mem› : retourne le champ buf-mem inséré dans la liste des tampons locaux ‹lst-mem› – la fonction tient compte de la possible surcharge des noms de tampons.

buf-RECHERCHE ‹mem› ‹msg› : recherche assistée d'un nom de Buffer :

‹mem›   tampon de départ pour la recherche – c'est la racine d'où débute la recherche si le nom est donné sous forme relative, c'est-à-dire que le premier caractère n'est pas "/" ; autrement le nom est donné sous forme absolue et la recherche est entreprise à partir de l'environnement global.

‹msg›   message précédant le nom du tampon recherché.

Sortie de la recherche

- le tampon existe : la fonction retourne la valeur "vraie", et la variable auxiliaire aux est une liste de deux valeurs :
- le tampon retenu,
- le type du tampon retenu (rep = Buffer ou env = Buffer-Edit).

- le tampon est nouveau : la fonction retourne la valeur "faux", et la variable auxiliaire aux est une liste de trois valeurs :
- le tampon "père", dans lequel insérer le nouveau tampon local,
- la chaîne de caractères qui nomme le nouveau tampon,
- le type du tampon retenu.

- abandon (commande ^G) : la commande est annulée.