Cómo especificar un TAD.
La definición de un TAD comienza por la palabra reservada “TIPO” seguida del nombre del TAD. Este nombre debe comenzar por una letra y puede ir seguido de tantos números, letras o “_” como se desee. El TAD se finaliza con la palabra reservada “FIN” seguida de nuevo del nombre del TAD.
Entre ambas partes podemos hacer uso de varias zonas:
-Dominios: esta zona comienza con la palabra reservada “DOMINIOS” y en ella podemos declarar los nombres, separados por comas “,”, de los TADes que se van a emplear a lo largo de toda la definición.
-Genéricos: esta zona comienza con la palabra reservada “GENERICOS” y en ella podemos declarar tantos genéricos como se desee. (consultar cómo declarar genéricos).
-Generadores: esta zona comienza con la palabra reservada “GENERADORES” y en ella podemos declarar tantas funciones como queramos, las cuales van a ser marcadas como generadoras. Las funciones generadoras son aquellas que sirven para construir los elementos pertenecientes al TAD de forma unívoca. (consultar cómo declarar funciones).
-Constructores: esta zona comienza con la palabra reservada “CONSTRUCTORES” y en ella podemos declarar tantas funciones como queramos. Las funciones constructoras son aquellas que, sin ser generadoras, producen términos pertenecientes al TAD. (consultar cómo declarar funciones).
-Selectores: esta zona comienza con la palabra reservada “SELECTORES” y en ella podemos declarar tantas funciones como queramos. Las funciones selectoras son aquellas que dan como resultado términos no pertenecientes al TAD. (consultar cómo declarar funciones).
-Auxiliares: esta zona comienza con la palabra reservada “AUXILIARES” y en ella podemos declarar tantas funciones como queramos. Las funciones auxiliares son aquellas que usa el diseñador como apoyo a la especificación y no estarán presentes en el interfaz del Tipo Abstracto de Datos. (consultar cómo declarar funciones).
-Precondiciones: esta zona comienza con la palabra reservada “PRECONDICIONES” y en ella vamos a definir al menos una precondición para cada una de las funciones declaradas como condicionales. Su objetivo es permitir su uso sólo bajo ciertas circunstancias entre los argumentos. (consultar cómo declarar precondiciones).
-Ecuaciones: esta zona comienza con la palabra reservada “ECUACIONES” y en ella vamos a definir al menos una ecuación para cada una de las funciones definidas como no generadoras, pudiendo dar también ecuaciones para estas últimas.