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 commandes

On indique pour chaque commande la fonction d'appel de la commande et le paramètre fonctionnel spécifique de la commande.


(de cmde-init ()

(let (
(cmde-GLO '(
; --- globalglobal ---
    12 (cmde-CMDE cmde-dir-L)           ; ^L
    21 (cmde-CMDE cmde-dir-U)           ; ^U
))

(cmde-DEP '(
; --- DEP: commandeDEP: commande ---
(
 (
   err (cmde-MSG cmde-err)
    20 (cmde-CMDE cmde-dir-T)           ; ^T
    27 (cmde-CMDE cmde-dir-esc)         ; ESC
    24 (cmde-CMDE cmde-dir-X)           ; ^X
 )
 (
   car (cmde-MSG cmde-err)              ; ESC- ..~
   err (cmde-MSG cmde-err)
    24 (cmde-STAT cmde-help)            ; ESC-^X
 )
 (
   car (cmde-MSG cmde-err)              ; ^X- ..~
   err (cmde-MSG cmde-err)
    33 (cmde-STAT cmde-command)         ; ^X-!
    12 (cmde-STAT cmde-redraw)          ; ^X-^L
    40 (cmde-STAT cmde-key-deb)         ; ^X-(
    41 (cmde-STAT cmde-key-fin)         ; ^X-)
     5 (cmde-STAT cmde-key-exec)        ; ^X-^E
 )
)
; --- DEP: deplacement fenetreDEP: deplacement fenetre ---
(
 ()
 (
    26 (cmde-STAT cmde-fen-page)        ; ESC-^Z
    61 (cmde-MSG cmde-noline)           ; ESC-=
 )
 (
   122 (cmde-STAT cmde-fen-agrandir)    ; ^X-z
    26 (cmde-STAT cmde-fen-reduire)     ; ^X-^Z
    49 (cmde-STAT cmde-fen-1)           ; ^X-1
 )
)
; --- DEP: deplacement hors fenetreDEP: deplacement hors fenetre ---
(
 ()
 ()
 (
   112 (cmde-STAT cmde-fen-prd)         ; ^X-p
   110 (cmde-STAT cmde-fen-nxt)         ; ^X-n
   100 (cmde-STAT cmde-fen-del)         ; ^X-d
    50 (cmde-STAT cmde-fen-2)           ; ^X-2
   115 (cmde-STAT cmde-quit-S)          ; ^X-s
     3 (cmde-STAT cmde-quit-C)          ; ^X-^C
 )
)
; --- DEP: deplacement dans fenetreDEP: deplacement dans fenetre ---
(
 (
     0 (cmde-DEPABS cmde-mark)          ; ^@
    18 (cmde-DEPABS cmde-prd-search)    ; ^R
    19 (cmde-DEPABS cmde-nxt-search)    ; ^S
     1 (cmde-DEPABS cmde-prd-lign)      ; ^A
     5 (cmde-DEPABS cmde-nxt-lign)      ; ^E
    22 (cmde-DEPFEN cmde-nxt-page)      ; ^V
    26 (cmde-DEPFEN cmde-nxt-scro)      ; ^Z
     2 (cmde-DEPREL-prd cmde-prd-curs)  ; ^B
     6 (cmde-DEPREL-nxt cmde-nxt-curs)  ; ^F
    16 (cmde-DEPREL-prd cmde-prd-clgn)  ; ^P
    14 (cmde-DEPREL-nxt cmde-nxt-clgn)  ; ^N
 )
 (
    27 (cmde-DEPABS cmde-phy-zone)      ; ESC-ESC
    60 (cmde-DEPABS cmde-prd-buf-zone)  ; ESC-<
    62 (cmde-DEPABS cmde-nxt-buf-zone)  ; ESC->
    44 (cmde-DEPABS cmde-fen-haut)      ; ESC-,
    45 (cmde-DEPABS cmde-fen_bas)       ; ESC-.
    33 (cmde-DEPABS cmde-fen-top)       ; ESC-!
    97 (cmde-DEPABS cmde-prd-cur-zone)  ; ESC-a
   101 (cmde-DEPABS cmde-nxt-cur-zone)  ; ESC-e
    91 (cmde-DEPABS cmde-prd-reg-zone)  ; ESC-[
    93 (cmde-DEPABS cmde-nxt-reg-zone)  ; ESC-]
   118 (cmde-DEPFEN cmde-prd-page)      ; ESC-v
   122 (cmde-DEPFEN cmde-prd-scro)      ; ESC-z
   112 (cmde-DEPABS cmde-prd-reg-clgn)  ; ESC-p
   110 (cmde-DEPABS cmde-nxt-reg-clgn)  ; ESC-n
    98 (cmde-DEPREL-prd cmde-prd-mot)   ; ESC-b
   102 (cmde-DEPREL-nxt cmde-nxt-mot)   ; ESC-f
    16 (cmde-STAT cmde-prd-zone-clgn)   ; ESC-^P
    14 (cmde-STAT cmde-nxt-zone-clgn)   ; ESC-^N
 )
 (
    61 (cmde-DEPABS cmde-goline)        ; ^X-=
    24 (cmde-DEPABS cmde-mark-Exch)     ; ^X-^X
 )
)
; --- DEP: writeDEP: write ---
(
 ()
 (
    23 (cmde-CMDE cmde-write)           ; ESC-^W
 )
 (
    19 (cmde-ZONE cmde-write-save)      ; ^X-^S
    23 (cmde-ZONE cmde-write-buf-named) ; ^X-^W
    18 (cmde-ZONE cmde-write-buf-rec)   ; ^X-^R
    13 (cmde-ZONE cmde-write-buf-self)  ; ^X-^M
     6 (cmde-ZONE cmde-write-buf-flat)  ; ^X-^F
   104 (cmde-ZONE cmde-write-more-env)  ; ^X-h
 )
)
; --- DEP: visitDEP: visit ---
(
 ()
 (
    22 (cmde-CMDE cmde-visit)           ; ESC-^V
 )
 (
    22 (cmde-ZONE cmde-visit-file)      ; ^X-^V
   102 (cmde-ZONE cmde-visit-flat)      ; ^X-f
   118 (cmde-ZONE cmde-visit-buffer)    ; ^X-v
   101 (cmde-ZONE cmde-visit-self)      ; ^X-e
   113 (cmde-ZONE cmde-visit-quit)      ; ^X-q
     2 (cmde-ZONE cmde-visit-pop)       ; ^X-^B
    25 (cmde-ZONE cmde-visit-ynk)       ; ^X-^Y
 )
)
))

(cmde-REP '(
; --- REP: readREP: read ---
(
 ()
 ()
 (
     9 (cmde-MODIF cmde-fic-ins)        ; ^X-^I
   105 (cmde-MODIF cmde-buf-ins)        ; ^X-i
    15 (cmde-ZONE cmde-read-old)        ; ^X-^O
   114 (cmde-ZONE cmde-read-file)       ; ^X-r
 )
)
; --- REP: commandeREP: commande ---
(
 (
    30 (cmde-DEPABS cmde-append)        ; ^^
 )
 ()
 (
    20 (cmde-MSG cmde-INOUT-phy)        ; ^X-^T
     0 (cmde-MSG cmde-IN-sel)           ; ^X-^@
    10 (cmde-DEPABS cmde-IN-jst)        ; ^X-^J
    21 (cmde-ZONE cmde-HOL-Up)          ; ^X-^U
     4 (cmde-ZONE cmde-HOL-Dn)          ; ^X-^D
     8 (cmde-ZONE cmde-HOL-St)          ; ^X-^H
 ; 114 (cmde-DEPABS cmde-reg-edit)      ; ^X-r
 ; 113 (cmde-DEPABS cmde-reg-quit)      ; ^X-q
 )
)
; --- REP: modificationREP: modification ---
(
 (
   car (cmde-MODIF cmde-car)            ;  ..~
    13 (cmde-MODIF cmde-LF)             ; ^M
    15 (cmde-MODIF cmde-LF-O)           ; ^O
   127 (cmde-MODIF cmde-prd-del)        ; ^?
     8 (cmde-MODIF cmde-prd-del)        ; ^H
     4 (cmde-MODIF cmde-nxt-del)        ; ^D
 )
 (
   104 (cmde-MODIF cmde-prd-del-mot)    ; ESC-h
   100 (cmde-MODIF cmde-nxt-del-mot)    ; ESC-d
 )
 (
    32 (cmde-MODIF cmde-flatten)        ; ^X- 
 )
)
; --- REP: kill bufferREP: kill buffer ---
(
 (
    11 (cmde-MODIF cmde-kil)            ; ^K
    23 (cmde-MODIF cmde-reg-kil)        ; ^W
    25 (cmde-MODIF cmde-ynk)            ; ^Y
 )
 (
   107 (cmde-LECT cmde-cpy)             ; ESC-k
    11 (cmde-STAT cmde-copy-ynk)        ; ESC-^K
     1 (cmde-STAT cmde-copy-ynk-buf)    ; ESC-^A
 )
 (
   107 (cmde-LECT cmde-buf-cpy)         ; ^X-k
    11 (cmde-MODIF cmde-buf-kil)        ; ^X-^K
 )
)
))

