def VerificarInstruccionesListaDeclaraciones(ArbolInstrucciones,tipoRobot):

    '''
      * DescripciĆ³n de la funciĆ³n: Esta funcion dado un arbol de instrucciones,un 
                                    tipo y una tabla de simbolos verifica la 
                                    correctitud semantica de las instrucciones
                                    de la lista de declaraciones del lenguaje 
                                    BOT.

      * Variables de entrada: 
            - ArbolInstrucciones: Lista enlazada de instrucciones.
            - tipoRobot: Tipo de variables (tipo del robot).

      * Variables de salida: 
            - ListaTablas: Arreglo de tabla de simbolos.
    '''

    ListaTablas = []
    aux = ArbolInstrucciones

    while (aux!=None):

        instrucciones = aux.instrucciones
        TablaLocal = TablaSimbolos()
        TablaLocal.insertar("me",tipoRobot)
        while (instrucciones!=None):    

            # Se verifican las expresiones de las instrucciones STORE,DROP,
            #  RIGHT, LEFT, UP y DOWN
            if (instrucciones.type in {"STORE","DROP","right","left","up","down"}):

                Tipo = VerificarExpresionBinaria(instrucciones.expresiones,
                                                TablaLocal)

                if (instrucciones.type in {"right","left","up","down"}):

                    if (Tipo!=None):
                        VerificarTipoVariable(Tipo,"int",
                            instrucciones.numeroLinea)

                # El tipo de expresion de la instruccion STORE debe ser
                # igual al tipo del robot.
                elif (instrucciones.type == "STORE"):
                    VerificarTipoVariable(Tipo,tipoRobot,
                        instrucciones.numeroLinea)

            # Se verifican los identificadores de las instrucciones COLLECT 
            # y READ.
            elif (instrucciones.type in {"COLLECT","READ"}):

                identificador = instrucciones.identificador
                if (identificador!=None):
                    resultado = TablaLocal.buscarLocal(identificador.value)
 
                    if(resultado!=None):
                        
                        print("Error en linea",
                            identificador.numeroLinea ,": La variable \'"+
                            str(identificador.value)+"\' ha sido redeclarada.")
                        sys.exit()

                    else:
                        # Se almacenan las nuevas variables a la tabla.
                        TablaLocal.insertar(identificador.value,
                            tipoRobot,aux.condicion.type)

      
            instrucciones = instrucciones.sig
        ListaTablas += [TablaLocal]    

        aux = aux.sig