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.1.1. Les intentions
2.1.2. Eléments du langage
2.1.22.1. Utilisation : use
2.1.22.2. Modularité : environnement des définitions (def)
2.1.22.3. Référence : ref
2.1.22.4. Environnement local
2.1.22.5. Résumé : 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
Références
Rubrique Perl-Javascript

Eléments du langage

1. Utilisation : use

2. Modularité : environnement des définitions (def)

3. Référence : ref

4. Environnement local

5. Résumé : la syntaxe concrète

5. Résumé : la syntaxe concrète

syntaxe "informelle"

(1)env ::= ε | trm env
(2)trm ::= def | ref
(3)    def ::= <nom> env rep
(4)    ref ::= <nom> env
(5)rep ::= ε | atm rep
(6)atm ::= stg | use
(7)    stg ::= <string>
(8)    use ::= <nom> env
(1)un environnement est une liste de termes
(2)un terme est une définition def ou une référence ref
(3)une définition est : un nom <nom>, un environnement, une représentation
(4)une référence est : un nom <nom>, un environnement
(5)une représentation est une liste d'atomes
(6)un atome est une string stg ou une utilisation use
(7)une string stg est une chaîne de caractères <string>
(8)une utilisation est : un nom <nom>, un environnement

syntaxe "Lisp"

(1)env ::= '(' {trm} ')'
(2)trm ::= def | ref
(3)    def ::= '(' 'def' <nom> env rep ')'
(4)    ref ::= '(' 'ref' <nom> env ')'
(5)rep ::= '(' {atm} ')'
(6)atm ::= stg | use
(7)    stg ::= <string>
(8)    use ::= '(' 'use' <nom> env ')'

Le parenthésage permet de définir le plus sommairement possible une syntaxe qui est non ambiguë. Dans les cas d'emploi (ref ou use), on se dispensera de préfixer la liste (par 'ref' ou 'use' respectivement) s'il n'y a pas d'ambiguïté.