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.7. Les tampons
9.3.8. La configuration
9.3.9. Les modes
9.3.10. Les commandes
Références
Rubrique Perl-Javascript

Les tampons

les données globales

mem-init-0 : initialisation des variables globales des tampons :

lst-fen-nommem liste des tampons de l'environnement global ; initialement il est vide.
lst-fen-auxmem liste des tampons auxiliaires : ce sont les tampons "Command execution", "Kill Buffer" et "Help".

lst-fen-auxmem ‹num› : retourne le tampon auxiliaire de numéro :

"Command execution" – dialogue avec l'interpréteur Lisp.
"Kill Buffer".
"Help" – ouvert dans une fenêtre d'alarme.

mem-log>old : sauvegarde du tampon actif.

mem-old>log : restauration du tampon, de nom fen-nommem de type fen-typmem.

mem-new>log : ouverture d'un nouveau tampon, concernant les données du Buffer.

mem-new>rep ‹grep› : construit la "forme éditée" de la représentation ‹grep› – retourne la liste des liens dans la variable globale ficinfo-lst.

 

données globales d'un tampon

cmde-lst liste des commandes accessibles dans une fenêtre ouverte sur le tampon.
flag-mark drapeau, vrai si la marque a été posée ; s'il est vrai :
mrk variable de position de la marque dans le tampon.
flag-sel drapeau, vrai si le mode "Sélection" est actif ; s'il est vrai :
select-stat état de la sélection – avant / arrière.
seldeb variable de position du début de la sélection.
selfin variable de position de la fin de la sélection.
cmde-log curseur logique au début de la sélection.
cmde-hol holophraste logique au début de la sélection.
Note : on peut quitter une fenêtre dans laquelle le mode "Sélection" est actif.
flag-phy drapeau, vrai si le mode de déplacement "physique" est actif – sinon "logique".
flag-eob drapeau, vrai si le curseur logique est en fin de Buffer.
flag-app drapeau, vrai si le mode "ajout" est actif.
ficinfo-lst liste des liens du Buffer global du tampon.
bufinfo-lst bufhol  données du Buffer courant.
lst-bufhol liste des holophrastes bufhol empilés.
logx logy logcol loglgn  données du curseur logique.
loghol holophraste logique.

les fonctions externes

RELIRE-mem ‹mem› ‹typ› : relire les données du tampon ‹mem› de type ‹typ› – les données du tampon uniquement.

ECRIRE-mem ‹mem› ‹typ› : écrire les données du tampon ‹mem› de type ‹typ› – les données du tampon uniquement.

ENTRER-mem ‹mem› ‹typ› : entrer dans le tampon ‹mem› de type ‹typ›.

SORTIR-mem : fermer le tampon de la fenêtre active.

les fonctions externes

INSERER ‹def› ‹rac-mem› ‹fic-mem› : insérer le « texte » ‹def› dans la liste des tampons locaux de ‹rac-mem›, attaché au fichier de nom ‹fic-mem›.

INSERER-old ‹mem› ‹def› ‹fic-mem› : remplacer l'ancien tampon ‹mem› par le « texte » ‹def› attaché au fichier de nom ‹fic-mem›.

INSERER-nom ‹mem› ‹nom-buf› : remplacer dans le tampon ‹mem› le nom par ‹nom-buf›.

INSERER-mve ‹mem› ‹rac-mem› ‹nom-buf› : déplacer le tampon ‹mem› dans la liste des tampons locaux de ‹rac-mem›, sous le nom ‹nom-buf›.

SUPPRIMER ‹mem› : supprimer le tampon ‹mem› de la liste des tampons locaux.

ANCETRE ‹mem› ‹rac-mem› : test, vrai si le tampon ‹mem› apparaît dans la liste des tampons locaux de ‹rac-mem›.

les fonctions internes sur les fichiers

fic-READ ‹nom-fic› ‹nom-buf› : paramètre implicite rendu : gdef :
lit dans le fichier de nom ‹nom-fic› le « texte » de nom par défaut ‹nom-buf› ; retourne "vrai" si la lecture est correcte, et "faux" en cas d'erreur ; retourne le « texte » lu dans la variable globale gdef.

fic-READ-VIDE ‹nom-buf› : paramètre implicite rendu : gdef :
retourne le « texte » vide (environnement et représentation vides) de nom ‹nom-buf› dans la variable globale gdef.

fic-READ-FLAT ‹nom-fic› ‹nom-buf› : paramètre implicite rendu : gdef :
lit dans le fichier de nom ‹nom-fic› le « texte plat » pour la représentation du « texte » de nom ‹nom-buf› – l'environnement est vide ; retourne le « texte » dans la variable globale gdef.

fic-WRITE ‹nom-fic› ‹mem› : écrit dans le fichier de nom ‹nom-fic› le tampon ‹mem›.

fic-WRITE-FLAT ‹nom-fic› ‹mem› : écrit dans le fichier de nom ‹nom-fic› le « texte plat » relatif au tampon ‹mem›.

fic-WRITE-ENV ‹nom-fic› ‹mem› : écrit dans le fichier de nom ‹nom-fic› la hiérarchie des tampons du tampon ‹mem›.

fic-WRITE-MORE ‹nom-fic› ‹mem› : affiche dans une fenêtre d'alarme la hiérarchie des tampons du tampon ‹mem›.

les fonctions internes sur les fichiers : boucles

boucle-READ ‹hol›

boucle-READ ‹destcol› ‹destlgn› ‹destx› ‹destregx› ‹destinfo-lst› :
lecture vers le destinataire :

‹hol› holophraste.
‹destcol› colonne de début d'insertion du texte lu.
‹destlgn› ligne de début d'insertion.
‹destx› abscisse de début d'insertion.
‹destregx› abscisse de début du Buffer local.
‹destinfo-lst› liste des liens.

boucle-WRITE ‹hol›

boucle-WRITE ‹origcol› ‹origlgn› ‹origregx› ‹origfincol› :
écriture de l'origine :

‹hol› holophraste.
‹origcol› colonne de début du texte à écrire.
‹origlgn› ligne de début.
‹origregx› abscisse de début du Buffer local.
‹origfincol› colonne de fin du texte à écrire.

boucle-WRITE-FLAT ‹hol›

boucle-WRITE-FLAT ‹origcol› ‹origlgn› ‹origregx› ‹origfincol› :
écriture à plat de l'origine :
pour les paramètres cf. boucle-WRITE.