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.11.1. Les fonctions de lecture
9.3.11.2. Les fonctions de modification
9.3.11.3. Les variables 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

La structure de données du Buffer

 structure de données du Buffer

1. Les fonctions de lecture

2. Les fonctions de modification

3. Les variables du Buffer

1. Les fonctions de lecture

la ligne : lng
Les lignes de Buffer sont une suite chaînée de colonnes.

succ-lgn ‹lgn› : ligne suivante de la ligne ‹lgn›.

pred-lgn ‹lgn› : ligne précédente de la ligne ‹lgn›.

numlgn ‹lgn› : numéro de la ligne ‹lgn› – première ligne = 1.

lgrlgn ‹lgn› : longueur de la ligne ‹lgn›, non compris l'éventuel caractère de retour à la ligne LF – ligne composée d'un unique retour à la ligne LF = longueur 0.

collgn ‹lgn› : colonne associée à la ligne ‹lgn›.

incr-lgn ‹num› ‹lgn› : retourne la ‹num›-ième ligne suivant la ligne ‹lgn›.

decr-lgn ‹num› ‹lgn› : retourne la ‹num›-ième ligne précédant la ligne ‹lgn›.

num-abs-lgn ‹y› : retourne la ligne de numéro absolu ‹y›.

la colonne : col
Les colonnes d'une ligne sont une suite d'informations chaînée.

succ-col ‹col› : colonne suivante de la colonne ‹col›.

pred-col ‹lgn› : colonne précédente de la colonne ‹col›.

numcol ‹x› ‹lgn› : retourne la colonne de numéro ‹x› dans la ligne ‹lgn› – première colonne = numéro 0.

incr-col ‹num› ‹col› : retourne la ‹num›-ième colonne suivant la colonne ‹col›.

decr-col ‹num› ‹col› : retourne la ‹num›-ième colonne précédant la colonne ‹col›.

l'information : info
Les informations d'une colonne sont les éléments indivisibles du Buffer – les "caractères" du tampon ou les points de l'écran.

info ‹col› : information de la colonne ‹col›.

info-car ‹col› : information de « caractère » de la colonne ‹col› : c'est soit le code ASCII du caractère, soit le symbole "LF" qui représente le retour à la ligne LF.

info-lst ‹col› : information de « liste des liens » de la colonne ‹col› : c'est une liste de liens.

info-hol ‹col› : information d'« holophraste » de la colonne ‹col› : c'est le nombre de liens, autrement dit la longueur de la liste des liens de la colonne.

info-ref ‹hol› ‹col› : information de « lien » de la colonne ‹col› sous l'holophraste ‹hol› – le premier lien est sous l'holophraste 1 : c'est donc le ‹hol›-ième lien de la liste des liens.

info-lst-hol ‹hol› ‹col› : information de « liste des liens » de la colonne ‹col› sous l'holophraste ‹hol› – la première liste des liens est sous l'holophraste 1 : elle correspond à la liste des liens retournée par info-lst.

la liste des liens : info-lst

info-L-cdr ‹info-lst› : liste des liens suivante de la liste ‹info-lst›.

info-L-car ‹info-lst› : première information de « lien » de la liste ‹info-lst›.

info-L-hol ‹info-lst› : information d'« holophraste » de la liste ‹info-lst›.

info-L-ref ‹hol› ‹info-lst› : information de « lien » de la liste ‹info-lst› sous l'holophraste ‹hol›.

info-L-lst-hol ‹hol› ‹info-lst› : information de « liste de liens » de la liste ‹info-lst› sous l'holophraste ‹hol›.

le lien : info-ref
Les liens associent pour un holophraste donné à une colonne donnée la première colonne de début du curseur et la première colonne qui suit immédiatement la fin du curseur. Par exemple :

liste de liens : info-lst

lien : info-ref

liste de liens : info-lst

lien : info-ref

numdebcol ‹info-ref› : numéro, dans la ligne, de la première colonne du curseur – le numéro est relatif, puisqu'il dépend des colonnes précédant celle qui est liée.

deblgn ‹info-ref› : ligne de la première colonne du curseur – la ligne est connue de manière absolue, c'est-à-dire que le lien est ici un lien "physique", portant sur des pointeurs.

numfincol ‹info-ref› : numéro, dans la ligne, de la première colonne qui suit la fin du curseur.

finlgn ‹info-ref› : ligne de la première colonne qui suit la fin du curseur.