1. La recherche
2. La sélection
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 | |||