with Ada.Text_IO, Ada.Integer_Text_IO, ada.unchecked_deallocation, modvar,
lista, gui;
use Ada.Text_IO, Ada.Integer_Text_IO, modvar, lista, gui;

package diccionario is
   
   type nodo;
   type ptnodo is access nodo;
   type tpvector is array(tpletra) of ptnodo;	-- Tantos punteros como letras 
   type nodo is record			
     existe: boolean;				--terminador booleano
     vect: tpvector;				--vector de punteros
 end record;
 
   type tpdiccionario is record			
     numPal: integer;    		--   numero de palabras almacenadas
     nodo1: ptnodo;
  end record;

   procedure cargadiccionario(dic:out tpdiccionario);
   procedure insertaI(d: in out ptnodo; palabra: in tppalabra; i: in integer;
                   ln: in integer; test: in out boolean);
                   
   procedure inserta(palabra: in tppalabra; dic:in out tpdiccionario);
   procedure buscaI(d: in ptnodo; palabra: in tppalabra; esta: out boolean;
		     i: in integer; ln: in integer);
    
   procedure buscadic(palabra: in tppalabra; esta: out boolean; dic:in tpdiccionario);
   procedure borraI(nodo: in out ptnodo; palabra: in tppalabra; i: in integer;
                     ln: in integer; test: in out boolean);
                   
   procedure borradic(palabra: in tppalabra; dic:in out tpdiccionario);
   procedure liberarI(nodo: in out ptnodo);
   procedure liberar(dic:in out tpdiccionario);

end diccionario;








