2. La structure d'Arbre : les environnements dédiés à un langage
Parce qu'il est plus simple et parce qu'il permet de définir des outils plus puissants, le choix d'un langage donné a conduit au développement d'un grand nombre d'environnements dédiés.
On en cite quelques uns :
Un peu à part on en présente deux autres :
- IPSEN : Modula-2 [ENS 87], où le choix de la Représentation Interne est le graphe : on réalise alors facilement le contrôle de type sur les variables (qui sont liées dans le graphe à leur déclaration), la décompilation selon divers schémas : l'avantage retiré est surtout la plus grande simplicité de l'implantation qu'avec l'approche courante – qui calcule des attributs sur les arbres abstraits, ce qui pose de gros problèmes algorithmiques de modification incrémentale des attributs (cf. CPS par exemple).
- ED3 : Pascal [Str 86], qui est un éditeur structuré appliqué au langage Pascal : l'utilisateur manipule du texte, dont il peut faire vérifier la correction syntaxique, qu'il peut faire indenter (ou non), et qu'il peut structurer sous forme d'arbre, avec une entière liberté dans sa structuration ; l'auteur propose une structuration par les procédures, qui autorise une vue synthétique ou affinée du programme, pourvu qu'on s'applique à rédiger son programme en le structurant par les procédures.