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.99.1. La recherche
9.3.99.2. La sélection
9.3.99.3. La justification
9.3.99.4. L'appel récursif
9.3.99.5. La recherche sur les noms
9.3.10. Les commandes
Références
Rubrique Perl-Javascript

Les modes

1. La recherche

2. La sélection

3. La justification

4. L'appel récursif

5. La recherche sur les noms

1. La recherche

les variables globales

flag-rch drapeau, vrai si la recherche est active.
cmde-rch liste des commandes du mode "recherche".
flag-cmmde-S-T drapeau, vrai si la recherche a été faite avec des expressions régulières ER.
cmde-rechbuf dernier motif recherché.
 
flag-cmde-init drapeau, vrai si la recherche débute.
flag-rech-Ok drapeau, vrai si la recherche a réussi.
flag-rech-Syn drapeau, vrai si la syntaxe du motif recherché est correcte.
flag-rech-S drapeau, vrai si la recherche est faite vers l'avant.
flag-rech-S-T drapeau, vrai si la recherche est faite avec des expressions régulières ER.
rechbuf motif recherché – liste de codes ASCII.
rechcom identique, sous forme compilée.
 
rech variable de position de début de recherche courant.
cmde-rech identique, ancienne position.

rech-INIT ‹flag› : initialisation de la recherche, ‹flag› vrai si la recherche est avant.

rech-EXIT : fin de la recherche.

rech-SUIV : recherche suivante (commande ^S ou ^R).

la recherche

rech-RECH : recherche du motif suivant.

rech-TEST-S : positon de début de recherche suivant, en recherche avant.

rech-TEST-R : identique, en recherche arrière.

rech-egal-S ‹buf› ‹num› : test, vrai si le motif ‹buf› de taille ‹num› est trouvé à la position courante.

rech-egal-S-T ‹com› ‹num› : test, vrai si le motif compilé ‹com› de taille ‹num› est trouvé à la position courante – cas de la recherche avec les expressions régulières ER.

rech-egal-tst ‹loc› : test, vrai si le motif simple ‹loc› est trouvé – cas ER.

la compilation
La compilation retourne :
- cas simple : flag-rech-Syn = vrai,
- cas ER : flag-rech-Syn = vrai et rechcom = forme compilée, si la compilation est correcte.

rech-comp ‹buf› : compilation du motif ‹buf› ; retourne :
- cas simple : flag-rech-Syn = vrai,
- cas ER : flag-rech-Syn = vrai et rechcom = forme compilée, si la compilation est correcte.

rech-length ‹com› : longueur du motif, en nombre de codes ASCII, du motif compilé ‹com›.

 

Syntaxe – cas ER

<forme compilée> ::= liste de <champ> 
<champ> ::= <valeur> <drapeau>
<drapeau> ::= vrai si le caractère suivant est "*"
<valeur> ::= (94) pour "^" ; début de ligne
(36) pour "$" ; fin de ligne
(46) pour "." ; caractère quelconque
(98) pour "\b" ; caractère séparateur de mots
(119) pour "\w" ; caractère composant de mot
(92 . ‹car›) pour "\‹car›" ; caractère non interprété
(91 ‹c1› . ‹c2›) pour "[‹c1›-‹c2›]" ; intervalle de codes ASCII