(cmde-SEL '(
; --- SEL: commandeSEL: commande ---
(
 (
   car (cmde-MSG cmde-sel-car)          ;  ..~
    63 (cmde-STAT cmde-sel-help)        ; ?
     7 (cmde-DEPABS cmde-sel-Abort)     ; ^G
   113 (cmde-DEPABS cmde-sel-Exit)      ; q
    45 (cmde-DEPABS cmde-sel-Exch)      ; -
 )
 ()
 (
    20 (cmde-MSG cmde-INOUT-phy)        ; ^X-^T
    21 (cmde-MSG cmde-sel-Hol)          ; ^X-^U
     4 (cmde-MSG cmde-sel-Hol)          ; ^X-^D
     8 (cmde-MSG cmde-sel-Hol)          ; ^X-^H
 )
)
; --- SEL: modificationSEL: modification ---
(
 (
    32 (cmde-MODIF cmde-sel-Ok)         ;  
   106 (cmde-MODIF cmde-sel-Just)       ; j
 )
 ()
 ()
)
))

(cmde-JST '(
; --- JST: commandeJST: commande ---
   car (cmde-MSG cmde-jst-car)          ;  ..~
   err (cmde-MSG cmde-jst-err)
    63 (cmde-STAT cmde-jst-help)        ; ?
    97 (cmde-MSG cmde-jst-Absolute)     ; a
   114 (cmde-MSG cmde-jst-Relative)     ; r
     7 (cmde-DEPABS cmde-jst-Abort)     ; ^G
    27 (cmde-DEPABS cmde-jst-Exit)      ; ESC
   113 (cmde-DEPABS cmde-jst-Quit)      ; q
; --- JST: deplacementJST: deplacement ---
   110 (cmde-DEPABS cmde-jst-next)      ; n
   112 (cmde-DEPABS cmde-jst-prev)      ; p
; --- JST: modificationJST: modification ---
    33 (cmde-MODIF cmde-jst-Ok)         ; !
    32 (cmde-MODIF cmde-jst-ligne)      ;  
    44 (cmde-MODIF cmde-jst-apply)      ; ,
    99 (cmde-MODIF cmde-jst-clean)      ; c
   105 (cmde-MODIF cmde-jst-ins)        ; i
   100 (cmde-MODIF cmde-jst-del)        ; d
))

