1. L'objectif
2. La réponse
4. L'état de la science dans le domaine
6. Le choix de la Représentation Interne
8. La référence
On retient l'idée de la définition d'opérateurs. La contrainte qu'on s'impose est alors qu'étant placé sur un nœud de l'arbre syntaxique en cours d'édition on puisse définir un nouvel opérateur, dont le schéma de décompilation sera le texte associé au sous-arbre attaché à ce nœud et dont les paramètres seront l'ensemble des nœuds non encore instanciés de ce sous-arbre. Ceci se rattache directement à la notion de méta-variable telle qu'on la trouve classiquement dans un éditeur syntaxique ; la différence est qu'on ne considère pas ici ce concept comme appartenant à l'éditeur – et ayant de ce fait une durée de vie limitée au temps de la session sous l'éditeur – mais qu'on le considère comme attaché au tampon (« buffer ») en cours d'édition : il sera donc conservé dans la Représentation Interne (R.I.) de ce tampon au même titre que les diverses instances d'opérateurs qui le composent.
Pour les opérateurs de liste, il faudra pouvoir définir un nouvel opérateur qui ne retienne qu'une partie de cette liste. Par exemple, il pourra s'agir de deux instructions. A un niveau de détail plus fin, considérant qu'un identificateur est une liste de caractères, il s'agira alors d'un certain nombre de caractères consécutifs.
Au cœur du problème se pose le choix de la R.I. L'éditeur qui va manipuler cette R.I. doit en effet avoir une vision uniforme de deux aspects bien distincts du programme :
En effet, toute zone cohérente d'un tampon d'édition (c'est-à-dire toute zone qui ne chevauche pas deux branches distinctes de l'arbre syntaxique) peut être vue soit comme une zone du tampon soit comme l'instance d'un nouvel opérateur. Le passage de l'une à l'autre de ces deux visions doit être le plus aisé possible.