package is
 
   type String_Access is access all String;
   -- les ptr sur chaînes.
 
 
   type Compiling_System_Type is tagged
      record
         Project_Name : String_Access;
         Target       : String_Access;
         Compiler     : String_Access;
      end record;
   -- les info sur le système de compilation
 
 
   type Project_Type is tagged
      record
         Compiler_Option : String_Access;
         Exec_parameters : String_Access;
      end record;
   -- les spécification du projet
 
 
   type Graph_Type is tagged
      record
         G    : Graph;
         V    : Vertex.List;
         A    : Arcs.List;
      end record;
    -- un graphe pour manipuler les divers composant du projet 
    -- selon des vues diverses mais je n'ai pas identifier la manière de regarder.
 
   type Buffer_Type is tagged
      record
         Gap_Buffer : Gap_Buffer_Type;
         Filename   : String_Access;
      end record;
    -- des gap buffer pour manipuler effectivement les sources.
 
   type Buffer_Access is access all Buffer_Type;
 
   type Buffers_Set_Type is array (Positive range <> ) of Buffer_Access;
 
   type Buffer_Manager_Type(Filemax : Positive) is tagged
      record
         All_Buffer : Buffers_Set_Type(Positive'First..Filemax);
      end record;
   -- un manager de buffer pour gérer le graphe pour un projet complet.
   -- ex : faire des glisser déplacer
 
end;