private static void agregarEscenarios(String[] lista, String posiciones)
        {
            String         id          = "";
            String         ruta        = "";
            Boolean        encontrado  = false;
            EscenarioFondo miEscenario = new EscenarioFondo();

            for (int i = 0; i < lista.Length; i++)
            {
                String[] term = lista[i].ToString().Split(' ');

                //Console.WriteLine(term[0]);
                //Console.WriteLine(term[1]);

                if (term[1] == "(identificador)")
                {
                    id = term[0];
                }

                if (term[1] == "(cadena)")
                {
                    ruta = term[0];
                }
            }

            //Agregando TOKENS
            String[] posXY = posiciones.ToString().Split(';');
            String[] pos1  = posXY[0].ToString().Split(',');
            String[] pos2  = posXY[1].ToString().Split(',');

            //Verifico si el id del fondo no esta repetido, de lo contrario si ya esta solo, actualiza el path.
            if (miListaFondos.Count != 0)
            {
                foreach (EscenarioFondo item in miListaFondos)
                {
                    //Si encuentra un id repetido lo actualiza
                    if (string.Equals(item.identificador, id, StringComparison.OrdinalIgnoreCase))
                    {
                        item.ruta  = ruta;
                        encontrado = true;
                        break;
                    }
                }
                //Si no encuentra ningun id repetido lo agrega
                if (encontrado == false)
                {
                    miListaFondos.Add(new EscenarioFondo(id, ruta));
                    agregarTokensATablaSimbolos(id, Convert.ToInt16(pos1[0]), Convert.ToInt16(pos1[1]), "background");
                    agregarTokensATablaSimbolos(ruta, Convert.ToInt16(pos2[0]), Convert.ToInt16(pos2[1]), "ruta");
                }
            }
            else
            {
                miListaFondos.Add(new EscenarioFondo(id, ruta));
            }
        }
        public static void almacenarFondo(String tipo, String nombre, String ancho, String alto)
        {
            String[]       fondo      = splitEspacio(nombre);
            Boolean        encontrado = false;
            EscenarioFondo escenario  = null;

            if (string.Equals(tipo, "background", StringComparison.OrdinalIgnoreCase))
            {
                foreach (EscenarioFondo item in Recorrido1.miListaFondos)
                {
                    if (string.Equals(item.identificador, fondo[0], StringComparison.OrdinalIgnoreCase))
                    {
                        encontrado = true;
                        escenario  = item;
                        break;
                    }
                }

                if (encontrado == true)
                {
                    if (Convert.ToInt32(ancho) == Convert.ToInt32(alto))
                    {
                        milistaObjetosEscenario.Add(new SuperEscenario(tipo, escenario, Convert.ToInt32(ancho), Convert.ToInt32(alto)));
                        Console.WriteLine("Fondo id => " + nombre + " agregado a la lista super");
                    }
                    else if (Convert.ToInt32(ancho) > Convert.ToInt32(alto))
                    {
                        milistaObjetosEscenario.Add(new SuperEscenario(tipo, escenario, Convert.ToInt32(ancho), Convert.ToInt32(ancho)));
                        Console.WriteLine("Fondo id => " + nombre + " agregado a la lista super");
                        listaErrores.Add(new Error("Semantico", nombre + " no es n x n alto es menor que ancho..alto = ancho"));
                        //Console.WriteLine("Semantico, no es n x n alto es menor que ancho.. alto = ancho");
                    }
                    else if (Convert.ToInt32(ancho) < Convert.ToInt32(alto))
                    {
                        milistaObjetosEscenario.Add(new SuperEscenario(tipo, escenario, Convert.ToInt32(alto), Convert.ToInt32(alto)));
                        Console.WriteLine("Fondo id => " + nombre + " agregado a la lista super");
                        listaErrores.Add(new Error("Semantico", nombre + "no es nxn ancho es menor que alto, ahora ancho=alto"));
                        //Console.WriteLine("Semantico, no es nxn ancho es menor que alto, ahora ancho=alto");
                    }
                }
                else
                {
                    listaErrores.Add(new Error("Semantico", "no existe fondo con el id => " + fondo[0]));
                    //Console.WriteLine("Sematico, no existe fondo con el id =>" + fondo[0]);
                }
            }
        }