(cmde-RCH '(
; --- RCH: commandeRCH: commande ---
     7 (cmde-DEPABS cmde-rch-Abort)     ; ^G
    27 (cmde-DEPABS cmde-rch-Exit)      ; ESC
; --- RCH: deplacementRCH: deplacement ---
    18 (cmde-DEPABS cmde-rch-prd)       ; ^R
    19 (cmde-DEPABS cmde-rch-nxt)       ; ^S
    20 (cmde-DEPABS cmde-rch-R-E)       ; ^T
; --- RCH: modificationRCH: modification ---
   car (cmde-DEPABS cmde-rch-car)       ;  ..~
   err (cmde-CMDE cmde-rch-err)
     0 (cmde-DEPABS cmde-rch-nul)       ; ^@
   127 (cmde-DEPABS cmde-rch-del)       ; ^?
))

(cmde-ENV '(
; --- ENV: commandeENV: commande ---
(
 (
   car (cmde-MODIF cmde-env-car)        ;  ..~
    63 (cmde-STAT cmde-env-help)        ; ?
   112 (cmde-DEPREL-prd cmde-prd-clgn)  ; p
   110 (cmde-DEPREL-nxt cmde-nxt-clgn)  ; n
 )
 ()
 (
    20 (cmde-MSG cmde-INOUT-phy)        ; ^X-^T
    21 (cmde-MSG cmde-env-Hol)          ; ^X-^U
     4 (cmde-MSG cmde-env-Hol)          ; ^X-^D
     8 (cmde-MSG cmde-env-Hol)          ; ^X-^H
 )
)
; --- ENV: visit/write/modificationENV: visit/write/modification ---
(
 (
; --- ENV: visit ---
   118 (cmde-ENV cmde-env-visit)        ; v
   103 (cmde-ENV cmde-env-go)           ; g
   108 (cmde-ENV cmde-env-look)         ; l
   101 (cmde-ENV cmde-env-edit)         ; e
   113 (cmde-ENV cmde-env-quit)         ; q
; --- ENV: write ---
   115 (cmde-ENV cmde-env-save)         ; s
   119 (cmde-ENV cmde-env-save-named)   ; w
   114 (cmde-ENV cmde-env-save-rec)     ; r
   102 (cmde-ENV cmde-env-save-flat)    ; f
   104 (cmde-ENV cmde-env-save-env)     ; h
; --- ENV: modification ---
   105 (cmde-ZONE cmde-env-ins)         ; i
   100 (cmde-ENV cmde-env-del)          ; d
   109 (cmde-ENV cmde-env-move)         ; m
   116 (cmde-ZONE cmde-env-trans)       ; t
 )
 ()
 ()
)
))

