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
6.1. Les critères
6.2. Le classement
6.3. La structure Plate
6.4. La nature d'Objet structuré
6.5. La nature de Type structuré
6.6. La nature de Classe structurée
6.61. La structure d'Arbre : T.A. (Type Abstrait)
6.62. La structure d'Arbre : la méthode déductive
6.63. La structure d'Arbre : l'environnement monolingual
6.64. La structure d'Arbre : les environnements monolinguaux dédiés
6.65. La structure d'Arbre : la programmation paramétrée
6.66. La structure de Graphe : la programmation "déductive"
6.67. La structure de Graphe : la programmation "inductive"
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

La nature de Classe structurée

1. La structure d'Arbre : T.A. (Type Abstrait)

2. La structure d'Arbre : la méthode déductive

3. La structure d'Arbre : l'environnement monolingual

4. La structure d'Arbre : les environnements monolinguaux dédiés

5. La structure d'Arbre : la programmation paramétrée

6. La structure de Graphe : la programmation "déductive"

7. La structure de Graphe : la programmation "inductive"

3. La structure d'Arbre : l'environnement monolingual

nature de Classe - structure d'Arbre

L'environnement monolingual cherche à offrir un cadre unique pour tous les aspects techniques de rédaction des programmes : saisie des textes sources, mise au point des programmes, gestion des "fichiers", ... De ce point de vue l'environnement monolingual veut aller plus loin que l'environnement intégré : dans ce dernier on s'attache surtout à garantir une cohérence entre des objets "assez gros", mais pour les détails techniques la tâche est confiée à d'autres outils – éditeur syntaxique, metteur au point symbolique, langage de commande, ...

Pour rompre avec l'habituelle interaction "à distance" de l'utilisateur sur la base d'objets, il faut alors lui proposer un moyen d'expression uniforme, indépendant du type d'interaction qu'il souhaite avoir avec les objets de l'environnement : c'est l'idée maîtresse des environnements monolinguaux (ce petit néologisme doit se comprendre : « qui ne reconnaît qu'un seul langage »). Au lieu de conserver cette vue "superficielle" de l'utilisateur sur les objets qu'il manipule, on le plonge dans la base d'objets, dont il a alors une perception unique.

J. Heering et P. Klint présentent les principales propriétés d'un environnement monolingual [HeK 85] :

langage de commande = langage de programmation = langage de metteur au point
variable = fichier et répertoire = structure (ou "directory" = "record")
procédure = programme = commande

Pour les deux auteurs, seuls satisfont aux conditions les environnements INTERLISP et Smalltalk ; ils donnent une vision presque uniforme des trois principaux aspects de la programmation :

En conclusion, les auteurs relèvent que la réalisation d'un tel environnement monolingual est un problème complexe, et non résolu.

Une possible solution est présentée dans [GJL 87b] : avec le langage Symmetric Lisp, on peut espérer construire un environnement de programmation qui garantirait :

En particulier dans un tel environnement on aurait la propriété de « metacleanliness » : on ne fait plus de distinction entre variable et fichier.

Un autre exemple, de petite dimension au dire même de l'auteur, est l'éditeur de texte s [Fra 80]. Cet éditeur permet, dans le seul langage de commande de l'éditeur :

La « maquette » présentée ne prétend pas proposer un nouveau produit, mais cherche plutôt à être le support d'une réflexion sur le plus grand confort qu'offre une interface quand elle se présente de manière uniforme dans des situations diverses.