示例#1
0
        private BD cargarBaseDatos(BD baseActual)
        {
            String contenidoArchivo = getArchivo(baseActual.path);

            inputConsole.Text = contenidoArchivo;
            AnalizadorXML.Analizador   analizador = new AnalizadorXML.Analizador();
            AnalizadorXML.XMLGramatica gramatica  = new AnalizadorXML.XMLGramatica();
            ParseTree     arbol   = analizador.generarArbol(contenidoArchivo, gramatica);
            ParseTreeNode raiz    = arbol.Root;
            String        errores = "";

            errores = getErrores(arbol);
            if (errores.Equals(""))
            {
                imprimirSalida("Archivo de base " + baseActual.path + " de datos cargado correctamente------------------------------------------------------------");
            }
            else
            {
                imprimirSalida("El archivo de base de datos  " + baseActual.path + " contiene errores. Cargado parcialmente------------------------------------------------------------");
                imprimirSalida(errores);
            }
            if (raiz != null)
            {
                analizador.Genarbol(raiz);
                analizador.generateGraph("ejemplo.txt");
                ServidorDB.AnalizadorXML.Ejecucion ejecutor = new ServidorDB.AnalizadorXML.Ejecucion(raiz, this);
                ejecutor.cargarBaseDatos(baseActual);
                //sistemaArchivos.basesdedatos = ejecutor.recorrerArbolMaestro(); // Recorre el archivo maestro y nos devuelve la lista de bases de datos;
            }
            return(null);
        }
示例#2
0
        public void analizarArchivoUsuarios()
        {
            String contenidoArchivo = getArchivo(pathRaiz + "usuarios.xml");

            inputConsole.Text = contenidoArchivo;
            AnalizadorXML.Analizador   analizador = new AnalizadorXML.Analizador();
            AnalizadorXML.XMLGramatica gramatica  = new AnalizadorXML.XMLGramatica();
            ParseTree     arbol   = analizador.generarArbol(contenidoArchivo, gramatica);
            ParseTreeNode raiz    = arbol.Root;
            String        errores = "";

            errores = getErrores(arbol);
            if (errores.Equals(""))
            {
                imprimirSalida("Archivo de Usuarios cargado correctamente------------------------------------------------------------");
            }
            else
            {
                imprimirSalida("El archivo de usuarios contiene errores. Cargado parcialmente------------------------------------------------------------");
                imprimirSalida(errores);
            }
            if (raiz != null)
            {
                analizador.Genarbol(raiz);
                analizador.generateGraph("ejemplo.txt");
                ServidorDB.AnalizadorXML.Ejecucion ejecutor = new ServidorDB.AnalizadorXML.Ejecucion(raiz, this);
                sistemaArchivos.usuarios = ejecutor.recorrerUsuarios(); // Recorre el archivo de usuarios y nos devuelve la lista de usuarios con sus permisos
            }
        }
示例#3
0
        public void analizarArchivoMaestro()
        {
            String contenidoArchivo = getArchivo(pathRaiz + "maestro.xml");

            Form1.errores     = new List <Error>();
            inputConsole.Text = contenidoArchivo;
            AnalizadorXML.Analizador   analizador = new AnalizadorXML.Analizador();
            AnalizadorXML.XMLGramatica gramatica  = new AnalizadorXML.XMLGramatica();
            ParseTree     arbol   = analizador.generarArbol(contenidoArchivo, gramatica);
            ParseTreeNode raiz    = arbol.Root;
            String        errores = "";

            errores = getErrores(arbol);
            if (errores.Equals(""))
            {
                imprimirSalida("Archivo maestro cargado correctamente------------------------------------------------------------");
            }
            else
            {
                imprimirSalida("El archivo maestro contiene errores. Cargado parcialmente------------------------------------------------------------");
                imprimirSalida(errores);
            }
            if (raiz != null)
            {
                analizador.Genarbol(raiz);
                analizador.generateGraph("ejemplo.txt");
                ServidorDB.AnalizadorXML.Ejecucion ejecutor = new ServidorDB.AnalizadorXML.Ejecucion(raiz, this);
                sistemaArchivos.basesdedatos = ejecutor.recorrerArbolMaestro(); // Recorre el archivo maestro y nos devuelve la lista de bases de datos;
            }
            imprimirSalida("Se han encontrado " + sistemaArchivos.basesdedatos.Count + " bases de datos.");
        }
示例#4
0
        private void runButton_Click(object sender, EventArgs e)
        {
            String contenidoArchivo = inputConsole.Text;

            Console.WriteLine("Texto encontrado --- \n" + contenidoArchivo);
            AnalizadorXML.Analizador   analizador = new AnalizadorXML.Analizador();
            AnalizadorXML.XMLGramatica gramatica  = new AnalizadorXML.XMLGramatica();
            //AnalizadorXML.analizador gramatica = new AnalizadorXML.analizador();
            ParseTree arbol     = analizador.generarArbol(contenidoArchivo, gramatica);
            string    respuesta = analizador.esCadenaValida(contenidoArchivo, gramatica);

            if (respuesta.Equals(""))
            {
                imprimirSalida("Archivo cargado correctamente.------------------------------------------------------------");
            }
            else
            {
                imprimirSalida("Archivo con errores. Verificar Archivo.------------------------------------------------------------");
                imprimirSalida(respuesta);
            }
        }
示例#5
0
        public void ejecutar(String comandos)
        {
            outputConsola.Text = "";
            Form1.Mensajes     = new List <string>();;
            Form1.errores      = new List <Error>();
            Form1.comandos     = comandos;
            GramaticaSDBCompleta gramatica = new GramaticaSDBCompleta();
            LanguageData         lenguaje1 = new LanguageData(gramatica);
            Parser    par    = new Parser(lenguaje1);
            ParseTree arbol1 = par.Parse(comandos);

            if (arbol1.Root != null)
            {
                //Interprete interprete = new Interprete(arbol1.Root.ChildNodes[0]);
                //interprete.guardarMetodos(arbol1.Root.ChildNodes[0]);
            }

            GramaticaSDB grammar  = new GramaticaSDB();
            LanguageData lenguaje = new LanguageData(grammar);
            Parser       p        = new Parser(lenguaje);
            ParseTree    arbol    = p.Parse(inputConsole.Text);

            AnalizadorXML.Analizador analizador = new AnalizadorXML.Analizador();
            if (arbol.Root != null)
            {
                imprimirSalida("Salida...");
                //analizador.Genarbol(arbol.Root);
                //analizador.generateGraph2("Ejemplo.txt");
                i = new Interprete(arbol.Root.ChildNodes[0], arbol1.Root.ChildNodes[0]);
                Resultado result = i.ejecutar(arbol.Root.ChildNodes[0]);
                //imprimirSalida(result.valor+"");
            }
            else
            {
                imprimirSalida(getErrores(arbol));
            }
            mostrarMensajes();
            //mostrarErrores();
        }