(cmde-WRITE '(
; --- WRITE: commandeWRITE: commande ---
   car (cmde-MSG cmde-err)              ;  ..~
   err (cmde-MSG cmde-err)
    63 (cmde-STAT cmde-write-help)      ; ?
   115 (cmde-ZONE cmde-write-save)      ; s
   119 (cmde-ZONE cmde-write-buf-named) ; w
   114 (cmde-ZONE cmde-write-buf-rec)   ; r
   109 (cmde-ZONE cmde-write-buf-self)  ; m
   102 (cmde-ZONE cmde-write-buf-flat)  ; f
   104 (cmde-ZONE cmde-write-buf-env)   ; h
))

; --- initialisationinitialisation ---
(plist 'cmde-rep     (append cmde-GLO
                             '(esc cmde-rep-esc X cmde-rep-X)
                             (cmde-init-aux 'car cmde-REP)
                             (cmde-init-aux 'car cmde-DEP)))
(plist 'cmde-rep-esc (append (cmde-init-aux 'cadr cmde-REP)
                             (cmde-init-aux 'cadr cmde-DEP)))
(plist 'cmde-rep-X   (append (cmde-init-aux 'caddr cmde-REP)
                             (cmde-init-aux 'caddr cmde-DEP)))

(plist 'cmde-sel     (append cmde-GLO
                             '(esc cmde-sel-esc X cmde-sel-X)
                             (cmde-init-aux 'car cmde-SEL)
                             (cmde-init-aux 'car cmde-DEP)))
(plist 'cmde-sel-esc (append (cmde-init-aux 'cadr cmde-SEL)
                             (cmde-init-aux 'cadr cmde-DEP)))
(plist 'cmde-sel-X   (append (cmde-init-aux 'caddr cmde-SEL)
                             (cmde-init-aux 'caddr cmde-DEP)))

(plist 'cmde-env     (append cmde-GLO
                             '(esc cmde-env-esc X cmde-env-X)
                             (cmde-init-aux 'car cmde-ENV)
                             (cmde-init-aux 'car cmde-DEP)))
(plist 'cmde-env-esc (append (cmde-init-aux 'cadr cmde-ENV)
                             (cmde-init-aux 'cadr cmde-DEP)))
(plist 'cmde-env-X   (append (cmde-init-aux 'caddr cmde-ENV)
                             (cmde-init-aux 'caddr cmde-DEP)))

(plist 'cmde-jst (append cmde-GLO cmde-JST))
(plist 'cmde-rch (append cmde-GLO cmde-RCH))
(plist 'cmde-write cmde-WRITE)
)

)