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.2.1. Attributs de la syntaxe abstraite
9.2.2. La Syntaxe Initiale
9.2.22.1. Schémas
9.2.22.2. Syntaxe abstraite
9.2.22.3. Résumé
9.3. L'éditeur page : Guide de l'implanteur
Références
Rubrique Perl-Javascript

La Syntaxe Initiale

1. Schémas

2. Syntaxe abstraite

3. Résumé

1. Schémas

Ce sont des schémas de définition incomplète de phyla ou d'opérateurs. On ne leur attache aucune sémantique précise, ils permettent uniquement d'éviter des répétitions inutiles dans la définition de la syntaxe initiale.

Ces schémas sont de deux natures :

1.1. schéma de phylum : erreur (err)

C'est le phylum des erreurs. Toutes les fonctions retournent la valeur nil (qui est le 'faux' de Lisp).

recht-err ‹arg› ...

erreur à la recherche.

cpltt-err ‹arg› ...

erreur à la complétion.

imptt-err ‹arg› ...

erreur à l'impression.

entre-err ‹arg› ...

erreur en entrée : l'évaluation de cet attribut est généralement signe de mauvais augure – le cas ne devrait normalement pas se produire.

sorte-err ‹arg› ...

erreur en sortie : ici aussi l'évaluation de cet attribut est un mauvais signe.

evale-err ‹arg› ...

erreur à l'impression évaluée : l'opérateur ne peut être évalué individuellement – par exemple : un élément d'un S-ex.

« Erreur » doit s'entendre ici : on obtient un objet Lisp qui n'est pas attendu dans le phylum dans lequel on se situe : par exemple un atome, une liste, un opérateur non visible du phylum.

1.2. schéma de phylum : liste (phylLST)

C'est le schéma des phyla pour les lesquels :
- il est défini un opérateur de liste,
- cet opérateur est l'« opérateur privilégié » du phylum.
Il s'agit donc des phyla ENV, REP et LSP sur les opérateurs privilégiés respectifs env, rep et lsp.

Les fonctions ont deux paramètres nécessaires :
- ‹nomphyl› : le nom du phylum,
- ‹nomlst› : le nom de l'opérateur de liste privilégié.

cpltt-phylLST-nil ‹nomphyl› ‹nomlst›

complète un objet Lisp par l'opérateur de liste ‹nomlst›, la liste étant vide.

imptt-phylLST-nil ‹nomphyl› ‹nomlst›

imprime un objet Lisp en imprimant en fait l'opérateur de liste ‹nomlst›, la liste étant vide.

evale-phylLST ‹nomphyl› ‹nomlst›

impression évaluée, dans le phylum ‹nomphyl›, de l'opérateur de liste ‹nomlst›.

1.3. schéma d'opérateur : liste (operLST)

C'est le schéma des opérateurs de liste. Cela concerne :
- l'opérateur env du phylum ENV,
- l'opérateur rep du phylum REP,
- l'opérateur lsp du phylum LSP.

Les fonctions ont au moins les deux paramètres nécessaires :
- ‹nomlst› : le nom de l'opérateur de liste,
- ‹nomelt› : le nom du phylum des éléments de la liste que constitue l'opérateur ‹nomlst›.

cpltt-operLST ‹nomlst› ‹nomelt› ‹arg›

complète la liste d'opérateurs ‹arg› dans le phylum ‹nomelt› et retourne l'opérateur ‹nomlst› ainsi complété.

imptt-operLST ‹nomlst› ‹nomelt› ‹arg›

imprime l'opérateur ‹nomlst› sous sa forme complète.

imptc-operLST ‹nomlst› ‹nomelt› ‹arg›

imprime l'opérateur ‹nomlst› sous sa forme concise.

entre-operLST ‹nomlst› ‹nomelt›

entrée dans l'opérateur de liste ‹nomlst›, d'éléments du phylum ‹nomelt›, référencé par la variable : gref.

sorte-operLST ‹nomlst› ‹nomelt›

sortie de l'opérateur de liste ‹nomlst›.

1.4. schéma d'opérateur : utilisation (operUTI)

Ce schéma regroupe les deux opérateurs d'emploi :
- l'opérateur ref du phylum TRM,
- l'opérateur use du phylum ATM.

Les fonctions ont au moins le paramètre nécessaire :
- ‹nomuti› : le nom de l'opérateur d'emploi.

cpltt-operUTI ‹nomuti› ‹arg›

complète l'opérateur ‹nomuti› par le nom et l'environnement local définis dans ‹arg›.

imptt-operUTI ‹nomuti› ‹nom› ‹env›

imprime l'opérateur ‹nomuti› de nom ‹nom› d'environnement local ‹env›, sous sa forme complète.

imptc-operUTI ‹nomuti› ‹nom› ‹env›

imprime l'opérateur ‹nomuti› sous sa forme concise.

entre-operUTI

entrée dans l'opérateur référencé par la variable : gref.

sorte-operUTI

sortie de l'opérateur.

1.5. schéma d'opérateur : opérateur nommé (nom)

Ce schéma regroupe les deux opérateurs d'emploi :
- l'opérateur def du phylum TRM,
- l'opérateur ref du phylum TRM,
- l'opérateur stg du phylum ATM,
- l'opérateur use du phylum ATM.

entre-nom

modification du nom.
On n'"entre" pas dans le champ nom, on n'a donc pas d'attribut de sortie : sorte-nom.